Я пытаюсь создать приложение, подходящее для любого экрана.Как поддерживать несколько экранов (разная кнопка расстояния в трех разных устройствах)
Я создал 4 различных типов компоновки (расположение - sw320dp, 480dp, 600dp, 720dp)
я в настоящее время иду на «шаг», и я начал создавать макет для устройств, которые находятся в пределах sw-720dp
того среднего для устройств от 10 "
Это activity_main.xml
файла:
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout
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:id="@+id/drawer_layout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:fitsSystemWindows="true"
tools:openDrawer="start">
<RelativeLayout
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<include layout="@layout/toolbar" />
<FrameLayout
android:layout_below="@+id/toolbar"
android:id="@+id/fragment_container"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:foreground="@drawable/shadow_toolbar"/>
</RelativeLayout>
<android.support.design.widget.NavigationView
android:id="@+id/nav_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
android:fitsSystemWindows="true"
app:headerLayout="@layout/nav_header_main"
app:menu="@menu/nav_body_main" />
</android.support.v4.widget.DrawerLayout>
Тогда я разработал макет фрагмента ... и добавила кнопку и кнопку плавающих действий, чтобы вставить себя в социальных ссылках s (facebook twitter и т. д.). С последним я дал размер в dp и все больше расстояний dp в одном из
Это код.
<?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"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingEnd="16dp"
android:paddingLeft="16dp"
android:paddingRight="16dp">
<Button
android:id="@+id/button_vai_assistenza"
android:layout_width="540dp"
android:layout_height="65dp"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:background="@drawable/custom_button"
android:text="INIZIA SUBITO!"
android:textColor="@drawable/custom_textcolor_button"
android:textSize="20dp" />
<TextView
android:id="@+id/textView_nome_app"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/imageView_logo"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:layout_marginTop="20dp"
android:text="Assistenza Copyworld"
android:textColor="#000000"
android:textSize="35dp"
android:textStyle="bold" />
<ImageView
android:id="@+id/imageView_logo"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:layout_marginTop="30dp"
android:src="@drawable/logo_nav_grande" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView_copyright_benv"
android:layout_alignStart="@+id/textView_copyright_benv"
android:layout_below="@+id/button_vai_assistenza"
android:layout_marginTop="122dp"
android:text="www.copyworld.it"
android:textSize="25dp" />
<RelativeLayout
android:id="@+id/RelativeLayout_social"
android:layout_width="wrap_content"
android:layout_height="95dp"
android:layout_below="@+id/textView2"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:layout_marginTop="12dp"
android:orientation="horizontal">
<android.support.design.widget.FloatingActionButton
android:id="@+id/float_social_facebook"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:adjustViewBounds="false"
android:src="@drawable/fb_icon_social"
app:backgroundTint="@drawable/custom_floating_action_button" />
<android.support.design.widget.FloatingActionButton
android:id="@+id/float_social_twitter"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_alignParentTop="true"
android:layout_marginLeft="20dp"
android:layout_toEndOf="@+id/float_social_facebook"
android:layout_toRightOf="@+id/float_social_facebook"
android:src="@drawable/tw_icon_social"
app:backgroundTint="@drawable/custom_floating_action_button" />
<android.support.design.widget.FloatingActionButton
android:id="@+id/float_social_linkedin"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_alignParentTop="true"
android:layout_marginLeft="20dp"
android:layout_toEndOf="@+id/float_social_twitter"
android:layout_toRightOf="@+id/float_social_twitter"
android:src="@drawable/li_icon_social"
app:backgroundTint="@drawable/custom_floating_action_button" />
<android.support.design.widget.FloatingActionButton
android:id="@+id/float_social_youtube"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_alignParentTop="true"
android:layout_marginLeft="20dp"
android:layout_toEndOf="@+id/float_social_linkedin"
android:layout_toRightOf="@+id/float_social_linkedin"
android:src="@drawable/yt_icon_social"
app:backgroundTint="@drawable/custom_floating_action_button" />
</RelativeLayout>
<TextView
android:id="@+id/textView_copyright_benv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:layout_marginBottom="22dp"
android:text="Copyright © 2016 Copyworld srl " />
</RelativeLayout>
я тогда запустил приложение на 3-таблетки у меня имеется .. (а именно вкладки Galaxy 2 10.1, вкладки галактики А и вкладку галактики E).
Как только приложение открыто на 3 устройства я заметил эту вещь «ненормальные» ...
«Социальные иконки» и TextView были на разных расстояниях между ними ... ( в частности, вкладки галактики 2 10.1 и вкладки Galaxy Tab E), в то время как значки Galaxy и значки TextView находятся на правильном расстоянии, как установлено в 'xml ...
Почему два устройства имеют расстояния не только от правильного устройства ?? (Два устройства имеют текст и видят значки на равных расстояниях, но отличаются от значков на вкладке Galaxy A)
Что касается других компонентов, таких как (изображение с изображением приложения и TextView с именем приложение) размеры и расстояния были соблюдены ...
Как сделать все, чтобы сделать все в «идеальном адаптируемом макете» на всех устройствах, каждый из которых не предполагает, чтобы пропорции и расстояния отличались друг от друга?
Я прочитал официальный путеводитель по этой теме, где он говорит о дпе, его расположение и т.д.
Я оставляю фотографии присоединенных 3 устройства.