state_pressed が true なら押されている
state_focused が true ならフォーカスがあたっている
状態になりそれぞれのイメージを指定します
というわけで, XMLでボタンを変化させてみた
XMLリソース
<?xml version="1.0" encoding="UTF-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 押されたときの Button -->
<item android:drawable="@drawable/icon_pressed"
android:state_pressed="true" />
<!-- フォーカスがあたっているときの Button -->
<item android:drawable="@drawable/icon_focused"
android:state_focused="true" />
<!-- 通常時の Button -->
<item android:drawable="@drawable/icon" />
</selector>
んで、メインの方はただバックグラウンドに指定するだけ
XMLで指定してしまってもOK
サンプルプログラム
import android.app.Activity;
import android.os.Bundle;
import android.widget.Button;
public class ButtonXMLTest extends Activity {
Button button;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.buttonxmltest);
button = (Button) findViewById(R.id.Button);
button.setBackgroundResource(R.drawable.buttonxml);
}
}
プログラムを実行すると...
通常時
ボタンにフォーカスがあたったとき
ボタンが押されたとき
こんな感じ!
参考サイト
http://developer.android.com/intl/ja/resources/tutorials/views/hello-formstuff.html



0 件のコメント:
コメントを投稿