从 AutoCompleteTextView 中删除下拉箭头

问题描述 投票:0回答:4

我想删除当我使用

AutoCompleteTextView
并使用样式:
TextInputLayout
时由
ExposedDropdownMenu

创建的下拉箭头

Added image about what I want to remove

下面是我的代码:

<com.google.android.material.textfield.TextInputLayout
        android:layout_marginTop="10dp"
        style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu"
        android:hint="Marital Status"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:boxStrokeColor="@color/colorPrimaryDark">

        <AutoCompleteTextView
            android:background="@null"
            android:focusable="false"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/edt_marital" />
    </com.google.android.material.textfield.TextInputLayout>
android autocompletetextview android-textinputlayout material-components-android material-components
4个回答
29
投票

如果您想避免使用下拉图标,只需使用

app:endIconMode
属性。

<com.google.android.material.textfield.TextInputLayout
      style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu"
      app:endIconMode="none"
      ...>

之前和之后:

enter image description hereenter image description here


1
投票

大家好,经过一番搜索却发现很少。我正在努力实现我想要的,我想与你分享经验和结果。 正如相同的Material Design文档所述。

结果图像下拉菜单类似于微调器,遵循文档。下一个代码:

<com.google.android.material.textfield.TextInputLayout
                android:id="@+id/txtAnswer"
                style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_marginTop="@dimen/margin_top_15dp"
                android:layout_marginEnd="10dp"
                app:endIconDrawable="@drawable/ic_arrow_down"
                app:hintTextAppearance="@style/styleFilterLabelLatoRegular"
                app:layout_constraintEnd_toStartOf="@+id/txtAssignedTo"
                app:layout_constraintStart_toStartOf="@+id/guideLineBegin"
                app:layout_constraintTop_toBottomOf="@+id/txtSearchQuestionnaire">

                <AutoCompleteTextView
                    android:id="@+id/actvTypesAnswer"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:inputType="none"
                    android:hint="@string/text_answer" />

现在是 AutoCompleteTextView Image AutoCompleteTextView 所期望的结果。代码 xml。

<com.google.android.material.textfield.TextInputLayout
                android:id="@+id/txtSearchQuestionnaire"
                style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_marginTop="@dimen/margin_top_15dp"
                app:endIconMode="none"
                app:hintTextAppearance="@style/styleFilterLabelLatoRegular"
                app:layout_constraintEnd_toEndOf="@id/guideLineEnd"
                app:layout_constraintStart_toStartOf="@+id/guideLineBegin"
                app:layout_constraintTop_toBottomOf="@+id/txtPeriodActivation">

                <AutoCompleteTextView
                    android:id="@+id/actvNameQuestionnaire"
                    style="@style/textAppearanceSettingInputEdittextFilter.Enabled"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:drawableEnd="@drawable/ic_search"
                    android:hint="@string/text_search_name_questionnaire" />

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

唯一的更改是在 TextInputLayout 中添加属性

app: endIconMode = "none"
以及在 AutoCompleteTextView 中添加属性
android: drawableEnd="@drawable/ic_search"

请原谅我的英语水平!!


0
投票

除了在layout.xml 中执行此操作之外,还可以通过编程方式执行此操作。因此,您需要周围

TextInputLayout
的实例,而不是
AutoCompleteTextView

要删除下拉按钮,只需运行

textInputLayout.setEndIconMode(TextInputLayout.END_ICON_NONE);

要激活下拉按钮,只需运行

textInputLayout.setEndIconMode(TextInputLayout.END_ICON_DROPDOWN_MENU);

0
投票

**app:endIconTint="@android:color/transparent"**
添加到
TextInputLayout
对我有用

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