मैं मूल दृश्य से अपने बच्चे के दृश्य में कस्टम विशेषता के मूल्य को "कैस्केड" कैसे करूं?एक मूल दृश्य से एक बच्चे के दृश्य में एक कस्टम विशेषता का मूल्य कैस्केड?
<com.example.CustomLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
app:percent="35" >
<com.example.CustomView
android:id="@+id/customView1"
app:percent="how-to-get-app:percent-value-here???"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</com.example.CustomLayout>
यहाँ, CustomLayout
फैली LinearLayout
:
यह एक उदाहरण का उपयोग करते हुए समझाने के लिए सबसे आसान है। मैंने <declare-styleable>
तत्व का उपयोग कर attrs.xml
में एक कस्टम विशेषता "प्रतिशत" परिभाषित की है। जैसा कि आप देख सकते हैं, मैं XML में CustomLayout
के लिए प्रतिशत में 35 सेट करता हूं।
अब मैं उसी मान में CustomView
(जो View
तक फैलाता है) में पास करना चाहता है और जिसमें मैं CustomLayout
में शामिल होगा। मैं XML में ऐसा करने का कोई तरीका नहीं ढूंढ पा रहा हूं (हालांकि कोड में ऐसा करना आसान है)।
app:percent="@attr/percent"
app:percent="?attr/percent"
NumberFormatException
के साथ विफल
TypedArray#getInt()
पर
दोनों:
मैं निम्नलिखित की कोशिश की।
तो, इस काम को कैसे प्राप्त किया जाए इस पर कोई विचार है?
आप एक समाधान मिला? इसके अलावा किसी भी मौके से @ कॉमन्सवेयर क्या आपने कभी ऐसा कुछ करने की कोशिश की है? मैं इस काम को कैसे प्राप्त करें इस पर विचारों से बाहर हूं ... –
@ एंटोनियोई। नहीं, कभी रास्ता नहीं मिला। इसके बजाय जावा कोड में इसे समाप्त कर दिया। – curioustechizen
निराश है कि इसके लिए कोई जवाब नहीं है। – Everett