以编程方式设置AppCompatBackgroundTint

时间:2018-10-12 17:00:30

标签: android android-appcompat

我有一个TextView,我想设置其背景色。我的应用程序的minSDK19,因此我将AppCompatTextView与app:backgroundTint参数一起用于声明式设置色调。我想以编程方式更改色彩,但是setSupportBackgroundTintList()方法在库组外部无法访问。如何从“活动”中更改此值?

1 个答案:

答案 0 :(得分:3)

从androidx.appcompat.widget.AppCompatTextView的源代码中:

  

应通过

访问      

ViewCompat#setBackgroundTintList(android.view.View, ColorStateList)

所以,写这个:

AppCompatTextView textView = findViewById(R.id.your_text_view)
ColorStateList colorStateList = ContextCompat.getColorStateList(this, R.color.your_state_list);
ViewCompat.setBackgroundTintList(textView, colorStateList);