layout_weight не работает при использовании текста привязки данных - PullRequest
0 голосов
/ 10 февраля 2019

Прежде всего, извините за мой плохой английский
У меня есть макулатура с xml-макетом, подобная этой

<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">

<data>

    <variable
        name="township"
        type="com.test.feature.Area" />

</data>

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@android:color/white"
    android:orientation="horizontal"
    android:paddingTop="@dimen/_10sdp"
    android:paddingBottom="@dimen/_10sdp">

    <TextView
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="@{township.name}"
        android:textColor="@color/agent_list_gray_1"
        android:textSize="@dimen/_15ssp" />

    <android.support.v7.widget.AppCompatRadioButton
        android:id="@+id/btnRadio"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="0"/>
</LinearLayout>

Я установил текст в textview в классе Adapter, иэто то, что я хочу , что я хочу

Но если вместо этого я использую привязку данных с этой строкой

android: text = "@ {township.name}"

Я получил это layout_weight неверен

Так кто-нибудь знает, что не так с моим кодом?

Есть другие способы архивациитакого рода интерфейс, но я действительно хочу знать, почему это не сработает

Ответы [ 2 ]

0 голосов
/ 10 февраля 2019

Это странно!потому что я реализовал ваш код, и он работал.Может быть, попробуйте обернуть его в родительском представлении, как показано ниже (я сделал это таким образом):

<android.support.constraint.ConstraintLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/backgroundOrange"
        android:orientation="horizontal"
        android:paddingTop="@dimen/_10sdp"
        android:paddingBottom="@dimen/_10sdp"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent">

        <TextView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="@{township.name}"
            android:textColor="@color/textPrimary"
            android:textSize="15dp"/>

        <android.support.v7.widget.AppCompatRadioButton
            android:id="@+id/btnRadio"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="0"/>
    </LinearLayout>

</android.support.constraint.ConstraintLayout>

Дайте мне знать, если это сработало.

0 голосов
/ 10 февраля 2019

Не могли бы вы использовать RelativeLayout и установить для Textview значение parentLeft и для EditTextview значение parentRight для интервала?

...