如何在三种模式下更改按钮文字样式?

时间:2016-12-13 02:19:50

标签: android xml android-studio

我想在Android中完全更改我的按钮样式。我找到了更改按钮背景here的绝佳答案,但我无法弄清楚如何在同一文件中更改文本样式。

有人知道怎么做吗?

2 个答案:

答案 0 :(得分:1)

1.创建按钮

<Button
     android:id="@+id/button"
     android:background="@drawable/selector_xml_name"
     android:layout_width="100dp"
     android:layout_height="100dp"
     android:text="Hello" />

2.在drawable目录

中创建一个selector.xml

<item android:drawable="@drawable/your_button_is_selected" android:state_selected="true"></item>
<item android:drawable="@drawable/your_button_is_pressed" android:state_pressed="true"></item>
<item android:drawable="@drawable/your_button_in_default_state"></item>

your_button_is_selected,your_button_is_pressed,your_button_in_default_state are your custom xml files for each state that you want to change colors or etc.
  1. 将选择器xml链接到按钮 android:background="@drawable/selector_xml_name"
  2. 如果您没有颜色代码,请创建一个res res / values / colours.xml

    <?xml version="1.0" encoding="utf-8"?>
    <resources>
     <color name="white">#FFFFFF</color>
     <color name="yellow">#FFFF00</color>
     <color name="fuchsia">#FF00FF</color>
     <color name="red">#FF0000</color>
     <color name="silver">#C0C0C0</color>
     <color name="gray">#808080</color>
     <color name="olive">#808000</color>
     <color name="purple">#800080</color>
     <color name="maroon">#800000</color>
     <color name="aqua">#00FFFF</color>
     <color name="lime">#00FF00</color>
     <color name="teal">#008080</color>
     <color name="green">#008000</color>
     <color name="blue">#0000FF</color>
     <color name="navy">#000080</color>
     <color name="black">#000000</color>
    </resources>
    

答案 1 :(得分:0)

如果我理解正确,您希望为具有不同交互状态的按钮创建背景样式,以及相应响应的文本颜色。

您需要创建2个选择器,一个设置背景颜色,另一个设置字体颜色。

以下是执行此操作的一个非常基本的示例。有更多的步骤和更多的事情要做,但你应该知道所涉及的内容。

NSCalendarUnitSecond