在Android Studio编写代码时,使用MaterialCardView的项目无法正常运行怎么办?简简单单搞定它_莫韵乐与bug的奇妙冒险

司空昊阳
2023-12-01

在Android Studio编写代码时,使用MaterialCardView布局的项目闪退怎么办?简简单单搞定它

当我想用MaterialCardView去做一个好看的界面的时候,应用居然闪退了
经过我的仔细检查原来,我终于发现了一个神奇的地方

打开styles.xml之后,经过我的仔细检查原来我的项目默认的AppCompat主题是不支持MaterialCardView布局的
<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
    </style>

</resources>

接下来我们就解决它,在我们的styles.xml里面另外设定一个style,主题选用MaterialCardView就可以了

<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
    </style>
    
    <!--MaterialCardViewTheme -->
    <style name="MaterialCardViewTheme" parent="Theme.MaterialComponents.NoActionBar"/>

</resources>
当我们要使用到MaterialCardView布局的时候加入对应的Theme就可以正常使用了

如下列代码所示

	<com.google.android.material.card.MaterialCardView
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_margin="5dp"
    app:cardCornerRadius="4dp"
    android:theme="@style/MaterialCardViewTheme"/>
是不是很简单?赶快来试一试吧!

如果觉得还不错就点个赞,收藏一下,关注一下,感谢您的观看

(不要白嫖,不要白嫖,不要白嫖)

 类似资料: