切换到材料设计组件时,活动布局变为空白

问题描述

问题: 应用程式使用时没有问题

Theme.MaterialComponents.Light.NoActionBar

但是未在Layout中使用任何MDC元素,例如(TextInputLayout等)。

然后我将Editext替换为TextInputLayout,并将Button替换为Material Button。

现在问题来了。

当我运行我的应用程序时,我看到屏幕变黑了。只是纯白色。

我检查了布局问题。 我发现有7个警告和2个错误(渲染问题)。

渲染问题为-

    不支持
  1. Path.op()。 (这表明我多次刷新了布局。不起作用)

  2. java.awt.geom.IllegalPathStateException:缺少路径定义中的初始移动位置

这是我尝试过的-

  1. 降级我的MDC依赖项(how to solve render problem Path.op() not supported?
  2. 清理项目,重建并重新启动Android Studio

请帮助我解决这个奇怪的问题。 我想在我的项目中使用MDC。

谢谢。

解决方法

我建议您首先使用Bridge,然后根据您的需求设计逐渐覆盖父主题属性。

在AndroidManifest.xml

 android:theme="@style/MyMaterialTheme"

然后在style.xml下。它想要像

<style name="MyMaterialTheme" parent="Theme.MaterialComponents.Light.NoActionBar.Bridge">
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorPrimary</item>
    <item name="android:windowBackground">@color/white</item>

    <item name="toolbarStyle">@style/BlueToolbar</item>
</style>
   

尝试引荐referencereference

简单的解决方案是使您的主题扩展Bridge主题:)我希望这会有所帮助