From 97922b3a4853f5684b334c8e38353d597050b2a0 Mon Sep 17 00:00:00 2001 From: Aurelien Hubert Date: Thu, 28 Feb 2019 09:19:31 +0100 Subject: [PATCH] Improve Stats display --- .../android/ui/view/RowViewType.kt | 20 ++++++- ...row_stat.xml => row_stats_title_value.xml} | 54 +++++++++++-------- app/src/main/res/values/styles.xml | 21 ++++++++ 3 files changed, 71 insertions(+), 24 deletions(-) rename app/src/main/res/layout/{row_stat.xml => row_stats_title_value.xml} (61%) 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 e64e1aed..badf2572 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 @@ -10,6 +10,7 @@ import kotlinx.android.synthetic.main.row_bottom_sheet_title.view.* import kotlinx.android.synthetic.main.row_header_title_amount.view.* import kotlinx.android.synthetic.main.row_header_title_value.view.* import kotlinx.android.synthetic.main.row_history_session.view.* +import kotlinx.android.synthetic.main.row_stats_title_value.view.* import kotlinx.android.synthetic.main.row_title.view.* import kotlinx.android.synthetic.main.row_title_switch.view.* import kotlinx.android.synthetic.main.row_title_value.view.* @@ -127,9 +128,9 @@ enum class RowViewType { parent, false) ) - STAT -> TitleValueViewHolder( + STAT -> StatsTitleValueViewHolder( LayoutInflater.from(parent.context).inflate( - R.layout.row_stat, + R.layout.row_stats_title_value, parent, false ) @@ -202,6 +203,21 @@ enum class RowViewType { } } + inner class StatsTitleValueViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView), + BindableHolder { + override fun bind(position: Int, row: RowRepresentable, adapter: RowRepresentableAdapter) { + itemView.rowStatsTitleValue_title.text = row.localizedTitle(itemView.context) + adapter.dataSource?.let { + itemView.rowStatsTitleValue_value.text = it.stringForRow(row, itemView.context) + } + val listener = View.OnClickListener { + adapter.delegate?.onRowSelected(position, row) + } + itemView.rowStatsTitleValue_container.setOnClickListener(listener) + itemView.rowStatsTitleValue_separator.visibility = if (row.needSeparator) View.VISIBLE else View.GONE + } + } + inner class TitleGridSessionViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView), BindableHolder { override fun bind(position: Int, row: RowRepresentable, adapter: RowRepresentableAdapter) { itemView.title.text = row.localizedTitle(itemView.context) diff --git a/app/src/main/res/layout/row_stat.xml b/app/src/main/res/layout/row_stats_title_value.xml similarity index 61% rename from app/src/main/res/layout/row_stat.xml rename to app/src/main/res/layout/row_stats_title_value.xml index 593ea863..5947b5de 100644 --- a/app/src/main/res/layout/row_stat.xml +++ b/app/src/main/res/layout/row_stats_title_value.xml @@ -2,10 +2,10 @@ + android:orientation="vertical"> + android:id="@+id/rowStatsTitleValue.value" + style="@style/PokerAnalyticsTheme.TextView.RowStatsValue" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_marginEnd="8dp" + android:layout_marginBottom="8dp" + android:paddingTop="-8dp" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toStartOf="@+id/nextArrow" + app:layout_constraintStart_toStartOf="@+id/guidelineStart" + app:layout_constraintTop_toBottomOf="@+id/rowStatsTitleValue.title" + tools:text="Value" /> + + + 16sp @color/white @font/roboto + 1 + end + + + +