android - 如何修改芯片的样式?

标签 android material-design material-components-android android-chips

我需要使用芯片制作以下 UI

enter image description here

我已经实现了芯片并使其可检查,但我不知道如何将它的样式更改为像图片一样

我改变了笔触颜色和背景颜色和笔触宽度

所以正常的芯片没有问题,我的问题是检查的芯片是蓝色的

任何人都可以建议吗?

最佳答案

只需为您的 Chip 使用自定义样式即可:

<com.google.android.material.chip.Chip
      style="@style/Colors_Widget.MaterialComponents.Chip.Choice"
      ..>

这种风格:
  <style name="Colors_Widget.MaterialComponents.Chip.Choice" parent="Widget.MaterialComponents.Chip.Choice">
    <item name="chipBackgroundColor">@color/color_choice_chip_background_color</item>
    <item name="chipStrokeColor">@color/color_choice_chip_strokecolor_selector</item>
    <item name="chipStrokeWidth">1dp</item>
    <item name="android:textColor">@color/color_choice_chip_text_color</item>
  </style>

chipBackgroundColor 是一个选择器。就像是:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
  <!-- 24% opacity -->
  <item android:alpha="0.24" android:color="@color/primaryLightColor" android:state_enabled="true" android:state_selected="true"/>
  <item android:alpha="0.24" android:color="@color/primaryLightColor" android:state_enabled="true" android:state_checked="true"/>
  <!-- 12% of 87% opacity -->
  <item android:alpha="0.10" android:color="#FFF" android:state_enabled="true"/>
  <item android:alpha="0.12" android:color="#FFF"/>
</selector>

chipStrokeColor android:textColor 选择器是这样的:
<selector xmlns:android="http://schemas.android.com/apk/res/android">

  <item android:color="@color/primaryLightColor" android:state_enabled="true" android:state_selected="true"/>
  <item android:color="@color/primaryLightColor" android:state_enabled="true" android:state_checked="true"/>
  <!-- 87% opacity. -->
  <item android:alpha="0.87" android:color="#C6CCCD" android:state_enabled="true"/>
  <!-- 38% of 87% opacity. -->
  <item android:alpha="0.33" android:color="#C6CCCD"/>

</selector>

最终结果:

enter image description here

关于android - 如何修改芯片的样式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55082324/

相关文章:

android - 两天后,Google Play 中的应用安装总数仍为 0+

android - 应与 QA 共享哪个版本以进行测试?签名发布 apk 或签名调试 apk?

JavaScript 切换 Material Design Lite 开关

android - 无法使用 Material 组件库设置按钮的背景颜色

android - 获取 TextInputLayout 中轮廓框的高度

android - MaterialComponents 主题警报对话框按钮

java - 具有动态 ListView 问题的静态 header

Android 动态多重微调器创建

android - 改变TabLayout中TextView的padding

android - 下划线、光标和提示在焦点上的 TextInputLayout 中的 TextInputEditText 处消失