【发布时间】:2021-03-29 10:13:03
【问题描述】:
我正在使用带有样式 Widget.MaterialComponents.TextInputLayout.FilledBox.ExposedDropdownMenu 的 com.google.android.material.textfield.TextInputLayout 并且还使用 AutoCompleteTextView。这些使输入成为下拉列表。但现在的问题是列表的长文本不会显示完整的项目文本。如何显示所有文本并使其成为多行?
<com.google.android.material.textfield.TextInputLayout
style="@style/CustomStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/label_input">
<AutoCompleteTextView
android:id="@+id/autocomplete"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="text"
android:inputType="none" />
</com.google.android.material.textfield.TextInputLayout>
主题.xml
<style name="LayoutDropdown" parent="Widget.MaterialComponents.TextInputLayout.FilledBox.ExposedDropdownMenu">
<item name="boxBackgroundColor">@color/white</item>
<item name="android:textColor">@color/black</item>
<item name="colorControlNormal">@color/black</item>
<item name="colorControlActivated">@color/black</item>
<item name="colorControlHighlight">@color/black</item>
</style>
Java
ArrayAdapter<String> adapter = new ArrayAdapter<>(this, R.layout.dropdown_menu_item, list);
AutoCompleteTextView dropdown = findViewById(R.id.autocomplete);
dropdown.setAdapter(adapter);
dropdown.setKeyListener(null);
dropdown_menu_item.xml
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="16dp"
android:ellipsize="end"
android:maxLines="1"
android:textAppearance="?attr/textAppearanceSubtitle1"/>
这是结果。它不会在选择下拉列表中显示全文。
【问题讨论】:
-
添加你用来设置适配器的代码
-
@AgentP 好的。编辑了问题
-
你创建了 dropdown_menu_item.xml 吗?如果是这样,也请添加
-
@AgentP 更新了问题。
-
您已将
maxLines指定为1?
标签: java android autocompletetextview material-components-android android-textinputlayout