Привет, я создаю дизайн домашней приборной панели в моем приложении с помощью cardviews, проблема в том, что в api 21 (Android 5.1) cardview не отображается. Я попытался включить аппаратное ускорение в манифест Android, но все еще не работает. Вот мой код:
<?xml version = "1.0" encoding = "utf-8"?>
<RelativeLayout 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:background = "#f2f9ff"
tools:context = ".activity.MainActivity">
<ImageView
android:id = "@+id/imageView"
android:layout_width = "385dp"
android:layout_height = "273dp"
android:scaleType = "centerCrop"
app:srcCompat = "@drawable/header_img"
tools:layout_editor_absoluteX = "0dp"
tools:layout_editor_absoluteY = "0dp" />
<ImageView
android:id = "@+id/imageView2"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:layout_centerHorizontal = "true"
android:layout_marginTop = "29dp"
app:srcCompat = "@drawable/ukssssssss"
tools:layout_editor_absoluteX = "142dp"
tools:layout_editor_absoluteY = "93dp" />
<TextView
android:id = "@+id/textView"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:layout_below = "@+id/imageView2"
android:layout_centerHorizontal = "true"
android:text = "UKS TK CENDEKIA HARAPAN"
android:textColor = "#fff"
tools:layout_editor_absoluteX = "102dp"
tools:layout_editor_absoluteY = "193dp" />
<GridLayout
android:id = "@+id/mainGrid"
android:layout_width = "383dp"
android:layout_height = "293dp"
android:layout_alignParentEnd = "true"
android:layout_alignParentRight = "true"
android:layout_below = "@+id/textView3"
android:layout_marginTop = "35dp"
android:layout_weight = "8"
android:alignmentMode = "alignMargins"
android:columnCount = "2"
android:padding = "14dp"
android:rowCount = "2"
tools:layout_editor_absoluteX = "1dp"
tools:layout_editor_absoluteY = "239dp">
<android.support.v7.widget.CardView
android:layout_width = "0dp"
android:layout_height = "0dp"
android:layout_columnWeight = "1"
android:layout_marginBottom = "16dp"
android:layout_marginLeft = "16dp"
android:layout_marginRight = "16dp"
android:layout_rowWeight = "1"
app:cardCornerRadius = "8dp"
app:cardElevation = "8dp">
<LinearLayout
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:layout_gravity = "center_horizontal|center_vertical"
android:layout_margin = "16dp"
android:orientation = "vertical">
<ImageView
android:layout_width = "125dp"
android:layout_height = "55dp"
android:layout_gravity = "center_horizontal"
android:src = "@drawable/medicalrecord"
/>
<TextView
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:text = "Medical Record"
android:textColor = "@android:color/black"
android:textSize = "12sp"
android:textStyle = "bold" />
</LinearLayout>
</android.support.v7.widget.CardView>
<android.support.v7.widget.CardView
android:layout_width = "0dp"
android:layout_height = "0dp"
android:layout_columnWeight = "1"
android:layout_marginBottom = "16dp"
android:layout_marginLeft = "16dp"
android:layout_marginRight = "16dp"
android:layout_rowWeight = "1"
app:cardCornerRadius = "8dp"
app:cardElevation = "8dp">
<LinearLayout
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:layout_gravity = "center_horizontal|center_vertical"
android:layout_margin = "16dp"
android:orientation = "vertical">
<ImageView
android:layout_width = "125dp"
android:layout_height = "55dp"
android:layout_gravity = "center_horizontal"
android:src = "@drawable/plant" />
<TextView
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:text = "Nusantara Plants"
android:textColor = "@android:color/black"
android:textSize = "12sp"
android:textStyle = "bold" />
</LinearLayout>
</android.support.v7.widget.CardView>
<android.support.v7.widget.CardView
android:layout_width = "0dp"
android:layout_height = "0dp"
android:layout_columnWeight = "1"
android:layout_marginBottom = "16dp"
android:layout_marginLeft = "16dp"
android:layout_marginRight = "16dp"
android:layout_rowWeight = "1"
app:cardCornerRadius = "8dp"
app:cardElevation = "8dp">
<LinearLayout
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:layout_gravity = "center_horizontal|center_vertical"
android:layout_margin = "16dp"
android:orientation = "vertical">
<ImageView
android:layout_width = "125dp"
android:layout_height = "55dp"
android:layout_gravity = "center_horizontal"
android:src = "@drawable/healingtherapy" />
<TextView
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:text = "Healing Therapy"
android:textColor = "@android:color/black"
android:textSize = "12sp"
android:textStyle = "bold" />
</LinearLayout>
</android.support.v7.widget.CardView>
<android.support.v7.widget.CardView
android:layout_width = "0dp"
android:layout_height = "0dp"
android:layout_columnWeight = "1"
android:layout_marginBottom = "16dp"
android:layout_marginLeft = "16dp"
android:layout_marginRight = "16dp"
android:layout_rowWeight = "1"
app:cardCornerRadius = "8dp"
app:cardElevation = "8dp">
<LinearLayout
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:layout_gravity = "center_horizontal|center_vertical"
android:layout_margin = "16dp"
android:orientation = "vertical">
<ImageView
android:layout_width = "125dp"
android:layout_height = "55dp"
android:layout_gravity = "center_horizontal"
android:src = "@drawable/calendaricon"
/>
<TextView
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:text = "What's Going On?"
android:textAlignment = "center"
android:textColor = "@android:color/black"
android:textSize = "12sp"
android:textStyle = "bold" />
</LinearLayout>
</android.support.v7.widget.CardView>
</GridLayout>
<TextView
android:id = "@+id/textView3"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:layout_below = "@+id/textView"
android:layout_centerHorizontal = "true"
android:layout_marginTop = "12dp"
android:text = "Indonesia Sehat"
android:textColor = "#fff"
android:textSize = "18sp"
android:textStyle = "bold" />
</RelativeLayout>
Пробовал на другой версии Android, но он работает, а также, когда в представлении дизайна я меняю его на api 21, он также показывает черный вид карты вместо белого. Вопрос о эта ссылка не решает мою проблему, они просят решить проблему повышения карты, а не отображение карты нет
пожалуйста, посмотрите мое редактирование, спасибо, и, кстати, это не решает мою проблему @VishvaDave
Что вы имеете в виду, говоря, что карта не отображается ... вы не можете видеть карту, если нет высоты ... она будет отображаться как нормальный макет ... так что в основном ваша карта работает, но тени нет, поэтому она выглядит как нормальная .. так что попробуйте это решение один раз
я добавил высоту в карточках @VishvaDave
см. мой ответ @TimothyDillan
Высота не будет работать менее чем за 21 api, поэтому необходимо добавить этот атрибут, упомянутый в ответе .. почему бы вам не попробовать его один раз и не увидеть результат ... также добавьте card_view: cardBackgroundColor = "@ color / white"




