让TextInputLayout仅在键入第一个字符

时间:2015-11-08 16:14:03

标签: android

以前,在支持库之前,要使用浮动标签,我使用的是Chris Banes的以下第三方库。

https://gist.github.com/chrisbanes/11247418

图书馆非常适合我。因为,只有在输入第一个字符后才会显示浮动提示。

在键入之前,使用焦点

enter image description here

输入后,焦点

enter image description here

这是使用的代码。

<org.yccheok.portfolio.FloatLabelLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="16dp"
    app:floatLabelTextAppearance="@style/PortfolioFloatLabel">
    <EditText
        android:id="@+id/unit_edit_text"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="@string/new_buy_portfolio_unit"
        android:singleLine="true"
        android:inputType="numberDecimal"
        android:imeOptions="actionNext|flagNoExtractUi">
        <requestFocus />
    </EditText>
</org.yccheok.portfolio.FloatLabelLayout>

我决定迁移到Google Design Support Library以获得更好的支持。

<android.support.design.widget.TextInputLayout
    android:id="@+id/usernameWrapper"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="16dp">
    <EditText
        android:id="@+id/unit_edit_text"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="@string/new_buy_portfolio_unit"
        android:singleLine="true"
        android:inputType="numberDecimal"
        android:imeOptions="actionNext|flagNoExtractUi">
        <requestFocus />
    </EditText>
</android.support.design.widget.TextInputLayout>

但是,即使在您输入第一个字符之前,只有在您关注EditText之后,浮动提示才会立即显示。

enter image description here

我在想,有没有办法显示浮动提示,只有在EditText处至少有一个输入字符?

1 个答案:

答案 0 :(得分:0)

您可能希望实现TextWatcher并手动将焦点设置为所需的文本长度。