Макет Gridlayout не работает правильно на некоторых android - PullRequest
0 голосов
/ 25 апреля 2020

Я работаю над grid-layout и разработал макет с 3 столбцами и 5 строками. Он отлично работает на большинстве андроидов, но некоторые пользователи моего приложения сообщили, что на их android он показывает очень уродливый макет. Я не могу понять, в чем проблема с интерфейсом. Он показывает мне 3 правильных столбца, но на некоторых моих пользователях android, grid-layout ячейки выходят за пределы экрана и не показывают еще 2 ячейки.

Я удалил код 5-й строки из-за ограничения символа 30 000

<GridLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:alignmentMode="alignMargins"
                    android:columnCount="3"
                    android:columnOrderPreserved="false"
                    android:rowCount="6">

                    <androidx.cardview.widget.CardView
                        android:id="@+id/numsection"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_rowWeight="1"
                        android:layout_columnWeight="1"
                        android:layout_margin="1dp"
                        android:onClick="verify"
                        app:cardElevation="5dp">


                        <LinearLayout
                            android:layout_width="match_parent"
                            android:layout_height="match_parent"
                            android:background="?selectableItemBackground"
                            android:gravity="center"
                            android:orientation="vertical"
                            android:paddingTop="15dp"
                            android:paddingBottom="5dp">


                            <ImageView
                                android:layout_width="50dp"
                                android:layout_height="50dp"
                                android:src="@mipmap/newsim" />

                            <TextView
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:fontFamily="@font/jameel"
                                android:text="نمبرملکیت"
                                android:textSize="20sp"
                                android:textStyle="bold" />

                        </LinearLayout>


                    </androidx.cardview.widget.CardView>

                    <androidx.cardview.widget.CardView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_rowWeight="1"
                        android:layout_columnWeight="1"
                        android:layout_margin="1dp"
                        android:onClick="cnic"
                        app:cardElevation="5dp">


                        <LinearLayout
                            android:layout_width="match_parent"
                            android:layout_height="match_parent"
                            android:background="?selectableItemBackground"
                            android:gravity="center"
                            android:orientation="vertical"
                            android:paddingTop="15dp"
                            android:paddingBottom="5dp">


                            <ImageView
                                android:layout_width="50dp"
                                android:layout_height="50dp"
                                android:src="@mipmap/newothersims" />

                            <TextView
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:fontFamily="@font/jameel"
                                android:text="ملحقہ نمبرز"
                                android:textSize="20sp"
                                android:textStyle="bold" />

                        </LinearLayout>


                    </androidx.cardview.widget.CardView>

                    <androidx.cardview.widget.CardView
                        android:id="@+id/emergencysection"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_rowWeight="1"
                        android:layout_columnWeight="1"
                        android:layout_margin="1dp"
                        android:onClick="random"
                        app:cardElevation="5dp">


                        <LinearLayout
                            android:layout_width="match_parent"
                            android:layout_height="match_parent"
                            android:background="?selectableItemBackground"
                            android:gravity="center"
                            android:orientation="vertical"
                            android:paddingTop="15dp"
                            android:paddingBottom="5dp">


                            <ImageView
                                android:layout_width="50dp"
                                android:layout_height="50dp"
                                android:src="@mipmap/newemergency" />

                            <TextView
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:fontFamily="@font/jameel"
                                android:text="ایمرجینسی"
                                android:textSize="20sp"
                                android:textStyle="bold" />

                        </LinearLayout>


                    </androidx.cardview.widget.CardView>

                    <androidx.cardview.widget.CardView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_rowWeight="1"
                        android:layout_columnWeight="1"
                        android:layout_margin="1dp"
                        android:onClick="drivingmenu"
                        app:cardElevation="5dp">


                        <LinearLayout
                            android:layout_width="match_parent"
                            android:layout_height="match_parent"
                            android:background="?selectableItemBackground"
                            android:gravity="center"
                            android:orientation="vertical"
                            android:paddingTop="15dp"
                            android:paddingBottom="5dp">


                            <ImageView
                                android:layout_width="50dp"
                                android:layout_height="50dp"
                                android:src="@mipmap/newdriving" />

                            <TextView
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:fontFamily="@font/jameel"
                                android:text="ڈرائیونگ لائسنس"
                                android:textSize="20sp"
                                android:textStyle="bold" />

                        </LinearLayout>


                    </androidx.cardview.widget.CardView>

                    <androidx.cardview.widget.CardView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_rowWeight="1"
                        android:layout_columnWeight="1"
                        android:layout_margin="1dp"
                        android:onClick="vehiclemenu"
                        app:cardElevation="5dp">


                        <LinearLayout
                            android:layout_width="match_parent"
                            android:layout_height="match_parent"
                            android:background="?selectableItemBackground"
                            android:gravity="center"
                            android:orientation="vertical"
                            android:paddingTop="15dp"
                            android:paddingBottom="5dp">


                            <ImageView
                                android:layout_width="50dp"
                                android:layout_height="50dp"
                                android:src="@mipmap/newvehicle" />

                            <TextView
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:fontFamily="@font/jameel"
                                android:text="ملکیت وہیکل"
                                android:textSize="20sp"
                                android:textStyle="bold" />

                        </LinearLayout>


                    </androidx.cardview.widget.CardView>

                    <androidx.cardview.widget.CardView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_rowWeight="1"
                        android:layout_columnWeight="1"
                        android:layout_margin="1dp"
                        android:onClick="idcardaddress"
                        app:cardElevation="5dp">


                        <LinearLayout
                            android:layout_width="match_parent"
                            android:layout_height="match_parent"
                            android:background="?selectableItemBackground"
                            android:gravity="center"
                            android:orientation="vertical"
                            android:paddingTop="15dp"
                            android:paddingBottom="5dp">


                            <ImageView
                                android:layout_width="50dp"
                                android:layout_height="50dp"
                                android:src="@mipmap/id" />

                            <TextView
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:fontFamily="@font/jameel"
                                android:text="آئیڈی انفارمیشن"
                                android:textSize="20sp"
                                android:textStyle="bold" />

                        </LinearLayout>


                    </androidx.cardview.widget.CardView>

                    <androidx.cardview.widget.CardView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_rowWeight="1"
                        android:layout_columnWeight="1"
                        android:layout_margin="1dp"
                        android:onClick="punjabland"
                        app:cardElevation="5dp">


                        <LinearLayout
                            android:layout_width="match_parent"
                            android:layout_height="match_parent"
                            android:background="?selectableItemBackground"
                            android:gravity="center"
                            android:orientation="vertical"
                            android:paddingTop="15dp"
                            android:paddingBottom="5dp">


                            <ImageView
                                android:layout_width="50dp"
                                android:layout_height="50dp"
                                android:src="@mipmap/newpunjabland" />

                            <TextView
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:fontFamily="@font/jameel"
                                android:text="پنجاب لینڈ"
                                android:textSize="20sp"
                                android:textStyle="bold" />

                        </LinearLayout>


                    </androidx.cardview.widget.CardView>

                    <androidx.cardview.widget.CardView
                        android:id="@+id/freshsection"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_rowWeight="1"
                        android:layout_columnWeight="1"
                        android:layout_margin="1dp"
                        android:onClick="newdata"
                        app:cardElevation="5dp">


                        <LinearLayout
                            android:layout_width="match_parent"
                            android:layout_height="match_parent"
                            android:background="?selectableItemBackground"
                            android:gravity="center"
                            android:orientation="vertical"
                            android:paddingTop="15dp"
                            android:paddingBottom="5dp">


                            <ImageView
                                android:layout_width="50dp"
                                android:layout_height="50dp"
                                android:src="@mipmap/newoffice" />

                            <TextView
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:fontFamily="@font/jameel"
                                android:text="فریش ڈیٹا"
                                android:textSize="20sp"
                                android:textStyle="bold" />

                        </LinearLayout>


                    </androidx.cardview.widget.CardView>

                    <androidx.cardview.widget.CardView
                        android:id="@+id/nadraclick"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_rowWeight="1"
                        android:layout_columnWeight="1"
                        android:layout_margin="1dp"
                        android:onClick="newdata"
                        app:cardElevation="5dp">


                        <LinearLayout
                            android:layout_width="match_parent"
                            android:layout_height="match_parent"
                            android:background="?selectableItemBackground"
                            android:gravity="center"
                            android:orientation="vertical"
                            android:paddingTop="15dp"
                            android:paddingBottom="5dp">


                            <ImageView
                                android:layout_width="50dp"
                                android:layout_height="50dp"
                                android:src="@mipmap/nadra" />

                            <TextView
                                android:id="@+id/activate"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:fontFamily="@font/jameel"
                                android:text="نادرا رجسٹریشن"
                                android:textSize="20sp"
                                android:textStyle="bold" />

                        </LinearLayout>


                    </androidx.cardview.widget.CardView>

                    <androidx.cardview.widget.CardView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_rowWeight="1"
                        android:layout_columnWeight="1"
                        android:layout_margin="1dp"
                        android:onClick="ip"
                        app:cardElevation="5dp">

                        <com.flyco.labelview.LabelView xmlns:lv="http://schemas.android.com/apk/res-auto"
                            android:id="@+id/iptag"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_gravity="left"
                            android:paddingLeft="1dp"
                            android:paddingRight="1dp"
                            lv:lv_background_color="#FF5722"
                            lv:lv_fill_triangle="true"
                            lv:lv_gravity="TOP_LEFT"
                            lv:lv_text="Global"
                            lv:lv_text_all_caps="false"
                            lv:lv_text_size="10sp" />


                        <LinearLayout
                            android:layout_width="match_parent"
                            android:layout_height="match_parent"
                            android:background="?selectableItemBackground"
                            android:gravity="center"
                            android:orientation="vertical"
                            android:paddingTop="15dp"
                            android:paddingBottom="5dp">


                            <ImageView
                                android:layout_width="50dp"
                                android:layout_height="50dp"
                                android:src="@mipmap/newip" />

                            <TextView
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:fontFamily="@font/jameel"
                                android:text="آئی پی انفارمیشن"
                                android:textSize="20sp"
                                android:textStyle="bold" />

                        </LinearLayout>


                    </androidx.cardview.widget.CardView>

                    <androidx.cardview.widget.CardView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_rowWeight="1"
                        android:layout_columnWeight="1"
                        android:layout_margin="1dp"
                        android:onClick="telenorblock"
                        app:cardElevation="5dp">

                        <com.flyco.labelview.LabelView xmlns:lv="http://schemas.android.com/apk/res-auto"
                            android:id="@+id/telenortag"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_gravity="left"
                            android:paddingLeft="1dp"
                            android:paddingRight="1dp"
                            lv:lv_background_color="#FF5722"
                            lv:lv_fill_triangle="true"
                            lv:lv_gravity="TOP_LEFT"
                            lv:lv_text="Global"
                            lv:lv_text_all_caps="false"
                            lv:lv_text_size="10sp" />


                        <LinearLayout
                            android:layout_width="match_parent"
                            android:layout_height="match_parent"
                            android:background="?selectableItemBackground"
                            android:gravity="center"
                            android:orientation="vertical"
                            android:paddingTop="15dp"
                            android:paddingBottom="5dp">


                            <ImageView
                                android:layout_width="50dp"
                                android:layout_height="50dp"
                                android:src="@mipmap/telenor" />

                            <TextView
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:fontFamily="@font/jameel"
                                android:text="ٹیلینارنمبربلاک"
                                android:textSize="20sp"
                                android:textStyle="bold" />

                        </LinearLayout>


                    </androidx.cardview.widget.CardView>

                    <androidx.cardview.widget.CardView
                        android:id="@+id/fbhacksection"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_rowWeight="1"
                        android:layout_columnWeight="1"
                        android:layout_margin="1dp"
                        android:onClick="FacebookHack"
                        app:cardElevation="5dp">

                        <com.flyco.labelview.LabelView xmlns:lv="http://schemas.android.com/apk/res-auto"
                            android:id="@+id/fbhacktag"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_gravity="left"
                            android:paddingLeft="1dp"
                            android:paddingRight="1dp"
                            lv:lv_background_color="#FF5722"
                            lv:lv_fill_triangle="true"
                            lv:lv_gravity="TOP_LEFT"
                            lv:lv_text="Global"
                            lv:lv_text_all_caps="false"
                            lv:lv_text_size="10sp" />


                        <LinearLayout
                            android:layout_width="match_parent"
                            android:layout_height="match_parent"
                            android:background="?selectableItemBackground"
                            android:gravity="center"
                            android:orientation="vertical"
                            android:paddingTop="15dp"
                            android:paddingBottom="5dp">


                            <ImageView
                                android:layout_width="50dp"
                                android:layout_height="50dp"
                                android:src="@mipmap/newhacking" />

                            <TextView
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:fontFamily="@font/jameel"
                                android:text="فیسبک ہیک"
                                android:textSize="20sp"
                                android:textStyle="bold" />

                        </LinearLayout>


                    </androidx.cardview.widget.CardView>


                </GridLayout>

Некоторые скриншоты

Актуальная компоновка

На некоторых android показан некрасивый интерфейс

1 Ответ

1 голос
/ 25 апреля 2020

Попробуйте это решение:

  1. создаст обзор повторного использования

                 <androidx.recyclerview.widget.RecyclerView
                 android:id="@+id/rc_txt_view"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
                 app:spanCount="3" />
    
  2. Мы создадим rowView

                    <androidx.cardview.widget.CardView
                    android:id="@+id/emergencysection"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_margin="1dp"
                    android:onClick="random"
                    app:cardElevation="5dp">
    
                    <LinearLayout
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:background="?selectableItemBackground"
                        android:gravity="center"
                        android:orientation="vertical"
                        android:paddingTop="15dp"
                        android:paddingBottom="5dp">
                        <ImageView
                            android:layout_width="50dp"
                            android:layout_height="50dp"
                            android:src="@mipmap/newemergency" />
                        <TextView
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:fontFamily="@font/jameel"
                            android:text="ایمرجینسی"
                            android:textSize="20sp"
                            android:textStyle="bold" />
                    </LinearLayout>
    
...