Как реализовать Gridlayout / cardview на API 22 и ниже? - PullRequest
1 голос
/ 17 марта 2020

Моя программа прекрасно работает на Api 23 и выше. но по какой-то причине, когда я запускаю его на более низком интерфейсе API [22 или ниже], он иногда отображает пустую страницу, а иногда и карточные просмотры повсюду.

вот некоторые скриншоты моей программы на API 16 и 23

Примечание: на скриншоте написано с ошибкой "Неизвестно". lol.

when I run it on api 16

api 23 and above

 <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:weightSum="10"
     tools:context=".MainActivity"
     android:background="#ffff">
  <RelativeLayout
      android:layout_width="match_parent"
      android:layout_height="0dp"
      android:layout_weight="1.5"
      android:layout_marginTop="0dp"
      >

   <TextView
       android:id="@+id/imageView"
       android:layout_width="match_parent"
       android:layout_height="match_parent"
       android:gravity="center"
       android:text="App Name goes here"
       android:autoSizeTextType="uniform"
       android:textStyle="bold"
       android:textColor="#fbe9e7"
       android:background="#B32EC1"
       android:padding="10dp"/>

  </RelativeLayout>


  <GridLayout
      android:columnCount="2"
      android:rowCount="3"
      android:alignmentMode="alignMargins"
      android:layout_width="match_parent"
      android:layout_height="0dp"
      android:layout_weight="8"
      android:padding="14dp"
      android:alpha="0.8">

   <!-- card view -->
   <androidx.cardview.widget.CardView
       android:id="@+id/pra"
       android:layout_width="0dp"
       android:layout_height="0dp"
       android:layout_rowWeight="1"
       android:layout_columnWeight="1"
       android:layout_marginLeft="16dp"
       android:layout_marginRight="16dp"
       android:layout_marginBottom="16dp"
       app:cardCornerRadius="8dp"
       app:cardMaxElevation="8dp"
       android:background="#ffff">

    <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">
     <TextView
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:text="Unkown"
         android:textAlignment="center"
         android:textSize="20sp"
         android:textColor="#000"
         android:textStyle="bold"
         />
     <ImageView
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:layout_gravity="center_horizontal"
         android:src="#ffff"/>
    </LinearLayout>
   </androidx.cardview.widget.CardView>


   <!--  card view -->
   <androidx.cardview.widget.CardView
       android:id="@+id/flash_card"
       android:layout_width="0dp"
       android:layout_height="0dp"
       android:layout_rowWeight="1"
       android:layout_columnWeight="1"
       android:layout_marginLeft="16dp"
       android:layout_marginRight="16dp"
       android:layout_marginBottom="16dp"
       app:cardCornerRadius="8dp"
       app:cardMaxElevation="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">

     <TextView
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:text="Unkown"
         android:textAlignment="center"
         android:textSize="20dp"
         android:textStyle="bold"
         android:textColor="#000"/>
     <ImageView
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:layout_gravity="center_horizontal"
         android:src="#ffff"/>
    </LinearLayout>
   </androidx.cardview.widget.CardView>

   <!--  card view-->
   <androidx.cardview.widget.CardView
       android:id="@+id/allInOne"
       android:layout_width="0dp"
       android:layout_height="0dp"
       android:layout_rowWeight="1"
       android:layout_columnWeight="1"
       android:layout_marginLeft="16dp"
       android:layout_marginRight="16dp"
       android:layout_marginBottom="16dp"
       app:cardCornerRadius="8dp"
       app:cardMaxElevation="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">
     <TextView
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:text="Unkown"
         android:textAlignment="center"
         android:textSize="20dp"
         android:textStyle="bold"
         android:textColor="#000"/>

     <ImageView
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:layout_gravity="center_horizontal"
         android:src="#fff"/>
    </LinearLayout>
   </androidx.cardview.widget.CardView>

   <!--card view -->
   <androidx.cardview.widget.CardView
       android:id="@+id/prog"
       android:layout_width="0dp"
       android:layout_height="0dp"
       android:layout_rowWeight="1"
       android:layout_columnWeight="1"
       android:layout_marginLeft="16dp"
       android:layout_marginRight="16dp"
       android:layout_marginBottom="16dp"
       app:cardCornerRadius="8dp"
       app:cardMaxElevation="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">
     <TextView
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:text="Unkown"
         android:textAlignment="center"
         android:textSize="20dp"
         android:textStyle="bold"
         android:textColor="#000"
         />

     <ImageView
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:layout_gravity="center_horizontal"
         android:src="#fff"/>
    </LinearLayout>
   </androidx.cardview.widget.CardView>


   <!--  card view -->
   <androidx.cardview.widget.CardView
       android:id="@+id/officials"
       android:layout_width="0dp"
       android:layout_height="0dp"
       android:layout_rowWeight="1"
       android:layout_columnWeight="1"
       android:layout_marginLeft="16dp"
       android:layout_marginRight="16dp"
       android:layout_marginBottom="16dp"
       app:cardCornerRadius="8dp"
       app:cardMaxElevation="8dp">

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_margin="16dp"
        android:orientation="vertical">
     <TextView
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:text="Unkown"
         android:textAlignment="center"
         android:textColor="#000"
         android:textSize="20dp"
         android:textStyle="bold" />

     <ImageView
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:layout_gravity="center_horizontal"
         android:src="#ffff"/>
    </LinearLayout>
   </androidx.cardview.widget.CardView>


   <!--  card view -->
   <androidx.cardview.widget.CardView
       android:id="@+id/setting"
       android:layout_width="0dp"
       android:layout_height="0dp"
       android:layout_rowWeight="1"
       android:layout_columnWeight="1"
       android:layout_marginLeft="16dp"
       android:layout_marginRight="16dp"
       android:layout_marginBottom="16dp"
       app:cardCornerRadius="8dp"
       app:cardMaxElevation="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">

     <TextView
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:text="Unknown"
         android:textAlignment="center"
         android:textSize="20dp"
         android:textStyle="bold"
         android:textColor="#000" />
     <ImageView
         android:id="@+id/practice_tv"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:layout_gravity="center_horizontal"
         android:src="#ffff"/>

    </LinearLayout>
   </androidx.cardview.widget.CardView>


  </GridLayout>

 </LinearLayout>

...