Clean stats layout

feature/top10
Aurelien Hubert 7 years ago
parent 0b367b4370
commit 11a88e82c2
  1. 19
      app/src/main/java/net/pokeranalytics/android/ui/view/RowViewType.kt
  2. 123
      app/src/main/res/layout/row_stats_title_value.xml

@ -11,7 +11,6 @@ import androidx.core.view.isVisible
import androidx.core.widget.ContentLoadingProgressBar import androidx.core.widget.ContentLoadingProgressBar
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import kotlinx.android.synthetic.main.row_history_session.view.* import kotlinx.android.synthetic.main.row_history_session.view.*
import kotlinx.android.synthetic.main.row_stats_title_value.view.*
import net.pokeranalytics.android.R import net.pokeranalytics.android.R
import net.pokeranalytics.android.model.realm.Session import net.pokeranalytics.android.model.realm.Session
import net.pokeranalytics.android.ui.adapter.RowRepresentableAdapter import net.pokeranalytics.android.ui.adapter.RowRepresentableAdapter
@ -195,15 +194,23 @@ enum class RowViewType(private var layoutRes: Int) {
inner class StatsTitleValueViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView), inner class StatsTitleValueViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView),
BindableHolder { BindableHolder {
override fun bind(position: Int, row: RowRepresentable, adapter: RowRepresentableAdapter) { override fun bind(position: Int, row: RowRepresentable, adapter: RowRepresentableAdapter) {
itemView.rowStatsTitleValue_title.text = row.localizedTitle(itemView.context)
adapter.dataSource.contentDescriptorForRow(row)?.textFormat?.let { // Title
itemView.rowStatsTitleValue_value.text = it.text itemView.findViewById<AppCompatTextView?>(R.id.title)?.text = row.localizedTitle(itemView.context)
itemView.rowStatsTitleValue_value.setTextColor(it.getColor(itemView.context))
// Value
itemView.findViewById<AppCompatTextView?>(R.id.value)?.let {view ->
adapter.dataSource.contentDescriptorForRow(row)?.textFormat?.let {
view.text = it.text
view.setTextColor(it.getColor(itemView.context))
}
} }
// Listener
val listener = View.OnClickListener { val listener = View.OnClickListener {
adapter.delegate?.onRowSelected(position, row) adapter.delegate?.onRowSelected(position, row)
} }
itemView.rowStatsTitleValue_container.setOnClickListener(listener) itemView.findViewById<View?>(R.id.container)?.setOnClickListener(listener)
} }
} }

@ -1,87 +1,60 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<androidx.appcompat.widget.LinearLayoutCompat xmlns:android="http://schemas.android.com/apk/res/android" <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/rowStatsTitleValue.container" android:id="@+id/container"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical"> android:background="?selectableItemBackground">
<androidx.constraintlayout.widget.ConstraintLayout <androidx.appcompat.widget.AppCompatTextView
android:layout_width="match_parent" android:id="@+id/title"
style="@style/PokerAnalyticsTheme.TextView.RowStatsTitle"
android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="?selectableItemBackground"> android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
<androidx.appcompat.widget.AppCompatTextView app:layout_constraintEnd_toStartOf="@+id/nextArrow"
android:id="@+id/rowStatsTitleValue.title" app:layout_constraintStart_toStartOf="@+id/guidelineStart"
style="@style/PokerAnalyticsTheme.TextView.RowStatsTitle" app:layout_constraintTop_toTopOf="parent"
android:layout_width="0dp" tools:text="Title" />
android:layout_height="wrap_content"
android:layout_marginTop="8dp" <androidx.appcompat.widget.AppCompatTextView
android:layout_marginEnd="8dp" android:id="@+id/value"
app:layout_constraintEnd_toStartOf="@+id/nextArrow" style="@style/PokerAnalyticsTheme.TextView.RowStatsValue"
app:layout_constraintStart_toStartOf="@+id/guidelineStart" android:layout_width="0dp"
app:layout_constraintTop_toTopOf="parent" android:layout_height="wrap_content"
tools:text="Title" /> android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
<androidx.appcompat.widget.AppCompatTextView app:layout_constraintBottom_toBottomOf="parent"
android:id="@+id/rowStatsTitleValue.value" app:layout_constraintEnd_toStartOf="@+id/nextArrow"
style="@style/PokerAnalyticsTheme.TextView.RowStatsValue" app:layout_constraintStart_toStartOf="@+id/guidelineStart"
android:layout_width="0dp" app:layout_constraintTop_toBottomOf="@+id/title"
android:layout_height="wrap_content" tools:text="Value" />
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp" <androidx.appcompat.widget.AppCompatImageView
app:layout_constraintBottom_toBottomOf="parent" android:id="@+id/nextArrow"
app:layout_constraintEnd_toStartOf="@+id/nextArrow" android:layout_width="24dp"
app:layout_constraintStart_toStartOf="@+id/guidelineStart" android:layout_height="24dp"
app:layout_constraintTop_toBottomOf="@+id/rowStatsTitleValue.title" android:src="@drawable/ic_arrow_right"
tools:text="Value" /> android:tint="@color/gray_light"
<ImageView
android:id="@+id/nextArrow"
android:layout_width="24dp"
android:layout_height="24dp"
android:src="@drawable/ic_arrow_right"
android:tint="@color/gray_light"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="@+id/guidelineEnd"
app:layout_constraintTop_toTopOf="parent" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/guidelineStart"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_begin="16dp" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/guidelineEnd"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_end="16dp" />
</androidx.constraintlayout.widget.ConstraintLayout>
<FrameLayout
android:id="@+id/rowStatsTitleValue.separator"
android:layout_width="match_parent"
android:layout_height="16dp"
android:visibility="gone" android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="@+id/guidelineEnd"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" />
tools:visibility="gone">
<View <androidx.constraintlayout.widget.Guideline
android:layout_width="match_parent" android:id="@+id/guidelineStart"
android:layout_height="1dp" android:layout_width="wrap_content"
android:layout_gravity="center" android:layout_height="wrap_content"
android:layout_marginStart="16dp" android:orientation="vertical"
android:layout_marginEnd="16dp" app:layout_constraintGuide_begin="16dp" />
android:background="@color/kaki" />
</FrameLayout> <androidx.constraintlayout.widget.Guideline
android:id="@+id/guidelineEnd"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_end="16dp" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.constraintlayout.widget.ConstraintLayout>

Loading…
Cancel
Save