Improve custom field UI

dev
Aurelien Hubert 7 years ago
parent b06bcb976c
commit 3ea88169bb
  1. 12
      app/src/main/java/net/pokeranalytics/android/model/realm/CustomFieldEntry.kt
  2. 1
      app/src/main/java/net/pokeranalytics/android/ui/fragment/data/CustomFieldDataFragment.kt
  3. 15
      app/src/main/java/net/pokeranalytics/android/ui/view/RowViewType.kt
  4. 3
      app/src/main/res/layout/row_title_value_action.xml

@ -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

@ -165,6 +165,7 @@ class CustomFieldDataFragment : EditableDataFragment(), StaticRowRepresentableDa
updateUI()
updateAdapterUI()
}
else -> super.onRowValueChanged(value, row)
}
}

@ -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<AppCompatImageView>(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<SwitchCompat?>(R.id.switchView)?.let {

@ -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"

Loading…
Cancel
Save