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 件のコメント:
コメントを投稿