Android浮动标签效果无法使用数据绑定在TextInputLayout上工作

时间:2017-09-29 10:35:58

标签: android data-binding android-textinputlayout

如果您使用数据绑定

设置它,提示将不会浮动
<android.support.design.widget.TextInputLayout
    android:id="@+id/inputLayout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="bottom"
    android:theme="@style/TextAppearance.TextInputLayout.Form"
    >

    <EditText
        android:id="@+id/usernameEditTxt"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:paddingBottom="@dimen/default_margin_3"
        android:textSize="16sp"
        android:singleLine="true"
        android:hint="@{model.label}"
        android:inputType="none"
        />
</android.support.design.widget.TextInputLayout>

但如果你手动设置提示,它就可以了。 我正在使用Android Studio 3.0 还使用kapt&#34; com.android.databinding:编译器:2.3.3&#34;

有人解决了这个吗?

1 个答案:

答案 0 :(得分:0)

您必须在hint上设置TextInputLayout属性。

含材料成分:

 <com.google.android.material.textfield.TextInputLayout
      android:hint="@{viewModel.textHint}"

使用旧的支持库:

<android.support.design.widget.TextInputLayout
     android:hint="@{....}"

原因是TextInputLayout仅从TextInputEditText读取提示属性(如果未指定)。通货膨胀后,TextInputEditText上的更改不会更改TextInputLayout的提示。
使用TextInputEditText进行数据绑定时,出于相同原因,您不会更新TextInputLayout