我正在设计我的应用程序,并希望设置按钮背景颜色并保持它们的材质。
设置按钮背景颜色
我为按钮创建样式,设置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>
但我想做一个不同颜色的按钮。我尝试使用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
。
我为按钮创建了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
我还尝试使用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上设置按钮背景颜色的方法是什么?
答案 0 :(得分:7)
只需通过设置属性protected override void OnActionExecuting(ActionExecutingContext filterContext)
{
base.OnActionExecuting(filterContext);
// mycode executed and calling MyDomainObject ...
}
来使用AppCompatButton,并确保您的活动扩展了AppCompatActivity。
我只是在我的项目中使用它。它在5.X和5.X之前就像一个魅力。
答案 1 :(得分:0)
这个问题已经回答here。这应该回答你的问题。