Правильная разметка полей в Android Studio

#java #android-studio

Вопрос:

Я в замешательстве, правильный ли мой код или нет, на данный момент, когда я запускаю свое приложение под Android версии 10, оно работает хорошо, это тот результат, который я хочу, и он отлично работает, когда я запускаю Результат

но проблема в том, что я не думаю, что если я запущу это приложение на другой версии Android, оно будет работать, или я думаю, что дизайн textviews и просмотр изображений будут разбросаны, так как, когда я попытался просмотреть дизайн XML, он выглядит так ViewInAndroidStudio

Я поместил его в Gridview. Это очень полезно для меня как новичка, android если кто-то может мне помочь.

Main.xml

 lt;?xml version="1.0" encoding="utf-8"?gt; lt;RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:orientation="horizontal" android:layout_width="match_parent" android:background="@color/background" android:layout_height="match_parent"gt;  lt;ImageView  android:layout_width="110dp"  android:layout_height="100dp"  app:srcCompat="@mipmap/ic_launcher"  android:id="@ id/imgFood"  android:layout_marginTop="10dp"  android:layout_marginBottom="10dp"  android:layout_alignParentTop="true"  android:layout_alignParentLeft="true"  android:layout_alignParentStart="true"  android:background="@drawable/round_outline"  /gt;  lt;ImageView  android:layout_width="110dp"  android:layout_height="100dp"  app:srcCompat="@mipmap/ic_launcher"  android:id="@ id/imgId"  android:layout_marginTop="10dp"  android:layout_marginBottom="10dp"  android:layout_alignLeft="@id/imgFood"  android:layout_marginLeft="100dp"  android:layout_alignParentTop="true"  android:layout_alignParentStart="true"  android:background="@drawable/round_outline"  /gt;  lt;TextView  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:id="@ id/txtCcText"  android:text="Cash Card number:"  android:textSize="13sp"  android:hint="Cash Card no."  android:textColor="@color/primary"  android:layout_toRightOf="@ id/imgId"  android:layout_alignParentRight="true"  android:layout_marginRight="17dp"  android:layout_marginLeft="-11dp"  android:layout_marginTop="10dp"  android:textStyle="bold|italic"/gt;  lt;TextView  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:id="@ id/txtName"  android:text="Cash Card number"  android:textSize="10sp"  android:textColor="@color/black"  android:layout_toRightOf="@ id/imgId"  android:textAlignment="center"  android:layout_alignParentRight="true"  android:layout_marginRight="17dp"  android:layout_marginLeft="5dp"  android:layout_marginTop="30dp"  android:textStyle="bold"  /gt;  lt;TextView  android:id="@ id/txtHHno"  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:layout_below="@ id/txtName"  android:layout_marginLeft="-11dp"  android:layout_alignParentRight="true"  android:layout_marginEnd="50dp"  android:text="Household number:"  android:textColor="@color/primary"  android:textSize="13sp"  android:textStyle="bold|italic"/gt;  lt;TextView  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:id="@ id/txtPrice"  android:text="HHNumber"  android:textSize="10sp"  android:layout_below="@ id/txtHHno"  android:textColor="@color/black"  android:layout_toRightOf="@ id/imgId"  android:textAlignment="center"  android:layout_alignParentRight="true"  android:layout_marginRight="17dp"  android:layout_marginLeft="5dp"  android:textStyle="bold"  /gt; lt;TextView  android:id="@ id/txtSeries"  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:layout_below="@ id/txtPrice"  android:layout_marginLeft="-11dp"  android:layout_alignParentRight="true"  android:layout_marginEnd="75dp"  android:text="Series number:"  android:textColor="@color/primary"  android:textSize="13sp"  android:textStyle="bold|italic"/gt;  lt;TextView  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:id="@ id/txtSeriesNumber"  android:text="SeriesNumber"  android:textSize="10sp"  android:layout_below="@ id/txtSeries"  android:textColor="@color/black"  android:layout_toRightOf="@ id/imgId"  android:textAlignment="center"  android:layout_alignParentRight="true"  android:layout_marginRight="17dp"  android:layout_marginLeft="5dp"  android:textStyle="bold"/gt; lt;/RelativeLayoutgt;  

