我想知道是否可以根据状态构建具有不同外观的自定义按钮布局,因此它就像一个按钮。例如,带有ImageView和TextView的LinearLayout,具有这些状态。
当按钮处于正常状态时,显示image_normal.png
并以红色显示文字。
按下 按钮时,显示image_pressed.png
,背景为红色,文字为白色。
当按钮禁用时,显示image_disabled.png
并以灰色显示文字。
谢谢!
答案 0 :(得分:1)
任何视图都可以有任何背景,任何视图都可以点击,因此没有任何东西阻止您使用您描述的背景LinearLayout
。值得注意的是,您不需要LinearLayout
在文本旁边放置图像,您可以使用TextView
使用drawable[Left|Top|Right|Bottom]
属性在文本的任何一侧支持drawable的事实
如果您的问题与selector
drawable的语法有关,我会将您推荐给documentation。请注意,Android从上到下评估状态,因此请明智地选择顺序。当上述任何一项都不适用时,最后一项应为“默认”状态。对于您给出的示例,您可能会有类似
<selector>
<item android:state_pressed="true" android:drawable="..." />
<item android:state_enabled="true" android:drawable="..." />
<item android:drawable="..." /> <!-- disabled -->
</selector>