无法在芯片中添加图标
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 的理由是什么,但我认为这很愚蠢。
【讨论】:
以上是关于无法在芯片中添加图标的主要内容,如果未能解决你的问题,请参考以下文章
图标素材设计工具:IconJar for Mac支持m1芯片