我正在使用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
颜色?
下面是我当前的解决方案,但我感觉可能还遗漏了什么。