Android 显示CardCornerRadius和CardElevation上的错误

Android 显示CardCornerRadius和CardElevation上的错误,android,android-studio,android-layout,android-cardview,Android,Android Studio,Android Layout,Android Cardview,我已将我的布局定义如下: 我在CardCornerRadius和CardElevation中遇到以下错误: Android资源链接失败 D:\AndroidStudioProjects\App\App\src\main\res\layout\activity\u main.xml:12: AAPT:错误:属性cardCornerRadius(又名 找不到com.ksaitarun.app:cardCornerRadius) D:\AndroidStudioProjects\App\App\s

我已将我的布局定义如下:


我在
CardCornerRadius
CardElevation
中遇到以下错误:

Android资源链接失败 D:\AndroidStudioProjects\App\App\src\main\res\layout\activity\u main.xml:12: AAPT:错误:属性cardCornerRadius(又名 找不到com.ksaitarun.app:cardCornerRadius)

D:\AndroidStudioProjects\App\App\src\main\res\layout\activity\u main.xml:12: AAPT:错误:属性cardElevation(又名 找不到com.ksaitarun.app:cardElevation)


我不认为这有什么问题,但可能会有帮助的是,对所有自定义属性使用一个名称空间。 在父容器中,您正在使用应用程序命名空间

xmlns:app="http://schemas.android.com/apk/res-auto"
因此,您需要在cardview属性中使用该名称空间。只需将card_view替换为app并删除CardView中的命名空间即可

<android.support.v7.widget.CardView
    android:id="@+id/card_view"
    android:layout_gravity="center"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_margin="32dp"
    app:cardCornerRadius="8dp"
    app:cardElevation="16dp">

我不认为有什么问题,但可能会有帮助的是对所有自定义属性使用一个名称空间。 在父容器中,您正在使用应用程序命名空间

xmlns:app="http://schemas.android.com/apk/res-auto"
因此,您需要在cardview属性中使用该名称空间。只需将card_view替换为app并删除CardView中的命名空间即可

<android.support.v7.widget.CardView
    android:id="@+id/card_view"
    android:layout_gravity="center"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_margin="32dp"
    app:cardCornerRadius="8dp"
    app:cardElevation="16dp">

确保已将此库添加到
build.gradle
文件中

implementation 'com.android.support:cardview-v7:28.0.0'
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support:design:28.0.0'

确保已将此库添加到
build.gradle
文件中

implementation 'com.android.support:cardview-v7:28.0.0'
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support:design:28.0.0'

将xml文件
card\u view:cardCornerRadius=“8dp”card\u view:cardElevation=“16dp”
中的代码替换为
app:cardCornerRadius=“8dp”app:cardElevation=“16dp”
,但它在android.support.v7.widget.CardView@ravikumar中抛出了一个错误。您是否已将CardView依赖项添加到应用程序build.gradle文件中?如果没有,请添加它
com.android.support:cardview-v7:28.0.0
@KanigantiSaiTarun发布您的构建。gradle pls将代码替换到xml文件
card\u view:cardCornerRadius=“8dp”card\u view:cardElevation=“16dp”
app:cardCornerRadius=“8dp”app:cardElevation=“16dp”
但它在android.support.v7.widget.cardwiew@ravikumar中抛出了一个错误。您是否已将cardwiew依赖项添加到您的app build.gradle文件中?如果没有,请添加它
com.android.support:cardwiew-v7:28.0.0
@KanigantiSaiTarun post your build.gradle pls但它在android.support.v7.widget.cardwiew中抛出了一个错误您确定添加了正确的依赖项吗?如果使用androidx组件添加依赖项androidx.cardview:cardview:1.0.0并使用androidx.cardview.widget.cardview,效果会更好。如果您迁移到具有依赖项com.google.android.material:material:1.1.0的material组件并使用com.google.android.material.card.materialCardViews,甚至更好,但它在android.support.v7.widget.cardViews中抛出了一个错误您确定添加了正确的依赖项吗?如果使用androidx组件添加依赖项androidx.cardview:cardview:1.0.0并使用androidx.cardview.widget.cardview,效果会更好。如果您使用依赖项com.google.android.material:material:1.1.0迁移到material组件并使用com.google.android.material.card.MaterialCardView,则效果更好