android 材料Chip chipStrokeColor未应用于Chip Element

khbbv19g  于 2023-04-28  发布在  Android
关注(0)|答案(1)|浏览(133)

我正在使用“材料组件库”中的“材料芯片”:com.google.android.material:material:1.1.0我已经为Chips创建了自定义背景和状态列表的样式。属性chipStrokeColor没有应用到chips元素。即使是属性checkedIcon也不会显示在正在检查的chips上。
以下是Material Choice Chips的样式:

<style name="Spectre.Chips.Choice" parent="Widget.MaterialComponents.Chip.Choice">
        <item name="fontFamily">@font/catamaran_bold</item>
        <item name="chipCornerRadius">10dp</item>
        <item name="chipStrokeColor">@color/colorAccent</item>
        <item name="chipSurfaceColor">@color/iris_purple</item>
        <item name="chipBackgroundColor">@color/outlined_btn_state_list</item>
        <item name="android:textColor">@color/outlined_btn_txt_list</item>
        <item name="chipIconTint">@color/box_input_state_list</item>
        <item name="rippleColor">@color/iris_purple</item>
        <item name="checkedIcon">@drawable/ic_check_white_24dp</item>
        <item name="android:checkable">true</item>
        <item name="chipStartPadding">10dp</item>
        <item name="chipEndPadding">10dp</item>
    </style>

下面是Layout.xml中的Chip元素:

<com.google.android.material.chip.Chip
            style="@style/Spectre.Chips.Choice"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/_18_20" />

下面是设备上芯片的显示:

eqqqjvef

eqqqjvef1#

将父样式从Widget.MaterialComponents.Chip.Action更改为支持笔划颜色更改的Widget.MaterialComponents.Chip.Filter
更好的是-一起迁移到Widget.Material3.Chip.Filter
更多信息在这里。

相关问题