我正在设计我的应用程序并想要设置按钮背景颜色并保持它们像材料一样.
我想要
设置按钮背景颜色
我做
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之前就像一个魅力.