GridView.xml

 lt;?xml version="1.0" encoding="utf-8"?gt; lt;RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@ id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/white" gt;  lt;com.google.android.material.appbar.AppBarLayout  android:layout_width="match_parent"  android:layout_height="wrap_content"  gt;  lt;androidx.appcompat.widget.Toolbar  android:id="@ id/mainToolbar"  android:layout_width="match_parent"  android:layout_height="?attr/actionBarSize"  android:background="@color/primary"  android:backgroundTint="@color/background"  app:liftOnScroll="true"/gt; lt;/com.google.android.material.appbar.AppBarLayoutgt;  lt;GridView  android:layout_marginTop="50dp"  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:id="@ id/gridView"  android:layout_alignParentTop="true"  android:layout_centerHorizontal="true"  android:columnWidth="300dp"  android:gravity="center"  android:numColumns="auto_fit" /gt; lt;/RelativeLayoutgt;  

Комментарии:

1. Я предлагаю вам использовать RecyclerView с ConstraintLayout или lazyColumn с jetpack compose.

2. @Vidyesh Churi Спасибо за ваш ответ, но есть ли способ просто использовать GridView? так как я уже использовал GridView

3. Возможно, два просмотра изображений с одним линейным отображением выполнят эту работу с распределением веса 1:1:2 соответственно.

4. @Vidyesh Churi Спасибо за ответ , но я понятия не имею, как это реализовать, пожалуйста

Ответ №1:

 lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"gt;  lt;ImageView  android:id="@ id/imgFood"  android:layout_width="110dp"  android:layout_height="100dp"  android:layout_margin="8dp"  android:scaleType="centerCrop"  app:srcCompat="@mipmap/ic_launcher" /gt;  lt;ImageView  android:id="@ id/imgId"  android:layout_width="110dp"  android:layout_height="100dp"  android:layout_margin="8dp"  android:scaleType="centerCrop"  app:srcCompat="@mipmap/ic_launcher" /gt;  lt;LinearLayout  android:layout_width="match_parent"  android:layout_height="wrap_content"  android:layout_marginTop="8dp"  android:gravity="center"  android:orientation="vertical"gt;   lt;TextView  android:id="@ id/txtCcText"  android:layout_width="match_parent"  android:layout_height="wrap_content"  android:hint="Cash Card no."  android:text="Cash Card number:"  android:textColor="@color/colorPrimary"  android:textSize="13sp"  android:textStyle="bold|italic" /gt;   lt;TextView  android:id="@ id/txtName"  android:layout_width="match_parent"  android:layout_height="wrap_content"  android:gravity="center"  android:text="1234-5678-9000-0000"  android:textAlignment="center"  android:textColor="@color/black"  android:textSize="10sp"  android:textStyle="bold" /gt;   lt;TextView  android:id="@ id/txtHHno"  android:layout_width="match_parent"  android:layout_height="wrap_content"  android:text="Household number:"  android:textColor="@color/colorPrimary"  android:textSize="13sp"  android:textStyle="bold|italic" /gt;   lt;TextView  android:id="@ id/txtPrice"  android:layout_width="match_parent"  android:layout_height="wrap_content"  android:gravity="center"  android:text="123-4567"  android:textAlignment="center"  android:textColor="@color/black"  android:textSize="10sp"  android:textStyle="bold" /gt;   lt;TextView  android:id="@ id/txtSeries"  android:layout_width="match_parent"  android:layout_height="wrap_content"  android:text="Series number:"  android:textColor="@color/colorPrimary"  android:textSize="13sp"  android:textStyle="bold|italic" /gt;   lt;TextView  android:id="@ id/txtSeriesNumber"  android:layout_width="match_parent"  android:layout_height="wrap_content"  android:gravity="center"  android:text="1234567890"  android:textAlignment="center"  android:textColor="@color/black"  android:textSize="10sp"  android:textStyle="bold" /gt; lt;/LinearLayoutgt;  

Комментарии:

1. Нет проблем — Карлджейд