在新的 AppCompat 库中,我们可以这样为按钮着色:
<Button android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/follow" android:id="@+id/button_follow" android:backgroundTint="@color/blue_100" />
如何在我的代码中以编程方式设置按钮的色调?我基本上是在尝试根据一些用户输入来实现按钮的条件着色。
根据文档,相关方法android:backgroundTint是setBackgroundTintList(ColorStateList list)
android:backgroundTint
更新
按照此链接了解如何创建颜色状态列表资源。
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android" > <item android:color="#your_color_here" /> </selector>
然后使用加载它
setBackgroundTintList(contextInstance.getResources().getColorStateList(R.color.your_xml_name));
contextInstancea 的实例在哪里Context
contextInstance
Context
使用 AppCompart
btnTag.setSupportButtonTintList(ContextCompat.getColorStateList(Activity.this, R.color.colorPrimary));