Theme.Material.Light 覆盖背景按钮颜色
Theme.Material.Light override background button color
如何覆盖 v21/v22 style.xml 中按钮背景颜色的默认值?
我制作了一个从 Honeycomb 到 Lollipop 兼容的应用程序,我想为 Lollipop 制作更好的样式,但我找不到如何覆盖按钮的默认背景颜色(对于 API在 21 之前)到透明(在 API>21 我使用 <item name="android:colorButtonNormal">color</item>
和 <item name="android:colorControlHighlight">color</item>
)
您可以在 v21 中像这样创建可绘制对象
?xml version="1.0" encoding="utf-8"?>
<!--drawable-v21/btn_fab_default.xml-->
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="@color/fab_color_shadow">
<item>
<shape android:shape="oval">
<solid android:color="@color/style_color_accent" />
</shape>
</item>
</ripple>
有关详细信息,请访问此 link
好的,它部分起作用了,我试着解释一下:
现在我在主 drawable 文件夹中有一个 buttons.xml 文件,在 drawable-v21 文件夹中有一个 buttons.xml 文件,一切正常。
主要layout.xml包含:
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
...
android:background="@drawable/buttons" />
现在我的目标是 "background: none" 仅针对 v21 及更高版本。
为什么?
因为如果我为 v21 按钮设置背景,我将无法使用样式效果
<item name="android:colorButtonNormal">color</item>
和<item name="android:colorControlHighlight">color</item>
我设置在values-v21\style.xml
如果我为我的 v21 按钮设置透明颜色,BackgroundTint 属性 对 Lollipop 没有影响 phone。
我不想只为棒棒糖设备做布局,我想找到更好的方法来解决这个问题。
如何覆盖 v21/v22 style.xml 中按钮背景颜色的默认值?
我制作了一个从 Honeycomb 到 Lollipop 兼容的应用程序,我想为 Lollipop 制作更好的样式,但我找不到如何覆盖按钮的默认背景颜色(对于 API在 21 之前)到透明(在 API>21 我使用 <item name="android:colorButtonNormal">color</item>
和 <item name="android:colorControlHighlight">color</item>
)
您可以在 v21 中像这样创建可绘制对象
?xml version="1.0" encoding="utf-8"?>
<!--drawable-v21/btn_fab_default.xml-->
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="@color/fab_color_shadow">
<item>
<shape android:shape="oval">
<solid android:color="@color/style_color_accent" />
</shape>
</item>
</ripple>
有关详细信息,请访问此 link
好的,它部分起作用了,我试着解释一下: 现在我在主 drawable 文件夹中有一个 buttons.xml 文件,在 drawable-v21 文件夹中有一个 buttons.xml 文件,一切正常。
主要layout.xml包含:
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
...
android:background="@drawable/buttons" />
现在我的目标是 "background: none" 仅针对 v21 及更高版本。
为什么?
因为如果我为 v21 按钮设置背景,我将无法使用样式效果
<item name="android:colorButtonNormal">color</item>
和<item name="android:colorControlHighlight">color</item>
我设置在values-v21\style.xml
如果我为我的 v21 按钮设置透明颜色,BackgroundTint 属性 对 Lollipop 没有影响 phone。
我不想只为棒棒糖设备做布局,我想找到更好的方法来解决这个问题。