В дизайне материала есть раскрывающееся раскрывающееся меню, реализованное с помощью AutoCompleteTextView, например:
<com.google.android.material.textfield.TextInputLayout
style="@style/Widget.MaterialComponents.TextInputLayout.FilledBox.ExposedDropdownMenu"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/hint_text">
<AutoCompleteTextView
android:id="@+id/filled_exposed_dropdown"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</com.google.android.material.textfield.TextInputLayout>
Но мне нужно иметь такой же внешний вид, но с поведением счетчика (без автозаполнения, просто отобразите всплывающее окно и выберите элемент).
Я отключил редактирование в AutoCompleteTextView, чтобы избежать использования автозаполнения, но после выбора одного из элементов, затем автозаполнение просто перечисляет элементы, которые соответствуют тексту элемента, выбранному с учетом фильтра, который используется в этом представлении. Это код:
<AutoCompleteTextView
android:id="@+id/filled_exposed_dropdown"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="16dp"
**android:editable="false"**/>
Также я ставлю слушателя, чтобы открыть список элементов при нажатии на него
val editTextFilledExposedDropdown = findViewById<AutoCompleteTextView>(R.id.filled_exposed_dropdown)
editTextFilledExposedDropdown.setAdapter(adapter)
editTextFilledExposedDropdown.setOnClickListener {
(it as AutoCompleteTextView).showDropDown()
}
Итак, я хотел бы знать, возможно ли это реализовать, но с помощью счетчика
Это была моя попытка использовать спиннер, но он не правильно отображал стиль OutlinedBox.Dense.ExposedDropdownMenu, а также отображал значок со стрелкой внизу, я думаю, один для стиля, а другой для счетчика.
это был код со счетчиком:
<com.google.android.material.textfield.TextInputLayout
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Hint">
<com.google.android.material.textfield.TextInputEditText
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/layout_id"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense.ExposedDropdownMenu"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Currency">
<androidx.appcompat.widget.AppCompatSpinner
android:id="@+id/my_spinner"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</com.google.android.material.textfield.TextInputLayout>