From 3ea88169bb1c80b59e6c150f27cbbbe8ae5ede7a Mon Sep 17 00:00:00 2001 From: Aurelien Hubert Date: Thu, 16 May 2019 09:00:24 +0200 Subject: [PATCH] Improve custom field UI --- .../android/model/realm/CustomFieldEntry.kt | 12 +++++++++++- .../ui/fragment/data/CustomFieldDataFragment.kt | 1 + .../pokeranalytics/android/ui/view/RowViewType.kt | 15 ++++++++++++++- .../main/res/layout/row_title_value_action.xml | 3 +-- 4 files changed, 27 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/net/pokeranalytics/android/model/realm/CustomFieldEntry.kt b/app/src/main/java/net/pokeranalytics/android/model/realm/CustomFieldEntry.kt index 1fdc9a7e..21122f2c 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/realm/CustomFieldEntry.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/realm/CustomFieldEntry.kt @@ -22,7 +22,17 @@ open class CustomFieldEntry : RealmObject(), RowRepresentable { var order: Int = 0 @Ignore - override val viewType: Int = RowViewType.TITLE.ordinal + override val viewType: Int = RowViewType.TITLE_VALUE_ACTION.ordinal + + override val imageRes: Int? + get() { + return R.drawable.ic_reorder + } + + override val imageTint: Int? + get() { + return R.color.kaki + } @Ignore override val bottomSheetType: BottomSheetType = BottomSheetType.EDIT_TEXT diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/data/CustomFieldDataFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/data/CustomFieldDataFragment.kt index e5b4d65d..424f8431 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/fragment/data/CustomFieldDataFragment.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/data/CustomFieldDataFragment.kt @@ -165,6 +165,7 @@ class CustomFieldDataFragment : EditableDataFragment(), StaticRowRepresentableDa updateUI() updateAdapterUI() } + else -> super.onRowValueChanged(value, row) } } diff --git a/app/src/main/java/net/pokeranalytics/android/ui/view/RowViewType.kt b/app/src/main/java/net/pokeranalytics/android/ui/view/RowViewType.kt index d78ec10b..2f857f0f 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/view/RowViewType.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/view/RowViewType.kt @@ -8,6 +8,7 @@ import androidx.appcompat.widget.AppCompatImageView import androidx.appcompat.widget.AppCompatTextView import androidx.appcompat.widget.SwitchCompat import androidx.constraintlayout.widget.ConstraintLayout +import androidx.core.content.ContextCompat import androidx.core.view.isVisible import androidx.core.widget.ContentLoadingProgressBar import androidx.recyclerview.widget.RecyclerView @@ -64,6 +65,7 @@ enum class RowViewType(private var layoutRes: Int) { TITLE_ICON_ARROW(R.layout.row_title_icon_arrow), TITLE_VALUE(R.layout.row_title_value), TITLE_VALUE_ARROW(R.layout.row_title_value_arrow), + TITLE_VALUE_ACTION(R.layout.row_title_value_action), TITLE_SWITCH(R.layout.row_title_switch), TITLE_GRID(R.layout.row_bottom_sheet_grid_title), DATA(R.layout.row_title), @@ -97,7 +99,7 @@ enum class RowViewType(private var layoutRes: Int) { // Row View Holder HEADER_TITLE, HEADER_TITLE_VALUE, HEADER_TITLE_AMOUNT, HEADER_TITLE_AMOUNT_BIG, LOCATION_TITLE, - INFO, TITLE, TITLE_ARROW, TITLE_ICON_ARROW, TITLE_VALUE, TITLE_VALUE_ARROW, TITLE_GRID, + INFO, TITLE, TITLE_ARROW, TITLE_ICON_ARROW, TITLE_VALUE, TITLE_VALUE_ARROW, TITLE_VALUE_ACTION, TITLE_GRID, TITLE_SWITCH, TITLE_CHECK, TITLE_VALUE_CHECK, DATA, BOTTOM_SHEET_DATA, LOADER -> RowViewHolder(layout) @@ -191,6 +193,17 @@ enum class RowViewType(private var layoutRes: Int) { } } + // Action + itemView.findViewById(R.id.action)?.let { imageView -> + row.imageRes?.let { imageRes -> + imageView.visibility = View.VISIBLE + imageView.setImageResource(imageRes) + } + row.imageTint?.let { color -> + imageView.setColorFilter(ContextCompat.getColor(imageView.context, color)) + } + } + // Listener val listener = View.OnClickListener { itemView.findViewById(R.id.switchView)?.let { diff --git a/app/src/main/res/layout/row_title_value_action.xml b/app/src/main/res/layout/row_title_value_action.xml index 4e26243f..b0e98b29 100644 --- a/app/src/main/res/layout/row_title_value_action.xml +++ b/app/src/main/res/layout/row_title_value_action.xml @@ -13,7 +13,7 @@ android:layout_height="wrap_content" android:layout_marginTop="16dp" android:layout_marginBottom="16dp" - android:textSize="18sp" + android:textSize="16sp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintHorizontal_bias="0.0" app:layout_constraintStart_toStartOf="@+id/guidelineStart" @@ -40,7 +40,6 @@ android:layout_width="32dp" android:layout_height="32dp" android:layout_marginStart="16dp" - android:background="?selectableItemBackgroundBorderless" android:padding="4dp" android:visibility="gone" app:layout_constraintBottom_toBottomOf="parent"