我的应用程序在各种屏幕上都有大量按钮。每个按钮都有一个背景图像和文本(因此ImageButton并不好)。我知道可以为按钮所处的不同状态(例如,按下而不是按下)设置多个版本的图像,可以将不同版本的图像放在选择器中,然后设置按钮的背景是选择器。但是,这意味着我需要为每个图像创建两个版本(我考虑的每个不同密度的时间为四个),因此膨胀我的apk的大小以及增加相当长的时间来生成重复的图像。
这是改变按钮外观的唯一方法:按下或不按下按钮(即将背景设置为链接到两个不同图像的选择器),还是有其他更简单的方法来改变外观一个按钮,比如指定按钮的一些内置属性(例如它的“黑暗”)?
答案 0 :(得分:0)
找到一种方法,通过将View
包裹在View
中,将FrameLayout
显示为FrameLayout
,为foreground
提供selector
可绘制的一个FrameLayout
由黑色透明色(按下状态)和完全透明色(默认状态)组成,然后在View
而不是{{1}}上设置点击监听器。在我的博客上更详细地写出来了:
http://adilatwork.blogspot.co.uk/2012/12/android-show-view-as-pressed-without.html