Use better header + create stat view

feature/top10
Laurent 7 years ago
parent bf1babad67
commit 2104a9634d
  1. 2
      app/src/main/java/net/pokeranalytics/android/ui/fragment/StatsFragment.kt
  2. 12
      app/src/main/java/net/pokeranalytics/android/ui/view/RowRepresentable.kt
  3. 3
      app/src/main/java/net/pokeranalytics/android/ui/view/RowViewType.kt
  4. 78
      app/src/main/res/layout/row_stat.xml

@ -122,7 +122,7 @@ class StatsFragment : PokerAnalyticsFragment(), RowRepresentableDataSource {
val rows: ArrayList<RowRepresentable> = ArrayList<RowRepresentable>()
results.forEach {
rows.add(HeaderRowRepresentable(RowViewType.HEADER_TITLE_VALUE, title = it.group.name))
rows.add(HeaderRowRepresentable(RowViewType.TITLE, title = it.group.name))
it.allStats().forEach {
rows.add(StatRepresentable(it))
}

@ -94,6 +94,18 @@ class HeaderRowRepresentable(
var value: String? = null
) : RowRepresentable {
override fun localizedTitle(context: Context): String {
this.title?.let {
return it
}
this.resId?.let {
return context.getString(it)
}
return "LOCALISATION NOT FOUND"
}
override val viewType: Int = customViewType?.ordinal ?: RowViewType.HEADER.ordinal
override var displayHeader: Boolean = false
override var headerValues: ArrayList<String> = ArrayList()

@ -120,12 +120,11 @@ enum class RowViewType {
)
STAT -> TitleValueViewHolder(
LayoutInflater.from(parent.context).inflate(
R.layout.row_title_value,
R.layout.row_stat,
parent,
false
)
)
else -> throw Exception("Undefined rowViewType's holder")
}
}

@ -0,0 +1,78 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.appcompat.widget.LinearLayoutCompat xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/rowTitleValue.container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?selectableItemBackground">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/rowTitleValue.title"
style="@style/PokerAnalyticsTheme.TextView.RowTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:layout_marginBottom="16dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="@+id/guidelineStart"
app:layout_constraintTop_toTopOf="parent"
tools:text="Title" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/rowTitleValue.value"
style="@style/PokerAnalyticsTheme.TextView.RowValue"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:ellipsize="end"
android:gravity="end"
android:maxLines="1"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="@+id/guidelineEnd"
app:layout_constraintStart_toEndOf="@+id/rowTitleValue.title"
app:layout_constraintTop_toTopOf="parent"
tools:text="Value" app:layout_constraintHorizontal_bias="1.0"/>
<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/rowTitleValue.separator"
android:layout_width="match_parent"
android:layout_height="16dp"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
tools:visibility="gone">
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_gravity="center"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:background="@color/kaki" />
</FrameLayout>
</androidx.appcompat.widget.LinearLayoutCompat>
Loading…
Cancel
Save