我有一个AutoCompleteTextView(作为Exposed Dropdownmenu的一部分)。我不想为其设置固定宽度,而是由适配器中最宽的项目确定宽度。因此,我将宽度设置为wrap_content,但是每次选择另一个项目时,宽度都会改变。
示例:我目前有两个项目:
"short" (shown by default)
"longitem"
这呈现为
当我现在选择“ longitem”项时,宽度会增加:
嗯,我知道这会发生。但这很烦人。而不是所有这些大小调整,我希望AutoCompleteTextView永久(无论选择了哪个项目)具有选择“ longitem”时的大小。我该怎么办?
使用的代码(与official exposed dropdown documentation相同)
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"
/>
适配器(科特琳)
val myValues = arrayOf("short", "longitem")
val adapter = ArrayAdapter<String>(
requireContext(),
R.layout.dropdown_menu_popup_item,
myValues
)
binding.exposedDropdown.setAdapter(adapter)