2014-06-16 7 views
10

किसी XML दस्तावेज़ में, dimens.xml से मान लोड करने और इसे नकारात्मक बनाने का कोई तरीका है? उदाहरण के लिए, अगर मेरे पास है:dimens.xml से लोड मान और इसे नकारात्मक बनाते हैं

<dimen name="x">20dp</dimen> 

इस तरह कुछ करने के लिए यह संभव है:

android:layout_marginRight="[email protected]/x" 

तो मैं में वास्तविक मिलती है:

android:layout_marginRight="-20dp" 

उत्तर

14

में संभव नहीं है यही कारण है कि मानक लेआउट एक्सएमएल। आप जावा में आयाम मान पुनर्प्राप्त कर सकते हैं, इसे -1 से गुणा करें, और इसे जावा में लागू करें।

यदि आप वास्तव में चाहते थे तो ViewGroup के अपने कस्टम उप-वर्ग में आप एक कस्टम विशेषता (उदा। yourapp:layout_negativeMarginRight) के रूप में भी कर सकते हैं। यह अधिक हो जाएगा प्रतीत होता है।


अद्यतन: यह अब data binding expressions के माध्यम से कुछ हद तक संभव है:

android:padding="@{0.75f * @dimen/icon}" 

यह मार्जिन या किसी अन्य लेआउट के लिए काम नहीं करता है एडाप्टर जो आप लागू कर सकते हैं बाध्यकारी की कमी के कारण जिम्मेदार बताते हैं। this bug देखें।

+0

Awh, ठीक है: पी त्वरित उत्तर के लिए धन्यवाद! – Velixo

संबंधित मुद्दे