मैं एक TextView मैं अपने मेनू पृष्ठ का शीर्षक के रूप में उपयोग किया है ओवरराइड:एक TextView को शामिल करें और पाठ
<TextView
android:id="@+id/menuTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Menu"
android:textColor="@color/white"
android:textSize="25sp"
android:textStyle="bold" />
अब मैं एक ही रंग, आकार और में हर उप मेनू पर शैली के साथ एक TextView जरूरत है मेरी एप्लिकेशन। पूरे लेआउट व्यू को प्रत्येक लेआउट में चिपकाने की प्रतिलिपि बनाने के बजाय और प्रत्येक में टेक्स्ट को बदलने के बजाय मैंने सोचा कि मैं टेक्स्ट व्यू के साथ एक लेआउट बनाउंगा और इसे प्रत्येक उप मेनू दृश्य में शामिल कर सकता हूं, केवल टेक्स्ट को ओवरराइड कर सकता हूं।
मेरे कोड इस तरह दिखता है:
/layout/menutextview.xml:
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/menuTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/default"
android:textColor="@color/white"
android:textSize="25sp"
android:textStyle="bold" />
शामिल प्रत्येक लेआउट xml फ़ाइल पाठ विशेषता ओवरराइड करने के लिए कोशिश करता है में:
<include layout="@layout/menutextview" android:text="@string/menu" />
<include layout="@layout/menutextview" android:text="@string/settings" />
लेकिन डिफ़ॉल्ट पाठ हर जगह प्रदर्शित होता है। किसी के पास समस्या क्या हो सकती है?
सादर, मैटिस
यह सबसे आसान और मुख्य-अनुकूल-अनुकूल समाधान है जिसका उपयोग आप इस समस्या के लिए कर सकते हैं। –
क्या कोई कस्टम फ़ील्ड नहीं है जहां मैं xml से कोड में जो कुछ भी चाहता हूं उसे पास कर सकता हूं? इस तरह: <लेआउट = "@ लेआउट/मेन्यूटक्स्टव्यू" एंड्रॉइड शामिल करें: कस्टम = "@ स्ट्रिंग/मेनू" /> फिर कोड में मैं जा सकता हूं ((टेक्स्ट व्यू) findViewById (R.id.menuTextView))। SetText (getCustom ()); – Mattias
मैं आपके जैसा ही चाहता था, और प्रलेखन के अनुसार, आप केवल लेआउट (और आईडी) विशेषताओं को ओवरराइड कर सकते हैं। – viplezer