如果我像这样添加图像,如何显示ImageButton被按下:
Drawable testPic = getResources().getDrawable(R.drawable.test_pic);
button.setImageDrawable( testPic );
并制作透明背景,以便只有图像:
button.setBackgroundColor(Color.TRANSPARENT);
因此,当我按下图像按钮时,我看不到它被按下了。我希望在按下图像时会突出显示该图像。
此外,我的每个按钮都是由代码动态创建的,我不知道图像是什么以及有多少按钮。
那么任何想法?
感谢。
答案 0 :(得分:2)
您应该使用selector来选择UI元素的所有不同外观,包括ImageButton
。
首先出现state_Pressed=true
,这意味着按下后会是什么样子。之后是常规,这是按钮的正常状态。
答案 1 :(得分:1)
我认为你应该使用State List ......
答案 2 :(得分: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复制到可绘制文件夹