Android поддерживает несколько разрешений с несколькими папками макета

Теперь я поддерживаю несколько разрешений с несколькими папками макета. Я использую студию разработки Android и создал 3 разные папки.

layout
layout-large-port-1280x720
layout-normal-port-800x480 

и я тестировал на 800х480 и 1280х720. 480x800 работало хорошо, но 1280x720 следует за dp и пользовательским интерфейсом папки 800x480.

Я не знаю, почему это происходит со мной, и я не знаю, как решить эту проблему. Почему не работает и что делать?


person Fukkong    schedule 24.12.2013    source источник
comment
ребята, я знаю, что путь. Я просто хочу знать, как установить точное разрешение для xml. В моем случае 800x480 xml работает с разрешением 1280x720. Это проблема.   -  person Fukkong    schedule 24.12.2013


Ответы (3)


Для экрана разного размера ниже приведен список каталогов ресурсов в приложении, которое предоставляет различные макеты для разных размеров экрана и различные растровые изображения для экранов с малым, средним, высоким и сверхвысоким разрешением.

 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

 res/drawable-mdpi/my_icon.png        // bitmap for medium density
 res/drawable-hdpi/my_icon.png        // bitmap for high density
 res/drawable-xhdpi/my_icon.png       // bitmap for extra high density

Этот код в манифесте поддерживает все dpi.

   <supports-screens android:smallScreens="true" 
      android:normalScreens="true" 
      android:largeScreens="true"
      android:xlargeScreens="true"
      android:anyDensity="true" />
person Gorgeous_DroidVirus    schedule 24.12.2013
comment
Это просто «Как установить имя папки макета»: p - person Fukkong; 24.12.2013
comment
так что у вас есть решение для конкретной компоновки устройства. просто создайте values для разрешения 480x800 и values-sw720dp для разрешения 1280x720 и не нужно создавать папку с другим разрешением макета, просто создайте макет. хорошо работает. - person Gorgeous_DroidVirus; 25.12.2013

убедитесь, что вы указали соответствующие чертежи в drawable-xhdpi

Я не знаю, на каком основании вы создаете приложение. Но лучше не создавать макет для определенных размеров экрана. Вместо этого вы должны указать следующее:

layout-small-port для таких устройств, как Samsung Galaxy Y

layout-normal-port для таких устройств, как Galaxy S2

layout-large-port для таких устройств, как Nexus 7 с диагональю экрана 7 дюймов.

layout-xlarge-port для устройств размером более 7 дюймов.

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

person Akbar Sha Ebrahim    schedule 24.12.2013
comment
Это просто еще один способ поддержки различных разрешений. Я хочу установить xml в точном разрешении. - person Fukkong; 24.12.2013

Вы должны использовать:

res/layout/main_activity.xml           # For handsets (smaller than 480dp available width)
res/layout-sw480dp/main_activity.xml   # For phones (480dp wide and bigger)
res/layout-sw600dp/main_activity.xml   # For 7” tablets (600dp wide and bigger)
res/layout-sw720dp/main_activity.xml   # For 10” tablets (720dp wide and bigger)
person Brave    schedule 02.06.2014