Возможно ли разработать дизайн Android (LinearLayout
или RelativeLayout
) без указания оператора dp
, px
или каких-либо других единицак? Может быть, использовать проценты? layout_weight
- вариант. Но все равно, что касается полей и прокладок? Можем ли мы полностью избежать магических чисел из макета?Избегайте номеров в макетах Android?
3
A
ответ
5
Существует Percent Support Library с PercentFrameLayout
и PercentRelativeLayout
, где вы можете задать любые размеры макета (т.е. размер, положение и отступы) с процентами вместо абсолютных значений:
<android.support.percent.PercentRelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
app:layout_widthPercent="50%"
app:layout_heightPercent="50%"
app:layout_marginTopPercent="25%"
app:layout_marginLeftPercent="25%"/>
</android.support.percent.PercentRelativeLayout>
3
Вы всегда можете определить и использовать dimension
переменную удалить магическое число из макетов, то есть:
<ImageView
layout_width="@dimen/large_photo_size"
layout_height="@dimen/large_photo_size"
/>
Где @dimen/large_photo_size
определяется внутри файла, т.е. dimens.xml
ресурсов:
<resources>
<dimen name="large_photo_size">25dp</dimen>
</resources>
Еще одна альтернатива будет извлекать настройки ширины и высоты в стили т.е .:
<style name="Thumbnail">
<item name="android:layout_width">25dp</item>
<item name="android:layout_height">25dp</item>
</style>
и использовать его, т.е. <ImageView style="@style/PopupMenu" ... />
С themes вы можете применить определенные стили в глобальном масштабе.
Смежные вопросы
- 1. Просмотров Android в макетах
- 2. Размер в макетах Android?
- 3. DAX: Избегайте суммирования повторяющихся номеров
- 4. Вопрос о макетах Android
- 5. Вопрос о макетах Android
- 6. Вопрос о макетах Android
- 7. атрибуты xmlns в макетах Android
- 8. Android Canvas в моих макетах?
- 9. Свертывание полей в макетах Android
- 10. Смешанные темы в Android-макетах
- 11. проведите анимацию в макетах: android
- 12. Android VideoView не отображается в разных макетах
- 13. Создание разделителей строк в макетах вкладки Android.
- 14. Android - В чем смысл контекста на макетах?
- 15. Android - Нужна помощь в макетах трюков
- 16. ANDROID: Использование библиотеки ShowcaseView в макетах ScrollView
- 17. Android: оставьте неиспользованные идентификаторы в макетах?
- 18. Интервал в пользовательских макетах
- 19. Альтернатива AbsoluteLayout в «многослойных» макетах
- 20. Android ActionBar PopupMenu с пользовательскими макетах Пункт
- 21. Android Изменение цвета фона на нескольких макетах
- 22. Избегайте повторения номеров версий javascript в файле манифеста Rails
- 23. Проблемы с размещением в макетах
- 24. Rendering проблемы в макетах
- 25. Вопрос в макетах
- 26. Отображение телефонных номеров в Android
- 27. Android поиск отсутствующих номеров
- 28. Избегайте подсветки подсветки в Android
- 29. Избегайте использования ресурсов.NotFoundException в Android
- 30. Избегайте двух экземпляров в android
Скажите, если я ошибаюсь, но я, как я знаю, Библиотека поддержки Percent была выпущена с API23, в устройствах pre-lollipop игнорируется. Если я прав, лучшая идея по-прежнему извлекает числа, такие как dimens, в xml-файлы, такие как styles.xml. – piotrek1543
@ piotrek1543 Он был выпущен с поддержкой библиотеки v23, но он также должен поддерживать старые версии Android. – Floern