Конфигурировать layout для того, чтобы он был responsivo согласно экрану в Android

Он хотел знать, как я могу делать для того, чтобы объекты одного layout привыкните в различные размер экранов мобильных телефонов или tablets.

Например:

Если я вооружаю рисунок для маленького экрана (Nexus S) видится хорошо на этом экране, но если я состязаюсь в Samsung s6, он оказывается совсем крошечным.

Какого способа я могу приспосабливать элементы, или какое свойство используется для того, чтобы они приспособились ко всем размерам экрана?

4
задан 30.12.2016, 16:50
3 ответа

Ты должен использовать свойство

android:layout_weight="Peso en la pantalla"

Где он говорит вес на экране, ты должен помещать абсолютную стоимость в связи с другими элементами, которые у тебя есть.

Пример, если у тебя есть два изображения (в горизонтальной LinearLayout) и ты хочешь, чтобы одна была больше, чем другой, помещаешь

 <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="0dp"
                    android:layout_weight="1"
android:orientation="horizontal"
                    >
                    <ImageView
                        android:layout_width="0dp"
                        android:layout_height="match_parent"
                        android:layout_weight="1"
                        "/>

                    <ImageView
                        android:layout_width="0dp"
                        android:layout_height="match_parent"
                        android:layout_weight="3"
                        />
                </LinearLayout>

Обрати внимание, что layout_width я оставляю это 0, потому что я не буду использовать это, я буду сосредотачиваться на весе на экране.

2
ответ дан 24.11.2019, 14:37
  • 1
    С этим примером layout podrí чтобы видеть той же формы в любом устройстве? – El Cóndor 17.03.2017, 02:43

Android выносит многообразный рисунок Layouts для различных размеров, также ты это можешь делать посредством использования песо однако твои изображения они уменьшатся на качество из-за сосредоточенности экрана, для того, чтобы элементы взяли размер согласно размеру Screen.

У Android есть способность, которой он присоединяет к себе элементы высокой плотности записи и re dimensionar они в маленькие размеры, но он произвел бы большую работу виртуальной машины, чтобы реализовывать этот процесс.

Чтобы размещать твои элементы deacuerdo в размер просто ты должен добавлять соответствующие каталоги также как и использование drawables, так как маленькое изображение теряет качество на экране с больше, сосредоточенность разрешения.

Каталоги:

res/layout/my_layout.xml              // layout para pantalla normal ("por defecto")
res/layout-large/my_layout.xml        // layout para pantalla grande
res/layout-xlarge/my_layout.xml       // layout para pantalla extra grande
res/layout-xlarge-land/my_layout.xml  // layout para pantalla extragrande en orientacion landscape

res/drawable-mdpi/graphic.png         // bitmap para densidad media
res/drawable-hdpi/graphic.png         // bitmap para densidad grande
res/drawable-xhdpi/graphic.png        // bitmap para densidad extra grande
res/drawable-xxhdpi/graphic.png       // bitmap para densidad extra extra grande

res/mipmap-mdpi/my_icon.png         // launcher icono para densidad media
res/mipmap-hdpi/my_icon.png         // launcher icono para densidad grande
res/mipmap-xhdpi/my_icon.png        // launcher icono para densidad extra grande
res/mipmap-xxhdpi/my_icon.png       // launcher icono para densidad extra extra grande
res/mipmap-xxxhdpi/my_icon.png      // launcher icono para densidad extra extra extra grande

Для большей информации у тебя есть документация Android: Многообразный Supporting Screens

2
ответ дан 24.11.2019, 14:37
  • 1
    Уже я прочитал documentació n, это папки mipmap- я это понимаю, потому что уже я это использовал для моего значка, но у меня есть 2 сомнения относительно других, 1er сомневайся: создав папки: layout, layout-large, layout-xlarge и layout-xlarge-land значит, что он создаст 4 повторенные версии my_layout.xml, но diseñ adas для различного tamañ или экрана? и 2-ое сомнение: что graphic.png, ссылается на пример изображения, использованного в my_layout? – El Cóndor 17.03.2017, 02:33
  • 2
    Ответ для твоих двух вопросов - Если – Max Sandoval 17.03.2017, 03:34

Я обычно использую LinearLayout и RelativeLayout для maquetear интерфейсы, используя стоимость dp и для текста sp, asegГєrate что всегда элементы estГ©n брошенные якорь левая сторона или правая сторона или другого элемента на экране, или используй свойство layout_weight.

0
ответ дан 24.11.2019, 14:37
  • 1
    ты мог бы предоставлять пример? – El Cóndor 17.03.2017, 02:18

Теги

Похожие вопросы