android layout - هل من الممكن في الروبوت لتحديد الثوابت في XML التي تختلف مع التكوين




design examples (3)

أنا مهتم باستخدام تخطيطات 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 اعتمادًا على العرض الأفقي أو العمودي ، وليس تغيير أي شيء آخر.

أنا أستخدم التخطيط والأرض ، وأعرف أنه يمكنني تكرار التخطيط في كل من هذه المجلدات ، ولكن هذا يجعل الاحتفاظ بالتغييرات فيه شيء من الألم. عندما أقدم المزيد من المتغيرات على أساس كثافة الشاشة وحجمها ، فإن الأمر سيزداد سوءًا.

لذا ، تساءلت عما إذا كان من الممكن تحديد قيمة (ثابتة) في ملف 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>

ثم يمكنني فقط نسخ هذا الملف ، بقيم مختلفة ، في كل تهيئة.

شكرا على اي مساعدة


Answers

نعم فعلا. البعد هو عنصر مقبول في ملف المورد. لذلك خلق على سبيل المثال الدقة / القيم / dimension.xml ووضعها

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

نعم يمكنك القيام بذلك ، ونحن نفعل ذلك في كل مكان في الأندرويد نفسه :) فقط حدد ثوابتك في res / values ​​/، res / values-land / etc. للأبعاد ، استخدم العلامة وقم بالرجوع إليها باستخدام @ dimen / my_value في التخطيط.






android xml layout constants