मैं इस प्रश्न के समान, शामिल का उपयोग करके कुछ नेस्टेड बाधा लेआउट सेट कर रहा हूं, लेकिन ऐसा नहीं है अभी तक उत्तर प्राप्त करें।

बाधा उस तरह से काम नहीं करती जैसा उसे करना चाहिए था।

मैंने एक्सएमएल को LinearLayout में शामिल करने के लिए लेआउट को बदलने की कोशिश की है, लेकिन यह अभी भी काम नहीं करता है। मैंने _bias जोड़ने की कोशिश की है लेकिन फिर भी काम नहीं कर रहा है।

क्या आप इसे हल करने में मेरी मदद कर सकते हैं? इसे सही कैसे बनाया जाए इस पर कोई सुझाव?

ये रहा मेरा parent layout

<android.support.constraint.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:app="http://schemas.android.com/apk/res-auto">


    <include android:id="@+id/mySearch"
        layout="@layout/layout_search"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintBottom_toTopOf="@id/header"/>


    <include
        android:id="@+id/header"
        layout="@layout/layout_header_back_btn_and_title"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@id/mySearch" />

</android.support.constraint.ConstraintLayout>

यह रहा मेरा layout_search.xml


<android.support.constraint.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <EditText
        android:id="@+id/et_search"
        android:layout_width="0dp"
        android:layout_height="@dimen/size_50_dp"
        app:layout_constraintEnd_toEndOf="@id/btn_search"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <Button
        android:id="@+id/btn_search"
        android:layout_width="50dp"
        android:layout_height="@dimen/size_50_dp"
        android:drawableEnd="@drawable/icon_search_40"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

</android.support.constraint.ConstraintLayout>

और layout_header_back_btn_and_title.xml


<android.support.constraint.ConstraintLayout
    ..>


    <ImageView
        android:id="@+id/btn_back"
        android:layout_width="40dp"
        android:layout_height="40dp"
        android:src="@drawable/icon_arrow_left"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintBottom_toBottomOf="parent"/>

    <TextView
        android:id="@+id/tvTitlePage"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        tools:text="Keranjang"
        app:layout_constraintTop_toTopOf="@id/btn_back"
        app:layout_constraintStart_toStartOf="@id/btn_back"
        app:layout_constraintEnd_toEndOf="parent" />

</android.support.constraint.ConstraintLayout>

मुझे उम्मीद है कि बैक बटन और शीर्षक खोज लेआउट के नीचे होना चाहिए। लेकिन फिर इसके बजाय ओवरलैप है।

[अपेक्षित लेआउट]अपेक्षित1

[वास्तविक लेआउट]वास्तविक2

1
Shasapo 16 सितंबर 2019, 18:40

1 उत्तर

सबसे बढ़िया उत्तर

जब भी आप अपने लेआउट में <include> का उपयोग करते हैं, तो आपको शामिल किए गए लेआउट का आकार प्रदान करना होगा। इसकी ऊंचाई और चौड़ाई निर्धारित करें जैसा कि आप उनके संबंधित लेआउट में करते हैं और इसे ठीक काम करना चाहिए।

इसमें अपना मूल लेआउट बदलें और इसे आपकी समस्या को ठीक करना चाहिए।

<android.support.constraint.ConstraintLayout
   xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   xmlns:app="http://schemas.android.com/apk/res-auto">

<include android:id="@+id/mySearch"
    layout="@layout/layout_search"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintBottom_toTopOf="@id/header"/>


<include
    android:id="@+id/header"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    layout="@layout/layout_header_back_btn_and_title"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@id/mySearch" />

</android.support.constraint.ConstraintLayout>
2
Arslan Shoukat 16 सितंबर 2019, 16:14