0

我有一个 AutoCompleteTextView (作为Exposed Dropdownmenu的一部分)。我不想为其设置固定宽度,而是由适配器中最宽的项目确定宽度。所以我将宽度设置为 wrap_content,但是每次选择另一个项目时都会改变。

示例:我目前有两个项目:

"short" (shown by default)
"longitem"

这呈现为

在此处输入图像描述

当我现在选择“longitem”项目时,宽度会增加:

在此处输入图像描述

好吧,我明白会发生这种情况。但这很烦人。我希望 AutoCompleteTextView 永久(无论选择哪个项目)具有选择“longitem”时的大小,而不是所有这些大小调整。我怎样才能做到这一点?

使用的代码(如官方公开的下拉文档中所示)

dropdown_menu_popup_item.xml:

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
xmlns:tools="http://schemas.android.com/tools"
android:padding="16dp"
android:ellipsize="end"
android:maxLines="1"
android:textAppearance="?attr/textAppearanceSubtitle1"
tools:text="some item (tool text)" />

布局文件:

<AutoCompleteTextView
    android:id="@+id/exposed_dropdown"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:editable="false"
    android:text="short"
    />

适配器 (Kotlin)

val myValues = arrayOf("short", "longitem")

val adapter = ArrayAdapter<String>(
    requireContext(), 
    R.layout.dropdown_menu_popup_item,
    myValues
)

binding.exposedDropdown.setAdapter(adapter)
4

0 回答 0