我试图让 AutoCompleteTextView 看起来像一个材质 Edittext

Gag*_*tra 2 android autocompletetextview material-design android-textinputlayout material-components-android

我试图让AutoCompleteTextView这个图像看起来像https://ibb.co/ZJxmgK5,但无法做到这一点。轮廓框在结果中不可见

下面是我目前的代码。早些时候我尝试添加一个EditTextTextInputLayout但现在我想在这个中添加自动完成。

<com.google.android.material.textfield.TextInputLayout
                    android:id="@+id/input_layout_holiday_destination"
                    style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:hint="@string/lbl_destination_big">
<AutoCompleteTextView
                        android:id="@+id/edittext_holiday_destination"
                        style="@style/Base.Widget.AppCompat.EditText"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center_vertical"
                        android:layout_weight="10"
                        android:background="@android:color/transparent"
                        android:hint="@string/lbl_destination"
                        android:layout_marginLeft="@dimen/margin8"
                        android:singleLine="true"
                        android:lines="1"
                        android:textSize="25sp"
                        android:nextFocusDown="@+id/txv_holiday_num_of_nights"
                        android:imeOptions="actionNext"
                        android:textCursorDrawable="@drawable/edittext_cursor_drawable"/>
                    />
</com.google.android.material.textfield.TextInputLayout>
Run Code Online (Sandbox Code Playgroud)

预期的结果是上面给出了 URL 的图像。

Gab*_*tti 13

如果您希望将 aTextInputLayout与a结合使用,AutoCompleteTextView则应将这种样式用于.TextInputLayout Widget.MaterialComponents.TextInputLayout.*.ExposedDropdownMenu

在你的情况下:

style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu"
Run Code Online (Sandbox Code Playgroud)

使用类似的东西:

    <com.google.android.material.textfield.TextInputLayout
        android:id="@+id/name_text_input"
        style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="HINT TEXT">

        <AutoCompleteTextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@null"/>

    </com.google.android.material.textfield.TextInputLayout>
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明在此处输入图片说明

还检查文档

注意:当使用带有不是 的EditText子项的轮廓文本字段时TextInputEditText,请确保将 EditText 的设置android:background@null。这允许TextInputLayoutEditText.

如果您想避免使用下拉图标,只需使用该app:endIconMode属性。

<com.google.android.material.textfield.TextInputLayout
      app:endIconMode="none"
      ...>
Run Code Online (Sandbox Code Playgroud)


Gag*_*tra 6

下面的代码解决了这个问题:

<com.google.android.material.textfield.TextInputLayout
                    android:id="@+id/input_layout_holiday_destination"
                    style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:hint="@string/lbl_destination_big">

                    <androidx.appcompat.widget.AppCompatAutoCompleteTextView
                        android:id="@+id/edittext_holiday_destination"
                        style="@style/Widget.MaterialComponents.AutoCompleteTextView.OutlinedBox"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center_vertical"
                        android:singleLine="true"
                        android:lines="1"
                        android:nextFocusDown="@+id/txv_holiday_num_of_nights"
                        android:imeOptions="actionNext"
                        android:textCursorDrawable="@drawable/edittext_cursor_drawable"
                        />

                </com.google.android.material.textfield.TextInputLayout>
Run Code Online (Sandbox Code Playgroud)