где я должен сосредоточиться на поддержке всех 100% мобильных телефонов и планшетов, игнорируя независимо от их размера экрана или плотности? - PullRequest
1 голос
/ 08 июня 2019

Я хочу поддерживать все 100% мобильные телефоны и планшеты и не хочу пропустить ни одного устройства или любую версию Android, но сделать это

, где я должен сосредоточиться на плотности экрана или размере экрана (разрешениях))?

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

Одна вещь, которую я до сих пор понимаю, это поддерживать все плотностимы должны предоставить графику всех плотностей в этих папках

drawable
drawable-ldpi
drawable-mdpi
drawable-hdpi
drawable-xhdpi
drawable-xxhdpi
drawable-xxxhdpi

я должен использовать dimens.xml во всех этих папках значений все время в каждом приложении для поддержки всех устройств?

values
values-small
values-large
values-xlarge
values-sw600dp
values-sw720dp
values-w600dp
values-w720dp
values-v11
values-v14
values-v15
values-v16
values-v21
values-sw820dp
values-w820dp

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

layout
layout-small
layout-large
layout-xlarge
layout-sw600dp
layout-sw720dp
layout-w600dp
layout-w720dp
layout-v11
layout-v14
layout-v15
layout-v16
layout-v21
layout-sw820dp
layout-w820dp

Каковы оптимальные методы или лучший подход для поддержки всех 100% devices?

Я много искал и нашел много. Поддержка нескольких экранов и руководства по плотности на официальном сайте разработчиков Androidи здесь о переполнении стека, и я все еще смущен, как и многие другие новички в области разработки Android и в поисках лучшего подхода сделать это профессионально.

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

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

1 Ответ

0 голосов
/ 08 июня 2019

Нет, вам не нужно добавлять каждую папку для каждой плотности.Android автоматически выбирает папку, ближайшую (наиболее похожую) к той, которую вы определили.Таким образом, даже если вы определяете только values.xml & values-sw600dp.xml, в устройствах шириной 900dp будут использоваться значения, определенные в values-ws600dp, а в устройствах шириной 500dp будет использоваться values.xml.(sw обозначает наименьшую ширину)

...