0

次のように画像を追加すると、ImageButton が押されたことを示す方法:

        Drawable testPic = getResources().getDrawable(R.drawable.test_pic);

        button.setImageDrawable( testPic ); 

そして、画像だけが存在するように背景を透明にします:

button.setBackgroundColor(Color.TRANSPARENT); 

そのため、画像ボタンを押しても、ボタンが押されていることがわかりません。その画像が押されたときに強調表示されるか、何かが欲しいです。

また、すべてのボタンはコードによって動的に作成され、どの画像になるか、ボタンがいくつあるかわかりません。

アイデアはありますか?

ありがとう。

4

3 に答える 3

2

セレクターを使用して、を含むUI要素のさまざまな外観をすべて選択する必要がありますImageButton

最初に来るのは、state_Pressed=true押したときにどのように見えるかを意味します。その後、ボタンの通常の状態であるレギュラーが来ます。

于 2012-05-07T07:22:07.777 に答える
1

そのために状態リストを使用する必要があると思います...

于 2012-05-07T07:21:53.000 に答える
0

実行時にイメージを変更する必要があります。これらは、xml ファイルを使用して実現できます。

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="false" android:drawable="@drawable/category_listing_bg_img" /> 
<item android:state_pressed="true"   android:drawable="@drawable/category_listing_bg_img_pressed" /> 
</selector>

この xml を描画可能なフォルダーにコピーします。

于 2012-05-07T07:24:48.333 に答える