不要在Android的材料组件芯片上显示选中的图标

时间:2018-08-08 13:42:38

标签: android material-design android-chips

编辑:我设法通过在styles.xml中设置以下属性来使其工作:

  <android.support.design.chip.Chip
                    android:id="@+id/chipFollowing"
                    style="@style/ChipCustomStyle" ...>

styles.xml

<style name="ChipCustomStyle" parent="Widget.MaterialComponents.Chip.Action">
    <item name="checkedIconEnabled">false</item>
    <item name="checkedIcon">@null</item>
</style>

如果有人遇到相同的WTF,请将其留在这里:)


原始问题:

我不想在芯片上显示选中的图标。我尝试设置

        app:checkedIcon="@null"
        app:checkedIconVisible="false"
都在Chip和ChipGroup元素中。它甚至不会编译:/

将其设置在Chip元素上时,我得到: 错误:找不到属性“ com.companyname.projectname:checkedIconVisible”。

这是我的Chip XML:

            <android.support.design.chip.Chip
                android:id="@+id/chipFollowing"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:checkable="true"
                android:clickable="true"
                android:focusable="true"
                android:textAppearance="@style/ChipFilledUncheckedText"
                app:checkedIcon="@null"
                app:checkedIconVisible="false"
                app:chipBackgroundColor="@color/bg_chip_state_list"
                app:chipText="@string/chip_following" />

我正在使用28支持库版本中的材料组件。我是否缺少明显的东西? :/

3 个答案:

答案 0 :(得分:3)

我设法通过在styles.xml中设置以下属性来使它起作用:

  <android.support.design.chip.Chip
                    android:id="@+id/chipFollowing"
                    style="@style/ChipCustomStyle" ...>

styles.xml

<style name="ChipCustomStyle" parent="Widget.MaterialComponents.Chip.Action">
    <item name="checkedIconEnabled">false</item>
    <item name="checkedIcon">@null</item>
</style>

答案 1 :(得分:3)

你可以只使用 setCheckable 和 setCheckedIconVisible

示例:

Microsoft.AspNetCore.Identity.dll

答案 2 :(得分:0)

将您的应用主题从Theme.AppCompat.更改为Theme.MaterialComponents.

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>

<style name="AppTheme" parent="Theme.MaterialComponents.Light.NoActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="chipIconTint">@color/colorAccent</item>
</style>