मैं स्क्रीन (फिक्स्ड-आकार वाले चित्र और 2 सिंगल लाइन पाठ विचार: leftTextView
और rightTextView
) पर क्षैतिज बिछाने कर रहा हूँ 3 बार देखा गया है और मैं के खिलाफ गले लगाना rightTextView
पाने के लिए कोशिश कर रहा हूँ leftTextView
, लेकिन इस स्थिति में कि दोनों लेबल की चौड़ाई स्क्रीन आकार से अधिक हो जाएगी, leftTextiew
को छोटा करें।एंड्रॉयड TextView ट्रंकेशन प्राथमिकता या संपीड़न प्रतिरोध
वांछित कार्यशीलता का उदाहरण:
|img|leftText|rightText| ||(end of screen)
|img|leftTextMedium|rightText| ||
|img|leftTextTooLongSoTrunc...|rightText||
क्या वास्तव में हो रहा है:
|img|leftText|rightText| ||(end of screen)
|img|leftTextPrettyLongButNotHuge|rightT||
|img|leftTextWhichIsIncrediblyLongBlahBl||
वर्तमान में, यदि दोनों पाठ विचारों के आकार को देखने की चौड़ाई से अधिक है, rightTextView
समाप्त होता है बनाने के लिए नीचे squished हो रही कमरा, भले ही मैंने android:ellipsize="end"
को leftTextView
पर सेट किया है।
क्या leftTextView
को "छंटनी प्राथमिकता" बनाने का कोई तरीका है जो कहता है कि अगर इसे अन्य विचारों को फिट नहीं किया जाए तो इसे छोटा कर दिया जाना चाहिए? या दूसरी तरफ, क्या मैं को leftTextView
के लिए जगह बनाने के लिए स्क्विश होने से रोकने के लिए "संपीड़न प्रतिरोध" सेट कर सकता हूं?
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/fixedWidthImage"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<TextView
android:id="@+id/leftTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toEndOf="@+id/fixedWidthImage"
android:layout_toRightOf="@id/fixedWidthImage"
android:maxLines="1"
android:textSize="18sp"
android:ellipsize="end" />
<TextView
android:id="@+id/rightTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toEndOf="@+id/leftTextView"
android:layout_toRightOf="@+id/leftTextView"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:maxLines="1"
android:textSize="12sp" />
</RelativeLayout>
बातें मैं कोशिश की है: यहाँ मेरी एक्सएमएल का नमूना दिया गया
leftTextView
में, जोड़ने के एकtoStartOf
/toLeftOf
rightTextView
(अनुप्रयोग क्रैश हो)के बजाय संरेखित
rightTextView
leftTextView
के अंत/दाएं भाग में, इसे फ्लिप करें और के प्रारंभ/बाएंleftTextView
को संरेखित करें। इसके परिणामस्वरूपrightTextView
कोleftTextView
के दाईं ओर सीधे स्क्रीन के अंत तक लांच किया जा रहा है।|img|leftText |rightText|| |img|leftTextMedium |rightText|| |img|leftTextTooLongSoTrunc...|rightText||
यहां तक कि अगर मैं
android:minWidth="25dp"
बस सुनिश्चित करने के लिए कम से कम हिस्साrightTextView
की दिख रहा है (जो मुझे क्या करना है क्योंकि इस पाठ की लंबाई चर रहा है नहीं करना चाहती) सेट करें: यह कैसे समाप्त होता है देखने का उदाहरण यह अभी भीleftTextView
के लिए जगह बनाने के लिए चौड़ाई को संपीड़ित कर देता है।- प्रति Emanuel Moecklin का उत्तर, मैंने
LinearLayout
में लपेटने की कोशिश की औरleftTextView
पर वजन निर्धारित किया। नतीजा यह था कि मैंने # 2 में क्या प्रयास किया था।
डुप्लिकेट अंकन के अपने बचाव में, कि अन्य प्रश्न बार मैं मेरा पूछा पर एक जवाब नहीं था। इसके अलावा, इसका शीर्षक भयानक है, शायद यही कारण है कि मुझे यह नहीं पता था कि यह पहले स्थान पर मौजूद था। – Stonz2