From c3aff60a9cd3e28367166a02f57f993bf22edbc2 Mon Sep 17 00:00:00 2001 From: Zakhar Timoshenko Date: Fri, 8 Dec 2023 00:39:13 +0300 Subject: [PATCH] Spinner and EditText enhancements --- .../filter/ui/tags/TagsCatalogSheet.kt | 10 +---- .../m3_spinner_popup_background.xml | 15 +++++++ .../drawable/m3_spinner_popup_background.xml | 15 +++++++ app/src/main/res/layout/sheet_filter.xml | 28 ++++++------ app/src/main/res/layout/sheet_list_mode.xml | 9 ++-- app/src/main/res/layout/sheet_tags.xml | 44 ++++++++----------- app/src/main/res/values/attrs.xml | 1 + app/src/main/res/values/styles.xml | 13 ++++++ app/src/main/res/values/themes.xml | 2 + 9 files changed, 82 insertions(+), 55 deletions(-) create mode 100644 app/src/main/res/drawable-v23/m3_spinner_popup_background.xml create mode 100644 app/src/main/res/drawable/m3_spinner_popup_background.xml diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/filter/ui/tags/TagsCatalogSheet.kt b/app/src/main/kotlin/org/koitharu/kotatsu/filter/ui/tags/TagsCatalogSheet.kt index 00e5185ca..c41bf72b3 100644 --- a/app/src/main/kotlin/org/koitharu/kotatsu/filter/ui/tags/TagsCatalogSheet.kt +++ b/app/src/main/kotlin/org/koitharu/kotatsu/filter/ui/tags/TagsCatalogSheet.kt @@ -27,7 +27,7 @@ import org.koitharu.kotatsu.filter.ui.model.TagCatalogItem @AndroidEntryPoint class TagsCatalogSheet : BaseAdaptiveSheet(), OnListItemClickListener, TextWatcher, - AdaptiveSheetCallback, View.OnClickListener, View.OnFocusChangeListener, TextView.OnEditorActionListener { + AdaptiveSheetCallback, View.OnFocusChangeListener, TextView.OnEditorActionListener { private val viewModel by viewModels( extrasProducer = { @@ -50,7 +50,6 @@ class TagsCatalogSheet : BaseAdaptiveSheet(), OnListItemClickL binding.editSearch.addTextChangedListener(this) binding.editSearch.onFocusChangeListener = this binding.editSearch.setOnEditorActionListener(this) - binding.buttonSearchClear.setOnClickListener(this) viewModel.content.observe(viewLifecycleOwner, adapter) addSheetCallback(this) disableFitToContents() @@ -61,12 +60,6 @@ class TagsCatalogSheet : BaseAdaptiveSheet(), OnListItemClickL filter.setTag(item.tag, !item.isChecked) } - override fun onClick(v: View) { - when (v.id) { - R.id.button_search_clear -> viewBinding?.editSearch?.text?.clear() - } - } - override fun onFocusChange(v: View?, hasFocus: Boolean) { setExpanded( isExpanded = hasFocus || isExpanded, @@ -90,7 +83,6 @@ class TagsCatalogSheet : BaseAdaptiveSheet(), OnListItemClickL override fun afterTextChanged(s: Editable?) { val q = s?.toString().orEmpty() viewModel.searchQuery.value = q - viewBinding?.buttonSearchClear?.isVisible = q.isNotEmpty() } override fun onStateChanged(sheet: View, newState: Int) { diff --git a/app/src/main/res/drawable-v23/m3_spinner_popup_background.xml b/app/src/main/res/drawable-v23/m3_spinner_popup_background.xml new file mode 100644 index 000000000..04ee60a0a --- /dev/null +++ b/app/src/main/res/drawable-v23/m3_spinner_popup_background.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/m3_spinner_popup_background.xml b/app/src/main/res/drawable/m3_spinner_popup_background.xml new file mode 100644 index 000000000..9cb3a631a --- /dev/null +++ b/app/src/main/res/drawable/m3_spinner_popup_background.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/sheet_filter.xml b/app/src/main/res/layout/sheet_filter.xml index 4350f8c04..e906dbad5 100644 --- a/app/src/main/res/layout/sheet_filter.xml +++ b/app/src/main/res/layout/sheet_filter.xml @@ -38,23 +38,20 @@ + android:layout_height="56dp" + android:minHeight="?listPreferredItemHeightSmall" + android:paddingHorizontal="8dp" /> @@ -72,23 +69,21 @@ + android:layout_height="56dp" + android:minHeight="?listPreferredItemHeightSmall" + android:paddingHorizontal="8dp" + android:popupBackground="@drawable/m3_spinner_popup_background" /> @@ -119,9 +114,14 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="8dp" + android:paddingVertical="8dp" + android:drawablePadding="16dp" android:paddingHorizontal="@dimen/margin_normal" + android:gravity="center_vertical" android:textAppearance="?textAppearanceBodySmall" android:visibility="gone" + app:drawableStartCompat="@drawable/ic_error_small" + app:drawableTint="?attr/colorControlNormal" tools:text="@string/error_multiple_genres_not_supported" tools:visibility="visible" /> diff --git a/app/src/main/res/layout/sheet_list_mode.xml b/app/src/main/res/layout/sheet_list_mode.xml index 6f38ad09d..b8171e9f0 100644 --- a/app/src/main/res/layout/sheet_list_mode.xml +++ b/app/src/main/res/layout/sheet_list_mode.xml @@ -113,22 +113,19 @@ diff --git a/app/src/main/res/layout/sheet_tags.xml b/app/src/main/res/layout/sheet_tags.xml index 859104ce4..55ca23201 100644 --- a/app/src/main/res/layout/sheet_tags.xml +++ b/app/src/main/res/layout/sheet_tags.xml @@ -15,38 +15,30 @@ app:layout_constraintTop_toTopOf="parent" app:title="@string/filter" /> - + app:layout_constraintBottom_toTopOf="@id/recyclerView"> - + + + diff --git a/app/src/main/res/values/attrs.xml b/app/src/main/res/values/attrs.xml index e36b5b405..580091d0e 100644 --- a/app/src/main/res/values/attrs.xml +++ b/app/src/main/res/values/attrs.xml @@ -12,6 +12,7 @@ + diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 246f45e52..b53ef7b86 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -58,6 +58,19 @@ 0dp + + + +