Intereting Posts
Android XML Есть ли способ использовать пространство имен инструментов с пользовательскими атрибутами? Android – startActivityForResult сразу же запускает onActivityResult Существуют ли бесплатные библиотеки разбора PDF, которые работают в Android? Программирование различных макетов для разных версий в Android Загрузка кеша при автономном режиме в Android Webview Кнопка меню не отображается на экране 7 Как я могу управлять звуковыми томами в моем приложении Android? Android: отображение пользовательского диалога в центре контейнера Есть ли ограничение на количество файлов в каталоге на SD-карте? Использование Proguard для удаления неиспользуемых классов в библиотеке Google Play Services Transcode / Конвертировать видео в Mp4 на Android Android ImageView не соответствует_parent внутри FrameLayout ниже GingerBread Как запустить adb push как root? В чем преимущество использования SQLite, а не файла? NPE при раздувании макета (попытка вызвать виртуальный метод «boolean java.lang.String.equals (java.lang.Object)» в ссылке на нулевой объект)

Поддержка телефона и планшета для расстояния между кнопками в макете

У меня есть следующие макеты в моем проекте Android. Потому что я хочу поддерживать представление для разных устройств и вкладок для Android.

layout-large layout-normal layout-small layout-xlarge 

В приложении Gradle он был установлен с мин. 9-22.

Когда я тестирую на 5-дюймовых телефонах, 7-дюймовых планшетах и ​​телефонах размером менее 5 дюймов, я вижу 5-дюймовый телефон и 7-дюймовый планшет, он всегда использует «макет-большой», поэтому есть две кнопки, расположенные в центре экрана Горизонтально не дает правильного расстояния в планшете, он показывает с правильным интервалом в 5-дюймовом телефоне, как и ожидалось. Не могли бы вы посоветовать мне, как позаботиться о расположении кнопок в макете, чтобы поддерживать 5-дюймовый телефон и 7-дюймовый макет с одним макетом. Оглядываясь, есть так много предложений и много запутаться … Когда я посмотрел ссылку на андроид, ссылка разработчика Android не могла понять.

макета large.xml

  <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MyActivity" android:background="@drawable/bg"> <Button android:layout_width="70px" android:layout_height="70px" android:id="@+id/PlayPauseButton" android:onClick="doClick" android:layout_marginLeft="81dp" android:layout_marginStart="81dp" android:layout_marginBottom="169dp" android:layout_alignParentBottom="true" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" /> <Button android:layout_width="70px" android:layout_height="70px" android:id="@+id/StopButton" android:onClick="stopAudio" android:layout_alignTop="@+id/PlayPauseButton" android:layout_alignParentRight="true" android:layout_alignParentEnd="true" android:layout_marginRight="102dp" android:layout_marginEnd="102dp" /> </RelativeLayout> 

ОБНОВЛЕНО:

Я задаю свой вопрос еще более простым. У меня 3,2-дюймовый телефон, 4,2-дюймовый телефон, 4,3-дюймовый телефон, 4,5-дюймовый телефон, 5-дюймовый телефон и один 7-дюймовый планшет / я хочу поддерживать мое приложение во всех этих устройствах. Я установил min 9 max 22 в градле. Что мне теперь делать для создания папок «layout» и «drawable»? Я смущаюсь, видя ссылки на андроид и другие ссылки на форум. У меня есть Relative Layout во всех макетах, и он устанавливается с match_parent ширины и высоты. Должен ли я даже устанавливать статическую ширину и высоту здесь? – Стелла сейчас

Solutions Collecting From Web of "Поддержка телефона и планшета для расстояния между кнопками в макете"

Для разных макетов для разных размеров экрана попробуйте называть папку макета чем-то вроде layout-sw600dp вместо layout-large .

Не могли бы вы посоветовать мне, как позаботиться о расположении кнопок в макете, чтобы поддерживать 5-дюймовый телефон и 7-дюймовый макет с одним макетом.

Попробуйте объявить измерение ( <dimen name="dimenName">30dp</dimen> ) в values/dimens.xml и values-sw600dp/dimens.xml с соответствующими значениями и получить доступ к ним с помощью @dimen/dimenName в вашем макете.

Если вам нужна дополнительная помощь, разместите несколько снимков экрана. Вы также должны попытаться использовать dp единицы вместо px .

Согласно версии платформы только 6,8% устройств ниже API 4.0.3 и в соответствии с размерами экрана и плотностью только у 4,4% меньше экранов обычного размера.

  • Таким образом, вы можете УДАЛИТЬ layout-small и сделать minSdkVersion 14 .
  • Теперь вы можете начать использовать новую группу размеров для создания макетов, то есть sw<N>dp .

Как указано здесь

Причина, по которой проектирование для 7-дюймовых планшетов сложнее при использовании обобщенных групп размеров, состоит в том, что 7-дюймовый планшет технически находится в той же группе, что и 5-дюймовая телефонная трубка (большая группа). Хотя эти два устройства кажутся близко друг к другу по размеру , Объем пространства для пользовательского интерфейса приложения существенно отличается, как и стиль взаимодействия с пользователем.

Вам нужно определить разные макеты для 5 layout-sw600dp и 7 layout-sw600dp устройств, поэтому вы должны сделать макет для 7 "в папке layout-sw600dp и layout-sw600dp все в папке layout (если вы не делаете layout-sw720dp для 10-дюймовых планшетов).

Если вам по-прежнему нужен макет для 5-дюймовых устройств и <5 "устройств для разных целей, попробуйте сделать layout-large для 5-дюймовых устройств и просто layout для <5" устройств .

Вы должны сделать папку просто доступной, а затем поместить все изображение в это. Это общая папка для всех типов. Затем вы можете взять свою кнопку в относительном макете и установить центральную кнопку в центре по горизонтали = true и установить высоту и ширину с заполнением родительского поля и установить маржу слева и справа 20dp для установки в центре.