禁用视图后不更改其背景

问题描述 投票:0回答:1

in 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更改为禁用

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颜色不变。

在styles.xml中的

创建颜色选择器。

  <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>
android android-styles
1个回答
0
投票

创建颜色选择器。

© www.soinside.com 2019 - 2024. All rights reserved.