Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/203.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 安卓材料芯片组件崩溃应用程序。无法膨胀xml_Android_Android Support Library_Material Components_Android Chips_Material Components Android - Fatal编程技术网

Android 安卓材料芯片组件崩溃应用程序。无法膨胀xml

Android 安卓材料芯片组件崩溃应用程序。无法膨胀xml,android,android-support-library,material-components,android-chips,material-components-android,Android,Android Support Library,Material Components,Android Chips,Material Components Android,已尝试使用两个支持库中的芯片组件 com.google.android.support:design:28.0.0-rc01和material com.google.android.material:material:1.0.0-rc01 StackTrace 布局 <com.google.android.material.chip.Chip android:id="@+id/chip" style="style/Widget.MaterialComponents.Chip

已尝试使用两个支持库中的芯片组件
com.google.android.support:design:28.0.0-rc01
和material
com.google.android.material:material:1.0.0-rc01

StackTrace

布局

<com.google.android.material.chip.Chip
    android:id="@+id/chip"
    style="style/Widget.MaterialComponents.Chip.Entry"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/account"
    app:closeIconEnabled="true" />`
`

最终找到了一个解决方案,即如何使用新材料芯片动态生成芯片

谷歌还没有提供任何关于芯片输入布局或如何制作类似gmail地址布局的文档。使用ChipDrawable不会提供片上删除操作选项,因为无法调用setOnCloseIconClickListener。我可以使用HorizontalScrollView、芯片组和EditText进行编辑

以下是我的代码示例:


将以下新主题属性添加到现有应用程序主题中:

<style name="Theme.MyApp" parent="Theme.AppCompat">

    <!-- Original AppCompat attributes. -->
    <item name="colorPrimary">@color/my_app_primary_color</item>
    <item name="colorPrimaryDark">@color/my_app_primary_dark_color</item>
    <item name="colorAccent">@color/my_app_accent_color</item>

    <!-- New MaterialComponents attributes. -->
    <item name="colorSecondary">?attr/colorPrimary</item>
    <item name="scrimBackground">@color/mtrl_scrim_color</item>
    <item name="textAppearanceHeadline1">@style/TextAppearance.MaterialComponents.Headline1</item>
    <item name="textAppearanceHeadline2">@style/TextAppearance.MaterialComponents.Headline2</item>
    <item name="textAppearanceHeadline3">@style/TextAppearance.MaterialComponents.Headline3</item>
    <item name="textAppearanceHeadline4">@style/TextAppearance.MaterialComponents.Headline4</item>
    <item name="textAppearanceHeadline5">@style/TextAppearance.MaterialComponents.Headline5</item>
    <item name="textAppearanceHeadline6">@style/TextAppearance.MaterialComponents.Headline6</item>
    <item name="textAppearanceSubtitle1">@style/TextAppearance.MaterialComponents.Subtitle1</item>
    <item name="textAppearanceSubtitle2">@style/TextAppearance.MaterialComponents.Subtitle2</item>
    <item name="textAppearanceBody1">@style/TextAppearance.MaterialComponents.Body1</item>
    <item name="textAppearanceBody2">@style/TextAppearance.MaterialComponents.Body2</item>
    <item name="textAppearanceCaption">@style/TextAppearance.MaterialComponents.Caption</item>
    <item name="textAppearanceButton">@style/TextAppearance.MaterialComponents.Button</item>
    <item name="textAppearanceOverline">@style/TextAppearance.MaterialComponents.Overline</item>

</style>

@颜色/我的应用程序主颜色
@颜色/我的应用程序主颜色深颜色
@颜色/我的应用程序\u口音\u颜色
?属性/颜色初级
@颜色/mtrl_scrim_颜色
@样式/文本外观。材料组件。标题1
@样式/文本外观。材料组件。标题2
@样式/文本外观。材料组件。标题3
@样式/文本外观。材料组件。标题4
@样式/文本外观。材料组件。标题5
@样式/文本外观。材料组件。标题6
@样式/文本外观。材质组件。副标题1
@样式/文本外观。材质组件。副标题2
@样式/文本外观.材料组件.车身1
@样式/文本外观.材料组件.车身2
@样式/文本外观.MaterialComponents.Caption
@样式/文本外观.MaterialComponents.Button
@样式/文本外观.材质组件.上划线
来源:

感谢@Paranoid42

更新您的应用程序主题以继承以下主题之一:

Theme.MaterialComponents
Theme.MaterialComponents.NoActionBar
Theme.MaterialComponents.Light
Theme.MaterialComponents.Light.NoActionBar
Theme.MaterialComponents.Light.DarkActionBar
例如:

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

注意:使用材质组件主题可启用自定义视图充气器

资料来源:

您只需在xml布局中添加@style/Theme.MaterialComponents.Light样式属性,如下所示:

<com.google.android.material.chip.Chip
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="chip"
android:theme="@style/Theme.MaterialComponents.Light"/>


您是否尝试过
实现'com.android.support:design:28.0.0-rc01'
是的,我尝试过。同样的问题检查我的回答你是否扩展了所提供的主题中的一个?Paranoid42谢谢你提供的信息。。事实上我没有那样做。检查后会回来。是的,最初这就是问题所在。。我用的是appcompat,当我使用芯片时,它会显示一个黑屏,但至少不会崩溃。我想知道为什么应用程序中的
com.google.android.material
小部件不会膨胀。这就是原因!省去了我好几个小时的挠头。上帝保佑你,在我的情况下,
val chip=new chip(context)
val chip=layoutInflater.from(context).inflate
都失败了,尽管我的主题是材料。这是因为我传递了错误的
上下文(应用程序上下文而不是活动上下文)。因此,我的材料主题尚未应用。谢谢!它就像一个符咒,不会更改应用程序主题属性。获取此组件上的样式需要应用程序主题为Theme.MaterialComponents(或其后代)。
<com.google.android.material.chip.Chip
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="chip"
android:theme="@style/Theme.MaterialComponents.Light"/>