2017-06-07 6 views
7

क्या कोई संभावना है (ConstraintLayout में) केवल एक दृश्य को तब तक बढ़ने दें जब तक उसके दाईं ओर किसी अन्य दृश्य के लिए स्थान न हो?किसी अन्य दृश्य द्वारा constraintLayout में चौड़ाई को प्रतिबंधित करें

उपयोग का मामला value और unit टेक्स्टव्यू एक दूसरे के अलावा है। value टेक्स्ट व्यू unit के लिए जगह होने तक बढ़ने में सक्षम होना चाहिए। यदि पर्याप्त जगह नहीं है, तो value काटा जाना चाहिए।

ConstraintLayout

मैं चेन और कुछ अन्य बातों के साथ यह कोशिश की है, लेकिन नहीं किया जा सकता। value बढ़ना बंद नहीं करता है और फिर unit अब और दिखाई नहीं दे रहा है।

<TextView 
    android:id="@+id/value" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_marginStart="8dp" 
    android:lines="1" 
    app:layout_constraintBaseline_toBaselineOf="@+id/unit" 
    app:layout_constraintHorizontal_bias="0.0" 
    app:layout_constraintHorizontal_chainStyle="packed" 
    app:layout_constraintLeft_toLeftOf="parent" 
    app:layout_constraintRight_toLeftOf="@id/unit" 
    tools:text="12533939532" /> 

<TextView 
    android:id="@+id/unit" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_marginEnd="8dp" 
    android:layout_marginStart="8dp" 
    app:layout_constraintHorizontal_chainStyle="packed" 
    app:layout_constraintLeft_toRightOf="@id/value" 
    app:layout_constraintRight_toRightOf="parent" 
    tools:text="km" /> 

उत्तर

10

हाँ तुम कर सकते match_constraint हम पहली बार देखने के लिए वजन सेट जो भी सभी उपलब्ध स्थान घेरती होगा का उपयोग करके match_constraint (0dp) जो अन्य लेआउट के लिए match_parent के बराबर का उपयोग कर, तो द्वारा: वर्तमान कोड यहाँ जोड़ने

app:layout_constraintWidth_default="wrap" 

wrap_content

यहाँ

के रूप में डिफ़ॉल्ट चौड़ाई व्यवहार लागू करने के लिए परिवर्तन

012,351 के साथ कोड है
<?xml version="1.0" encoding="utf-8"?> 
<android.support.constraint.ConstraintLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    xmlns:app="http://schemas.android.com/apk/res-auto"> 




     <TextView 
      android:id="@+id/value" 
      android:layout_width="0dp" 
      app:layout_constraintWidth_default="wrap" 
      android:layout_height="wrap_content" 
      android:layout_marginStart="8dp" 
      android:lines="1" 
      app:layout_constraintBaseline_toBaselineOf="@+id/unit" 
      app:layout_constraintHorizontal_bias="0.0" 
      app:layout_constraintHorizontal_chainStyle="packed" 
      app:layout_constraintLeft_toLeftOf="parent" 
      app:layout_constraintRight_toLeftOf="@id/unit" 
      tools:text="12533939zx532" /> 

     <TextView 
      android:id="@+id/unit" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginEnd="8dp" 
      android:layout_marginStart="8dp" 
      app:layout_constraintLeft_toRightOf="@id/value" 
      app:layout_constraintRight_toRightOf="parent" 
      tools:text="km" /> 
    </android.support.constraint.ConstraintLayout> 

साइट से कुछ स्पष्टीकरण मिल गया

बेहतर दृश्य आयाम को नियंत्रित करता है

नई उपलब्ध व्यवहार जब एक आयाम 0dp को (MATCH_CONSTRAINT) निर्धारित है। पहले की तरह, दोनों एंडपॉइंट्स (बाएं/दाएं या ऊपर/नीचे) को लक्ष्य से कनेक्ट करने की आवश्यकता है।

layout_constraintWidth_default = प्रसार (डिफ़ॉल्ट, पिछला व्यवहार के समान) layout_constraintWidth_default = लपेट layout_constraintHeight_default = फैल layout_constraintHeight_default = लपेट

लपेटें विजेट का आकार बदलने के रूप में अगर wrap_content इस्तेमाल किया गया था के साथ, एक महत्वपूर्ण नए व्यवहार प्रदान करता है , लेकिन जुड़े बाधाओं से सीमित है। इस प्रकार एक विजेट अंत बिंदुओं से आगे नहीं बढ़ेगा।

http://tools.android.com/recent/constraintlayoutbeta5isnowavailable

+0

वास्तव में अपने विवरण समझ में नहीं आया है, लेकिन कोड काम करता है, धन्यवाद! – noongiya95

+0

ये, मुख्य बात यह है कि layout_constraintWidth_default को constraintLayout 1.0 में पेश किया गया है जो आपको wrap_content समस्या को हल करने के लिए किया गया था और इसके लिए कोई आधिकारिक दस्तावेज नहीं है। – Pavan

+0

@MariusBoepple अपडेट कुछ विवरण उपयोगी हो सकता है – Pavan

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