Как изменять мои экраны в зависимости от размера экрана в android?

Хороший в настоящее время я разрабатываю app в android studio, но сфокусировался в способствовании тому, чтобы видели хорошо в мобильных телефонах, но пренебрег того, который видится хорошей хорошо в устройствах как таблетки или элементы, которые шире, чем мобильный телефон. Мне хотелось бы знать о, что способ я могу способствовать тому, чтобы я экраны уже это было расположение моих компонентов, изменитесь в зависимости от размеров устройства, в котором был установлен app.

5
задан 07.03.2017, 18:13
2 ответа

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

Каталоги для layouts:

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

Для случая tablets с Android 3.2 присоединились новые цензоры :

https://developer.android.com/guide/practices/screens_support.html#NewQualifiers

, Где ты можешь устанавливать различие, загрузив твой layout в зависимости от сосредоточенности пикселей, например:

res/layout/main_activity.xml           # para télefonos (mas pequeños que 600dp de ancho disponible)
res/layout-sw600dp/main_activity.xml   # For 7” tablets (600dp de ancho y mayores )
res/layout-sw720dp/main_activity.xml   # Para tablets de 10”  (720dp de ancho y mayores)

Относительно изображений, каталоги для изображений:

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

Для большего informaciГіn ты можешь проверять документацию:

Провидинг Ресоурсес in Android

Суппортинг Мультипле Screens


ты Можешь tambiГ©n обнаруживать, если твое устройство - tablet посредством mГ©todo предложенный Google:

public static boolean esTablet(Context context) {
        return (context.getResources().getConfiguration().screenLayout
                & Configuration.SCREENLAYOUT_SIZE_MASK)
                >= Configuration.SCREENLAYOUT_SIZE_LARGE;
    }

И на основании это загружает layout, который ты считал определенным внутри каталога res/layout, который содержал бы одну distribuciГіn элементов различно.

Груз этого layout, определенного для tablet realizarГ - в посредством mГ©todo setContentView(), загрузив твой Activity:

if(esTablet(getApplicationContext()){ //tablet
     setContentView(R.layout.mi_layout_tablet);
}else{ // telefono
     setContentView(R.layout.mi_layout);
}
7
ответ дан 24.11.2019, 12:35
  • 1
    Полностью договора, этой формы ты делаешь, что твой aplicació n будьте prá cticamente совместимый для всех видов устройств и tamañ вы – Joacer 16.11.2016, 13:24

То, что ты должен делать, состоит в том, чтобы создавать различные layouts в зависимости от tamaГ±o из устройства:

small Ресурсов для экранов tamaГ±o pequeГ±o. Нормальные

нормальных Ресурсов для экранов tamaГ±o. (Восток - tamaГ±o ссылки).

large больших Ресурсов для экранов tamaГ±o.

xlarge Ресурсов parapantallas tamaГ±o экстрабольшой.

, Если ты например хочешь создать один diseГ±o для tablets, ты должен создавать папку, которую назывались бы layout-large или layout-xlarge:

res/layout/my_layout.xml             
res/layout-small/my_layout.xml    
res/layout-large/my_layout.xml     
res/layout-xlarge/my_layout.xml    

я рекомендую Тебе читать эту себе documentaciГіn:

Суппортинг Мультипле Screens

Провидинг Ресоурсес

2
ответ дан 24.11.2019, 12:35