Android提升按钮文字颜色

时间:2017-03-23 12:09:09

标签: android button material-design android-appcompat

我试图设计我的应用主题。 我使用的是Android 7,AppCompat v24和Xamarin,但我认为后者并没有影响我面临的问题。

我尝试使用本指南设置按钮的样式: http://www.materialdoc.com/raised-button/

这是我的主题:

  <style name="MyTheme" parent="Theme.AppCompat.Light">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>

<item name="colorPrimary">@color/primary</item>
<item name="colorPrimaryDark">@color/primaryDark</item>
<item name="colorAccent">@color/accent</item>

<item name="alertDialogTheme">@style/MyAlertDialog</item>  

按钮样式:

<style name="MyButton" parent="Theme.AppCompat.Light">
<item name="colorControlHighlight">@color/primaryDark</item>
<item name="colorButtonNormal">@color/primary</item>

这是我的按钮:

<Button
        android:id="@+id/buttonStart"
        android:layout_width="180dp"
        android:layout_height="wrap_content"
        android:text="Start"
        android:padding="20dp"
        android:textSize="18dp"           
        android:theme="@style/MyButton"/>

问题是在链接中,当按钮设置样式时,文本颜色为白色,而在我的项目中它保持黑色。 如果我将android:textColor="@color/white"添加到我的按钮,我会得到白色文本,但它不再对启用禁用状态作出反应。该按钮在两种状态下看起来都相同,文本颜色不会变为浅灰色,就像在示例中一样。 我想得到与链接中描述的结果相同的结果。我错过了什么?谢谢!

1 个答案:

答案 0 :(得分:0)

在按钮样式中添加此行<item name="android:textColor">@android:color/white</item>

<style name="MyButton" parent="Theme.AppCompat.Light">
<item name="colorControlHighlight">@color/primaryDark</item>
<item name="colorButtonNormal">@color/primary</item>
<item name="android:textColor">@android:color/white</item>