我正在使用创建应用程序com.android.support:appcompat-v7:23.0.1
图书馆。
我在中定义应用程序主题values/styles.xml
:
<style name="BaseAppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">@color/primary</item>
<item name="colorPrimaryDark">@color/primary_dark</item>
<item name="colorAccent">@color/accent</item>
<item name="colorControlHighlight">@color/highlight_dark</item>
<item name="colorButtonNormal">@color/primary</item>
<item name="android:textColorPrimary">@color/primary_text</item>
<item name="android:textColorSecondary">@color/secondary_text</item>
</style>
<style name="AppTheme" parent="BaseAppTheme"></style>
我使用AppCompatWidget.AppCompat.Button.Colored
凸起按钮和的样式Widget.AppComap.Button.Borderless.Colored
平面按钮的样式。
colorAccent
theme 属性定义了凸起按钮背景颜色和平面按钮文本颜色,但我认为这是一个错误,因为这些颜色应该由colorButtonNormal
属性,就像它的作用一样Widget.AppCompat.Button
and Widget.AppComap.Button.Borderless
styles.
colorControlHighlight
主题属性定义ripple
两个按钮的颜色。
问题是:
- 如何使用不同颜色的凸起按钮?例如,我想要带有主色和强调色的按钮。
- 我的强调色不浅,所以凸起的按钮具有饱和的背景和
colorControlHighlight
应该是轻的(#40ffffff
)。但平面按钮有透明背景colorControlHighlight
应该是黑暗的(#40000000
) 为了它。如何设置不同ripple
凸起和平按钮的颜色?
我在下面添加了当前的解决方案,但我不禁觉得我错过了一些东西。
经过一些研究和谷歌搜索后,我为不同的凸起和平按钮定义了单独的主题:
<style name="AppTheme.RaisedButton">
<item name="buttonStyle">@style/Widget.AppCompat.Button.Colored</item>
</style>
<style name="AppTheme.RaisedButton.Primary">
<item name="colorAccent">@color/primary</item>
</style>
<style name="AppTheme.RaisedButton.Accent">
</style>
<style name="AppTheme.FlatButton">
<item name="buttonStyle">@style/Widget.AppCompat.Button.Borderless.Colored</item>
<item name="colorControlHighlight">@color/highlight_light</item>
</style>
<style name="AppTheme.FlatButton.Primary">
<item name="colorAccent">@color/primary</item>
</style>
<style name="AppTheme.FlatButton.Accent">
</style>
请注意,我正在使用buttonStyle
属性不android:buttonStyle
因为它不适用于棒棒糖之前的设备。
使用这些主题android:theme
属性:
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/my_button"
android:theme="@style/AppTheme.FlatButton.Primary" />
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)