我有一些不同背景和来源的图像按钮(大约15个)。我想以相同的方式更改所有这些的按下状态:添加颜色叠加。
有没有办法没有onTouchListern(我试过的所有例子都没有正常工作......)并且每个按钮没有单独的active-image和selector.xml,如:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/button_one_active" android:state_pressed="true"/>
<item android:drawable="@drawable/button_one"/>
</selector>
ImageButton(当前状态):
<ImageButton
android:id="@+id/button_one"
android:layout_width="53dp"
android:layout_height="53dp"
android:background="@drawable/button_one_background"
android:contentDescription="@string/button_one_description"
android:onClick="onButtonClick"
android:scaleType="fitCenter"
android:layout_alignTop="@+id/button_two"
android:layout_toRightOf="@+id/button_two" />
使用setImageResource
或setImageBitmap
答案 0 :(得分:1)
在java代码中,对于按钮的onClicklisteners,添加
button.setBackgroundResource(R.drawable.button_pressed_image);