android – 材质按钮颜色

我正在设计我的应用程序并想要设置按钮背景颜色并保持它们像材料一样.

我想要

设置按钮背景颜色

我做

1.

我为按钮创建样式,设置colorPrimary并设置按钮样式和colorButtonnormal.它有效.

style name="AppTheme.Button" parent="Widget.AppCompat.Button.Colored">
    <item name="android:textColor">@android:color/white</item>
    <item name="colorButtonnormal">@color/colorAccent</item>
</style>

...

<item name="android:buttonStyle">@style/AppTheme.Button</item>
<item name="colorButtonnormal">@color/colorAccent</item>

2.

但我想做一个不同颜色的按钮.我试图使用backgroundTint,但它不起作用.所以我创造风格:

<style name="AppTheme.Button.Wildberries" parent="Widget.AppCompat.Button.Colored">
    <item name="colorButtonnormal">@color/wildberries</item>
</style>

它适用于Android 4.x,但在Android 5.x按钮上仍然是colorAccent.

3.

我为按钮创建了style-v21:

<style name="AppTheme.Button.Wildberries" parent="@android:style/Widget.Material.Button">
    <item name="android:backgroundTint">@color/wildberries</item>
</style>

适用于Android Studio

适用于Android 4.x

但不适用于5.x.

4.

我也尝试使用AppCompat.Button:

<android.support.v7.widget.AppCompatButton
            xmlns:app="http://schemas.android.com/apk/res-auto"
            app:backgroundTint="@color/wildberries"

            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Перейти на сайт"
            android:id="@+id/WildBtn"
            android:textSize="14dp"
            android:textColor="@android:color/white"
            android:theme="@style/AppTheme.Button.Wildberries"
            android:stateListAnimator="@null" />

一无所获:

在Android 4.x设备按钮仍为紫色,5.x仍为绿色.

那么,在android 4.x和hihger上设置按钮背景颜色的方法是什么?

解决方法

只需通过设置属性“app:backgroundTint =”@ color / wildberries“来使用AppCompatButton,并确保您的活动扩展了AppCompatActivity. 我只是在我的项目中使用它.它在5.X和5.X之前就像一个魅力.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...