Android: поддержка нескольких экранов

Я пытаюсь сделать приложение в Android. Я хочу, чтобы он мог работать на нескольких телефонах разных размеров экрана, поэтому я изучил поддержку нескольких экранов для разработчиков и в соответствии с этим мне нужно создать 3 разных xml-файла для поддержки трех разных размеров экрана, а также 3 разных типа изображений Для каждого типа xml-файла. Но в блоге я получаю идею сделать это, используя текущий метод размера экрана. Поэтому я смущен тем, что должен делать. Средства, которые оптимизируются и повышают производительность. И какой из них будет более совершенным для поддержки всех типов экрана (кроме особо больших экранов)

Solutions Collecting From Web of "Android: поддержка нескольких экранов"

Определение высоты, ширины и других параметров в файле XML является лучшим вариантом, а не временем выполнения. Поскольку файлы XML работают как метаданные (носитель данных) для активности и избегают много путаницы, когда onCreate mothode в вызове. Кроме того, создайте различные папки для качества изображения (hdpi, xhdpi, ndpi, ldpi)

7-дюймовое устройство использует mhpi 10-дюймовые устройства используют hdpi и xhdpi. Во вкладках NEXUS используются hdpi и xhdpi независимо от их размера. Мобильные телефоны используют ldpi и ndpi.

Красота заключается в том, что устройство Android автоматически выбирает подходящий контент при его обнаружении, то есть макет и изображение. Если он не найден, он будет сначала искать другие папки Layout, например макет, который не найден в x-большой папке, тогда он будет искать в большом, а затем в среднем, маленьком, который один из них подходит лучше всего (если макет не найден в его Соответствующая папка).

Nexus создаст для вас много неприятностей. Чтобы проверить, как будет выглядеть ваш макет на разных устройствах, попробуйте использовать параметры, которые расскажут вам, как он будет выглядеть на этом устройстве с такой шириной высоты, присутствующей в макете Graphical (вид a).

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

См. Мой ответ

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

Если ваш дизайн одинаковый для всех размеров экранов, вы можете использовать dp и иметь только один xml для всех экранов. Но вы должны поддерживать иконки для всех экранов.

Я думаю, что это немного запутывает путь Дэвида Оганяна, но забыл что-то сказать … Всякий раз, когда вы можете, используйте стили в своих xx_layout, изображениях и т. Д., Поэтому у вас будет 1 файл layout.xml и 3 стиля внутри папок: значения, значения -малый, макет большой.

По крайней мере, для меня это менее запутанно, чем открытие 30 разных файлов макета.