Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Can';t更改com.google.android.material.chip.chip更改按颜色_Android_Material Components Android_Material Components_Android Chips - Fatal编程技术网

Can';t更改com.google.android.material.chip.chip更改按颜色

Can';t更改com.google.android.material.chip.chip更改按颜色,android,material-components-android,material-components,android-chips,Android,Material Components Android,Material Components,Android Chips,我编程芯片(材料组件),使用setChipBackgroundColor更改芯片状态按颜色,但它有两种按颜色效果,我想删除默认的按灰色 我的自定义印刷机(#daecff) 默认印刷颜色(灰色) 谢谢 Chip-Chip=新芯片(上下文); chip.setText(名称); chip.setTextSize(TypedValue.COMPLEX\u UNIT\u SP,16); chip.setTextColor(ContextCompat.getColor(context,R.color.c

我编程芯片(材料组件),使用
setChipBackgroundColor
更改芯片状态按颜色,但它有两种按颜色效果,我想删除默认的按灰色

  • 我的自定义印刷机(#daecff)
  • 默认印刷颜色(灰色)
  • 谢谢

    Chip-Chip=新芯片(上下文);
    chip.setText(名称);
    chip.setTextSize(TypedValue.COMPLEX\u UNIT\u SP,16);
    chip.setTextColor(ContextCompat.getColor(context,R.color.chip_color));
    chip.setOnClickListener(onClickListener);
    chip.setChipStrokeColorResource(R.color.chip\u color);
    切屑。设置切屑行程宽度(5);
    chip.setChipBackgroundColor(
    ContextCompat.getColorStateList(context,R.color.bg_芯片)
    );
    

    您必须使用
    设置RippleColor
    方法:

    chip.setRippleColor(ContextCompat.getColorStateList(this,R.color.my_selector));
    
    比如:

    <selector xmlns:android="http://schemas.android.com/apk/res/android">    
      <item android:alpha="@dimen/mtrl_low_ripple_pressed_alpha" android:color="?attr/colorPrimary" android:state_pressed="true"/>
      <item android:alpha="@dimen/mtrl_low_ripple_focused_alpha" android:color="?attr/colorOnSurface" android:state_focused="true" android:state_hovered="true"/>
      <item android:alpha="@dimen/mtrl_low_ripple_focused_alpha" android:color="?attr/colorOnSurface" android:state_focused="true"/>
      <item android:alpha="@dimen/mtrl_low_ripple_hovered_alpha" android:color="?attr/colorOnSurface" android:state_hovered="true"/>
      <item android:alpha="@dimen/mtrl_low_ripple_default_alpha" android:color="?attr/colorOnSurface"/>
    </selector>
    

    您必须使用setRippleColor方法:

    chip.setRippleColor(ContextCompat.getColorStateList(this,R.color.my_selector));
    
    比如:

    <selector xmlns:android="http://schemas.android.com/apk/res/android">    
      <item android:alpha="@dimen/mtrl_low_ripple_pressed_alpha" android:color="?attr/colorPrimary" android:state_pressed="true"/>
      <item android:alpha="@dimen/mtrl_low_ripple_focused_alpha" android:color="?attr/colorOnSurface" android:state_focused="true" android:state_hovered="true"/>
      <item android:alpha="@dimen/mtrl_low_ripple_focused_alpha" android:color="?attr/colorOnSurface" android:state_focused="true"/>
      <item android:alpha="@dimen/mtrl_low_ripple_hovered_alpha" android:color="?attr/colorOnSurface" android:state_hovered="true"/>
      <item android:alpha="@dimen/mtrl_low_ripple_default_alpha" android:color="?attr/colorOnSurface"/>
    </selector>