【发布时间】:2015-12-09 03:02:33
【问题描述】:
我正在使用 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>
我使用 AppCompat Widget.AppCompat.Button.Colored 样式用于凸起按钮,Widget.AppComap.Button.Borderless.Colored 样式用于扁平按钮。
colorAccent 主题属性定义了凸起按钮背景颜色和平面按钮文本颜色,但我认为这是一个错误,因为这些颜色应该由 colorButtonNormal 属性定义,就像 Widget.AppCompat.Button 和 Widget.AppComap.Button.Borderless 样式一样。
colorControlHighlight 主题属性为两个按钮定义了ripple 颜色。
问题是:
- 如何使用不同颜色的凸起按钮?例如,我想要具有主色和强调色的按钮。
- 我的强调色不亮,所以凸起的按钮背景是饱和的,
colorControlHighlight应该是亮的 (#40ffffff)。但是平面按钮具有透明背景,colorControlHighlight应该是深色的 (#40000000)。如何为凸起和扁平按钮设置不同的ripple颜色?
我在下面添加了我当前的解决方案,但我不禁觉得我错过了一些东西。
【问题讨论】:
标签: android material-design android-appcompat