Чувак Ничего общего с твоим кодом, просто добавь библиотеку Gradle
Добавьте ниже библиотеку в свой Gradle (приложение):
implementation 'com.android.support:cardview-v7:26.1.+'
я сделал lel @MohammadAli
извини, я тебя не понял @TimothyDillan
Я реализовал это @MohammadAli
Смотрите в моем ответе, он дает мне результат успешно после добавления библиотеки
Ваш код содержит такие свойства CardView, которые совместимы с API 22 и выше. По этой причине CardView не может отображаться.
Это те свойства CarView.
android:layout_columnWeight = "1"
android:layout_rowWeight = "1"
Вы должны проверить эту часть.
так я должен его удалить? @ParthPatel
Не так, но можно попробовать по-другому.
каким еще способом я спрашиваю @ParthPatel
пытаться
используя android.support.v7.widget.GridLayout вместо GridLayout и измените
android:layout_columnWeight = "1"
android:layout_rowWeight = "1"
свойства внутри cardview к
app:layout_columnWeight = "1"
app:layout_rowWeight = "1"
поместите android: hardwareAccelerated = "false" в ManiFest
Эти два свойства будут отображаться, если CardView находится в GridLayout.
<GridLayout
android:layout_width = "match_parent"
android:layout_height = "match_parent"
android:rowCount = "3"
android:columnCount = "2"
android:alignmentMode = "alignMargins"
android:columnOrderPreserved = "false">
<android.support.v7.widget.CardView
android:layout_width = "match_parent"
android:layout_height = "match_parent"
android:elevation = "6dp"
app:cardCornerRadius = "6dp"
app:cardElevation = "6dp"
android:layout_columnWeight = "1"
android:layout_rowWeight = "1"
>
</android.support.v7.widget.CardView>
</GridLayout>
Сначала добавьте в файл сборки Gradle:
implementation 'com.android.support:gridlayout-v7:28.0.0'
Затем измените Макет сетки на androidx.gridlayout.widget.GridLayout
а некоторые требуемые должны быть изменены с андроид: на приложение:
Я столкнулся с подобной проблемой, и вот как я ее решил.
Шаг 1. Добавьте android.support.v7.widget.GridLayout в приложение gradle.
Шаг 2. Используйте android.support.v7.widget.GridLayout вместо GridLayout
Шаг 3. Измените следующие атрибуты в Gridlayout
android:alignmentMode = "alignMargins"
android:columnCount = "2"
android:rowCount = "2"
К:
app:alignmentMode = "alignMargins"
app:columnCount = "2"
app:rowCount = "2"
android:layout_rowWeight = "1"
android:layout_columnWeight = "1"
К:
app:layout_rowWeight = "1"
app:layout_columnWeight = "1"
Возможный дубликат Android CardView не работает на Api 21