CardView не отображается на устройстве Android (API 21 и ниже) - PullRequest
0 голосов
/ 05 июня 2018

Привет, я создаю дизайн домашней панели в моем приложении с карточками, проблема в том, что в API 21 (Android 5.1) карточка не отображается.Я попытался положить аппаратное ускорение в 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, он также показывает черный просмотр карты вместо белого.Вопрос на по этой ссылке не решает мою проблему, они просят решить вопрос повышения карты, а не просмотра карты не показ

Ответы [ 6 ]

0 голосов
/ 23 июля 2019

Сначала добавьте в файл сборки Gradle:

implementation 'com.android.support:gridlayout-v7:28.0.0'

Затем измените Схема сетки на androidx.gridlayout.widget.GridLayout, а некоторые необходимые должны быть изменены с android: на приложение:

0 голосов
/ 21 февраля 2019

Эти два свойства будут показаны, если 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>
0 голосов
/ 05 июня 2018

поставить android: hardwareAccelerated = "false" в MainFest

0 голосов
/ 05 июня 2018

попробуйте использовать android.support.v7.widget.GridLayout вместо GridLayout и измените свойства

android:layout_columnWeight="1"
android:layout_rowWeight="1"

внутри карты на

app:layout_columnWeight="1"
app:layout_rowWeight="1"
0 голосов
/ 05 июня 2018

Ваш код содержит такие свойства CardView, которые совместимы с API 22 и выше.По этой причине CardView не может отображаться.

Это те свойства CarView.

android:layout_columnWeight="1"
android:layout_rowWeight="1"

Вы должны проверить эту часть.

0 голосов
/ 05 июня 2018

Чувак Ничего общего с вашим кодом, просто добавьте библиотеку Gradle

Добавьте библиотеку ниже в вашем Gradle (приложение):

implementation 'com.android.support:cardview-v7:26.1.+'
  • Просто я скопирую ваш код ивставьте в мою Android Studio.После этого я добавлю вышеупомянутую библиотеку, и она даст мне следующий вывод:

enter image description here

...