Cardview 未在 android studio 3.5.1 中显示
Cardview not displaying in android studio 3.5.1
我已经在较旧的 android studio 版本 3.3.1 上尝试了 CardView
库,并且代码可以正常工作。模拟器正在显示正确的图像。但是,我切换到新版本 3.5 CardView
中没有任何显示,甚至没有 TextView
。
xml代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="10dp"
android:background="#fcfcfc"
android:gravity="center"
android:id="@+id/LinearLayout1">
<!-- A CardView that contains a TextView -->
<android.support.v7.widget.CardView
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:id="@+id/card_view"
android:layout_gravity="center"
android:layout_width="200dp"
android:layout_height="200dp"
card_view:cardCornerRadius="4dp">
<TextView
android:id="@+id/info_text"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</android.support.v7.widget.CardView>
</LinearLayout>
Gradle:
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test:runner:1.2.0'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
implementation 'com.android.support:cardview-v7:28.0.0'
}
你应该使用
<androidx.cardview.widget.CardView //XML Section
添加AndroidX
依赖
implementation 'androidx.cardview:cardview:1.0.0'
您不能同时使用支持和 andriodx 库。
改变
implementation 'com.android.support:cardview-v7:28.0.0'
到
implementation 'androidx.cardview:cardview:1.0.0'
并在 layout/code 中使用 androidx.cardview.widget.CardView
。
CardView
还有另一个实现。
它包含在 Material Components Library
只需添加:
implementation 'com.google.android.material:material:1.1.0'
并且在您的 xml 中您可以使用:
<com.google.android.material.card.MaterialCardView
...>
它们是不同的:
MaterialCardView
扩展 androidx.cardview.widget.CardView
并提供 CardView 的所有功能,但添加了自定义笔划的属性并使用更新的 Material 默认样式。
我在 Android Studio 3.5.1 中遇到了同样的问题。它对我有用:
依赖项{
`def cardview_version = "1.0.0"
实施 "androidx.cardview:cardview:$cardview_version"
}
和xml:
我已经在较旧的 android studio 版本 3.3.1 上尝试了 CardView
库,并且代码可以正常工作。模拟器正在显示正确的图像。但是,我切换到新版本 3.5 CardView
中没有任何显示,甚至没有 TextView
。
xml代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="10dp"
android:background="#fcfcfc"
android:gravity="center"
android:id="@+id/LinearLayout1">
<!-- A CardView that contains a TextView -->
<android.support.v7.widget.CardView
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:id="@+id/card_view"
android:layout_gravity="center"
android:layout_width="200dp"
android:layout_height="200dp"
card_view:cardCornerRadius="4dp">
<TextView
android:id="@+id/info_text"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</android.support.v7.widget.CardView>
</LinearLayout>
Gradle:
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test:runner:1.2.0'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
implementation 'com.android.support:cardview-v7:28.0.0'
}
你应该使用
<androidx.cardview.widget.CardView //XML Section
添加AndroidX
依赖
implementation 'androidx.cardview:cardview:1.0.0'
您不能同时使用支持和 andriodx 库。
改变
implementation 'com.android.support:cardview-v7:28.0.0'
到
implementation 'androidx.cardview:cardview:1.0.0'
并在 layout/code 中使用 androidx.cardview.widget.CardView
。
CardView
还有另一个实现。
它包含在 Material Components Library
只需添加:
implementation 'com.google.android.material:material:1.1.0'
并且在您的 xml 中您可以使用:
<com.google.android.material.card.MaterialCardView
...>
它们是不同的:
MaterialCardView
扩展 androidx.cardview.widget.CardView
并提供 CardView 的所有功能,但添加了自定义笔划的属性并使用更新的 Material 默认样式。
我在 Android Studio 3.5.1 中遇到了同样的问题。它对我有用:
依赖项{
`def cardview_version = "1.0.0" 实施 "androidx.cardview:cardview:$cardview_version" }
和xml: