无法在芯片中添加图标

Posted

技术标签:

【中文标题】无法在芯片中添加图标【英文标题】:Cannot add icon in a Chip 【发布时间】:2018-12-18 12:01:12 【问题描述】:

我已成功在我的应用程序中的ChipGroup 中实现了 3 个Chip,但我无法让左侧的图标出现。

<android.support.design.chip.ChipGroup
    android:id="@+id/chip_group"
    android:layout_
    android:layout_
    android:layout_gravity="center_horizontal"
    android:layout_marginTop="32dp"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/img_announcement_photo"
    app:singleLine="true"
    app:singleSelection="true">

    <android.support.design.chip.Chip
        android:id="@+id/chip_donate"
        style="@style/ChipStyle"
        android:checked="true"
        app:chipIcon="@drawable/ic_donate_black_24dp" />

    <android.support.design.chip.Chip
        android:id="@+id/chip_sell"
        style="@style/ChipStyle"
        app:chipIcon="@drawable/ic_sell_black_24dp" />

    <android.support.design.chip.Chip
        android:id="@+id/chip_trade"
        style="@style/ChipStyle"
        app:chipIcon="@drawable/ic_trade_black_24dp" />
</android.support.design.chip.ChipGroup>

但它没有显示。我也以编程方式尝试过,但没有成功。我还没有使用新的命名空间,而是使用旧的com.android.support:design:28.0.0-alpha3,因为我也在使用谷歌地图,而且androidx.* 还不支持它。

【问题讨论】:

什么是@style/ChipStyle? 【参考方案1】:

尝试将app:chipIconEnabled="true" 添加到您的芯片样式中。

【讨论】:

【参考方案2】:

实际上,由于 app:chipIconEnabled 已被弃用,它现在必须是 app:chipIconVisible="true"

【讨论】:

【参考方案3】:

如果您的样式 @style/ChipStyle 包含 style="@style/Widget.MaterialComponents.Chip.Choice"style="@style/Widget.MaterialComponents.Chip.Filter",图标不会显示。我不知道 Google 的理由是什么,但我认为这很愚蠢。

【讨论】:

以上是关于无法在芯片中添加图标的主要内容,如果未能解决你的问题,请参考以下文章

Angular 4 材料芯片占位符无法正常工作

图标素材设计工具:IconJar for Mac支持m1芯片

动态添加芯片到芯片组

MacOS(M1芯片 arm架构)下如何安装tensorflow

为啥keil官网下载芯片包解压后没有芯片

博通芯片怎么修改信道