在styles.xml中
<style name="waitnessCallEnableStyle">
<item name="backgroundColor">@color/waitness_color</item>
</style>
在 res / colors / waitness_color.xml
中<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/circle_paint_dark" android:state_enabled="false" />
<item android:drawable="@drawable/circle_transparent" />
</selector>
在我的xml布局中:
<View
android:id="@+id/waitressCallViewCircle"
style="@style/waitnessCallEnableStyle"
android:layout_width="144dp"
android:layout_height="144dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
在活动中,我禁用了view
private lateinit var dataBinding: MainActivityBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
dataBinding =
DataBindingUtil.setContentView<MainActivityBinding>(this, R.layout.main_activity)
dataBinding.setHandler(this)
}
private fun setWaitressCallMakeMode() {
dataBinding.waitressCallContainer.isClickable = false
dataBinding.waitressCallContainer.isEnabled = false
dataBinding.executePendingBindings()
}
它不起作用。禁用Background
时,view
的颜色不会改变。
答案 0 :(得分:1)
实际上,您正在尝试将for (( i=0;i<=$(cat filename | wc -l);i++ ))
do
mkdir /PATH/$i
done
中的Drawable
设置为背景色,这是不正确的。尝试使用View
。
使用
background
代替
<item name="android:background">@color/waitness_color</item>
由于它是背景,因此将选择器从 res / color / 移到 res / drawable / 是很合逻辑的。另外,不要忘记将选择器重命名为<item name="backgroundColor">@color/waitness_color</item>
以符合特征。谢谢
答案 1 :(得分:0)
创建一个颜色选择器。
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="true" android:drawable="@drawable/ic_button_gradient"/>
<item android:state_enabled="false" android:drawable="@color/gray"/>
</selector>
样式:
<style name="YourStyle">
<item name="android:background">@color/your_color</item>
<item name="android:textColor">@android:color/black</item>
</style>