自定义按钮布局的状态选择器(即LinearLayout)

时间:2016-07-25 08:58:33

标签: android layout

我想知道是否可以根据状态构建具有不同外观的自定义按钮布局,因此它就像一个按钮。例如,带有ImageView和TextView的LinearLayout,具有这些状态。

  • 当按钮处于正常状态时,显示image_normal.png并以红色显示文字。

  • 按下 按钮时,显示image_pressed.png,背景为红色,文字为白色。

  • 当按钮禁用时,显示image_disabled.png并以灰色显示文字。

谢谢!

1 个答案:

答案 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>