我有values:styles.xml
和:
<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
:
<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>
和应用程序风格
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:buttonStyle">@style/AppTheme.Button</item>
</style>
但颜色显示为灰色,而不是@color/my_color
发布于 2015-06-04 21:59:22
要自定义一个按钮,只需将android:theme="@style/AppTheme.Button“设置为您的按钮。
<Button
android:theme="@style/AppTheme.Button"
/>
定义你的风格,就像你在问题中做的那样
<style name="AppTheme.Button" parent="Base.Widget.AppCompat.Button">
<item name="colorButtonNormal">@color/my_color</item>
</style>
编辑
请参阅GitHub演示here
发布于 2015-12-30 02:45:24
使用Widget.AppCompat.Button.Colored
作为您的样式的父对象。
<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
:
<Button android:theme="@style/RedButton"/>
请参阅AppCompat v21 > Theming和Android Support Library v22.1 - AppCompat博客文章。(请注意,在第二篇文章中,android:theme
在API11上是受支持的--它只是不能从父类自动继承,你必须在每个子类上指定它,这不是一个问题,但值得一提的是-请参阅Chris Banes'上的那篇文章)。
发布于 2015-04-28 00:42:53
将下面的xml行放入您的"AppTheme“xml中,而不是尝试从"AppTheme.Button”设置它。这在非棒棒糖设备的v22.1.1上适用。我猜这是一个bug,因为你上面的解决方案在棒棒糖上工作得很好。
<item name="colorButtonNormal">@color/my_color</item>
https://stackoverflow.com/questions/29860906
复制相似问题