Должен ли я создавать разные макеты (xml-файлы) для разных мобильных телефонов Android

Должен ли я создавать разные папки макетов для хранения моих файлов макета xml. Поддерживать мое приложение на разных размерах экрана?

Я разработал приложение, и при добавлении чертежей он автоматически создает разные размеры, такие как xdpi ldpi и более, но xml-файл макетов не создается автоматически для поддержки разных размеров экрана. я должен сделать это? А также я отредактирую файл манифеста для поддержки разных размеров с помощью тега с поддержкой. И это все? И будет ли он поддерживать мой пейзаж или портретный режим. Пожалуйста, подтвердите. Я новичок в разработке стека и Android.

Редактирование: я считаю, что разные файлы макета в разных папках .. будут просто копией друг друга, но только с изменением названия папки, показанной в коде

res/layout/my_layout.xml // layout for normal screen size ("default") res/layout-small/my_layout.xml // layout for small screen size res/layout-large/my_layout.xml // layout for large screen size res/layout-xlarge/my_layout.xml // layout for extra large screen size res/layout-xlarge-land/my_layout.xml // layout for extra large in landscape orientation 

Это мой XML-файл макета:

 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/content_main" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior" tools:showIn="@layout/app_bar_main" tools:context="com.example.root.meeransunday.MainActivity"> <Button android:id="@+id/button1" android:layout_width="200dp" android:layout_height="90dp" android:text="Send Mobile" android:drawableLeft="@mipmap/sms" android:layout_alignParentBottom="true" android:layout_marginRight="-1dp" android:layout_marginLeft="-3dp" android:layout_marginBottom="-4dp" android:onClick="message"/> <Button android:id="@+id/button2" android:layout_width="200dp" android:layout_height="90dp" android:text="QR Code" android:drawableLeft="@mipmap/qr" android:layout_marginLeft="190dp" android:layout_marginRight="-20dp" android:layout_marginBottom="-4dp" android:layout_alignParentBottom="true" android:onClick="scan" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="30dp" android:layout_centerHorizontal="true" android:text=" My Account Balance" android:textColor="#0D47A1" /> <TextView android:text="PKR 1527.87" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="40dp" android:layout_centerHorizontal="true" android:drawableLeft="@mipmap/money" android:textSize="35sp" android:id="@+id/textView2" /> </RelativeLayout> 1 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/content_main" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior" tools:showIn="@layout/app_bar_main" tools:context="com.example.root.meeransunday.MainActivity"> <Button android:id="@+id/button1" android:layout_width="200dp" android:layout_height="90dp" android:text="Send Mobile" android:drawableLeft="@mipmap/sms" android:layout_alignParentBottom="true" android:layout_marginRight="-1dp" android:layout_marginLeft="-3dp" android:layout_marginBottom="-4dp" android:onClick="message"/> <Button android:id="@+id/button2" android:layout_width="200dp" android:layout_height="90dp" android:text="QR Code" android:drawableLeft="@mipmap/qr" android:layout_marginLeft="190dp" android:layout_marginRight="-20dp" android:layout_marginBottom="-4dp" android:layout_alignParentBottom="true" android:onClick="scan" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="30dp" android:layout_centerHorizontal="true" android:text=" My Account Balance" android:textColor="#0D47A1" /> <TextView android:text="PKR 1527.87" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="40dp" android:layout_centerHorizontal="true" android:drawableLeft="@mipmap/money" android:textSize="35sp" android:id="@+id/textView2" /> </RelativeLayout> 

Файл манифеста:

 <supports-screens android:smallScreens="true" android:normalScreens="true" android:largeScreens="true" android:xlargeScreens="true" android:anyDensity="true" android:resizeable="true"/> 

Но он не работает на 4-дюймовом экране.

Если макет один и тот же, нет необходимости создавать несколько файлов макета, вы должны использовать разные размеры файлов, чтобы настроить размер ваших элементов.

Если вы хотите, чтобы ваше приложение выглядело иначе на устройстве hdpi, чем на xxxhdpi, или если у вас есть мобильная версия и версия планшета на экране, вы должны использовать несколько файлов макета.

Это должно быть полезно: https://developer.android.com/guide/practices/screens_support.html

Во всяком случае, я думаю, что вы должны использовать max 2 layouts xmls (1 для горизонтального просмотра, 1 для вертикального просмотра) для активности.

Фактически, создание разных макетов xml для разных устройств Android зависит от требований. Всегда полезно иметь только один xml-макет для всех типов устройств, чтобы избежать избыточного кода, но мы можем пойти на создание xml для всех типов устройств, у Android есть эта функция.

Не нужно создавать все макеты, если вы создаете приложение для телефона и планшета, тогда вы можете создать 2 макета. В противном случае создайте только эти 1. Портрет 2. Пейзаж