मैं अपने ऐप में रिलेटिव लेआउट का व्यापक रूप से उपयोग करता हूं और सोचा था कि मुझे पता था कि उन्हें कैसे निर्दिष्ट किया जाए, लेकिन यह मुझे नुकसान पहुंचा है। मैं मूल रूप से 4 टेक्स्टव्यूज़ को दो पंक्तियों में दो पंक्तियों में रख रहा हूं जिनमें प्रत्येक लेबल और टेक्स्ट शामिल होगा।एंड्रॉइड layout_below काम नहीं कर रहा
जन्म:: 23 अगस्त 1810 मेसन कं, केंटकी
मृत्यु: 15 जुला 1865 सिनसिनाटी, हैमिल्टन कं, ओहियो
यह लेआउट के संबंधित भाग है:
यह कुछ ऐसा दिखाई देगा <TextView android:id="@+id/birth_lbl"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/given_layout"
android:layout_alignLeft="@+id/given_layout"
android:layout_marginTop="6dip"
style="@style/label"
android:text="@string/born"
/>
<TextView android:id="@+id/birth"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/birth_lbl"
android:layout_alignBaseline="@+id/birth_lbl"
android:layout_marginLeft="10dip"
android:layout_marginRight="6dip"
style="@style/main_text"
android:text="dd Mmm yy"
/>
<TextView android:id="@+id/death_lbl"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/birth"
android:layout_alignLeft="@+id/birth_lbl"
android:layout_marginTop="4dip"
style="@style/label"
android:text="@string/died"
/>
<TextView android:id="@+id/death"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/death_lbl"
android:layout_alignLeft="@+id/birth"
android:layout_alignBaseline="@+id/death_lbl"
android:layout_marginRight="6dip"
style="@style/main_text"
android:text="dd Mmm yy"
/>
किसी कारण से, यह जन्म रेखा के विचारों के ऊपर मृत्यु रेखा के विचार प्रदर्शित करता है! अगर मैं death_lbl व्यू के spec को 'layout_below = "@ + id/birth_lbl" के रूप में बदलता हूं, तो रेखाएं सही ढंग से स्थित होती हैं! हालांकि, "जन्म" दृश्य के लिए कई लाइनों को लपेटना संभव है, इसलिए मुझे वास्तव में "जन्म" के नीचे दूसरी पंक्ति को "जन्म_एलबीएल" की स्थिति में रखना होगा।
कोई भी इस व्यवहार के कारण को जानता है? यह एक्लिप्स में ग्राफिकल लेआउट एडिटर और एंड्रॉइड 4.0 चलाने वाले मेरे टैबलेट पर रनटाइम पर होता है।
'आईडी' घोषणा में '+' चिह्न 'आईडी' की पहली उपस्थिति पर ही उपयोग किया जाना चाहिए। आपके द्वारा उपयोग किए जाने वाले अतिरिक्त दृश्य देखने के लिए आपको पूर्ण लेआउट फ़ाइल को संपादित और पोस्ट करना चाहिए ('given_layout'?)।मैंने इसे एमुलेटर में करने की कोशिश की और मेरे लिए यह काम कर रहा है, लेकिन निश्चित रूप से मेरे पास अतिरिक्त 'given_layout' दृश्य नहीं है। – Luksprog
इसकी वजह से, जैसा कि स्लुकियन ने कहा था, आप यह भी नहीं जानते कि आप क्या कर रहे हैं ... जहां चाहें '+' का उपयोग करना बंद करें और यह सोचने का प्रयास करें कि आपके पास + एक नया चर बनाने जैसा है ... यह भी सुंदर है अजीब बात है कि संकलक उस पर एक शब्द नहीं कहता है ... – Cehm
अधिक धीरे से यहाँ! जब आप "डिज़ाइन" का उपयोग करते हैं तो एंड्रॉइड 21 कंपाइलर इन प्लस को रखता है। सवाल पूछने का कारण यह है कि, जैसा कि आप कहते हैं, हम नहीं जानते। – user462990