Можно ли в Android определять константы в XML, которые меняются в зависимости от конфигурации

Я заинтересован в том, чтобы макеты XML в Android меняли размер в зависимости от горизонтального или портретного просмотра (и, возможно, других конфигураций позже).

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_alignParentBottom="true"
android:background="@drawable/stream_bg_1px_wide"
android:layout_height="150dip" >

В этом примере я просто хочу изменять размер 150dip в зависимости от в альбомной или портретной ориентации ничего больше не менять.

Я использую layout и layout-land, и я знаю, что могу повторить макет в каждой из этих папок, но из-за этого поддержание изменений в нем немного затруднительно. Когда я добавляю больше вариантов, основанных на плотности и размере экрана, ситуация становится только хуже.

Итак, я подумал, можно ли определить значение (константу) в XML-файле и ссылаться на него из моего макета, подобно тому, как цвета могут быть определенным

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="shopper_background"> #FFFFFF</color>
</resources>

по строкам ......

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <value name="footer_size" >150</value>
</resources>

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

спасибо за любую помощь

24
задан Mohit Deshpande 12 March 2011 в 21:00
поделиться