首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Widget.AppCompat.Button colorButtonNormal显示为灰色

Widget.AppCompat.Button colorButtonNormal显示为灰色
EN

Stack Overflow用户
提问于 2015-04-25 12:11:49
回答 10查看 54.1K关注 0票数 68

我有values:styles.xml和:

代码语言:javascript
运行
复制
<style name="AppTheme.Button" parent="Base.Widget.AppCompat.Button">
    <item name="colorButtonNormal">@color/my_color</item>
    <item name="android:textColor">@android:color/white</item>
</style>

和具有以下特性的values-v21:styles.xml

代码语言:javascript
运行
复制
<style name="AppTheme.Button" parent="Base.Widget.AppCompat.Button">
      <item name="android:colorButtonNormal">@color/my_color</item>
      <item name="android:textColor">@android:color/white</item>
</style>

和应用程序风格

代码语言:javascript
运行
复制
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
      <item name="android:buttonStyle">@style/AppTheme.Button</item>
</style>

但颜色显示为灰色,而不是@color/my_color

EN

回答 10

Stack Overflow用户

发布于 2015-06-04 21:59:22

要自定义一个按钮,只需将android:theme="@style/AppTheme.Button“设置为您的按钮。

代码语言:javascript
运行
复制
<Button
    android:theme="@style/AppTheme.Button"
    />

定义你的风格,就像你在问题中做的那样

代码语言:javascript
运行
复制
<style name="AppTheme.Button" parent="Base.Widget.AppCompat.Button">
    <item name="colorButtonNormal">@color/my_color</item>
</style>

编辑

请参阅GitHub演示here

票数 59
EN

Stack Overflow用户

发布于 2015-12-30 02:45:24

使用Widget.AppCompat.Button.Colored作为您的样式的父对象。

代码语言:javascript
运行
复制
<style name="RedButton" parent="Widget.AppCompat.Button.Colored">
    <item name="android:textColor">@color/white</item>
    <item name="colorButtonNormal">@color/red</item>
</style>

在按钮定义中使用android:theme,而不是style

代码语言:javascript
运行
复制
<Button android:theme="@style/RedButton"/>

请参阅AppCompat v21 > ThemingAndroid Support Library v22.1 - AppCompat博客文章。(请注意,在第二篇文章中,android:theme在API11上是受支持的--它只是不能从父类自动继承,你必须在每个子类上指定它,这不是一个问题,但值得一提的是-请参阅Chris Banes'上的那篇文章)。

票数 51
EN

Stack Overflow用户

发布于 2015-04-28 00:42:53

将下面的xml行放入您的"AppTheme“xml中,而不是尝试从"AppTheme.Button”设置它。这在非棒棒糖设备的v22.1.1上适用。我猜这是一个bug,因为你上面的解决方案在棒棒糖上工作得很好。

代码语言:javascript
运行
复制
<item name="colorButtonNormal">@color/my_color</item>
票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29860906

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档