同一EditText中的AutoComplete和TextInput功能?

问题描述 投票:1回答:2

我希望我的EditText在获得焦点时显示其hint作为标题,并且还显示一个下拉列表以让用户自动完成它。这些功能分别在TextInputEditTextAutoCompleteTextView上提供。除了使用继承创建自定义EditText之外,还有其他方法可以实现吗?提前致谢。

android android-edittext
2个回答
3
投票

而不是使用TextInputEditText只需使用AutoCompleteTextView作为TextInputLayout的孩子。 Lint可能会显示警告但它应该可以正常工作。

例:

<android.support.design.widget.TextInputLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <android.widget.AutoCompleteTextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="Name"/>
</android.support.design.widget.TextInputLayout>

3
投票

如果您需要新的Material Design库和Android Jetpack组件,请使用以下XML布局代码:

<com.google.android.material.textfield.TextInputLayout
    style="@style/Widget.MaterialComponents.TextInputLayout.FilledBox"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:hint="Example TextInputLayout">

    <androidx.appcompat.widget.AppCompatAutoCompleteTextView
        style="@style/Widget.MaterialComponents.TextInputEditText.FilledBox"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>

</com.google.android.material.textfield.TextInputLayout>

请注意,在使用此库时,应在TextInputLayout(而不是AppCompatAutoCompleteTextView)上设置提示。

如果您想要替代的轮廓文本字段版本,请在两种样式属性中将FilledBox替换为OutlinedBox

© www.soinside.com 2019 - 2024. All rights reserved.