gpt4 book ai didi

Android Material Chip 主题覆盖

转载 作者:行者123 更新时间:2023-12-03 23:50:10 27 4
gpt4 key购买 nike

我想定制一个 Material 芯片。

我认为这是如何做到的:

<style name="AppTheme" parent="Theme.MaterialComponents.NoActionBar">

.... lots more theme stuff here

<item name="chipStyle">@style/MaterialChips</item>
<item name="chipGroupStyle">@style/MaterialChips</item>
<item name="chipStandaloneStyle">@style/MaterialChips</item>
</style>

<style name="MaterialChips" parent="Widget.MaterialComponents.Chip.Choice">
<item name="chipBackgroundColor">@color/chips</item>
</style>

没有像 chipStyle 这样的标签影响芯片。但是如果我设置 app:chipBackgroundColor="@color/chips"在 xml 中它可以工作。

它也适用于其他事情,比如说 <item name="materialAlertDialogTheme">@style/AlertDialogTheme</item> .

Material 文档(如果你可以这样称呼的话)真的没有帮助。

最佳答案

您的应用主题是正确的。

默认样式 Chip 使用组件在应用程序主题中由 定义chipStyle attribute .

<style name="AppTheme" parent="Theme.MaterialComponents.DayNight">
<!-- Default style for chip component -->
<item name="chipStyle">@style/Widget.MaterialComponents.Chip.Action</item>
</style>

您可以使用例如自定义此样式:
<style name="AppTheme" parent="Theme.MaterialComponents.*">
<!-- Default value for chipStyle -->
<item name="chipStyle">@style/MaterialChips</item>
</style>

<style name="MaterialChips" parent="@style/Widget.MaterialComponents.Chip.Choice">
<!-- ... -->
<item name="chipBackgroundColor">@color/chips</item>
</style>

如果您指定 style布局中的属性,这种样式 覆盖 默认值。
        <com.google.android.material.chip.Chip
style="@style/Widget.MaterialComponents.Chip.Entry"
.../>

在这种情况下,芯片使用 Widget.MaterialComponents.Chip.Entry风格。

关于Android Material Chip 主题覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59146217/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com