Improve Bottom Sheet management

dev_raz_wip
Aurelien Hubert 7 years ago
parent a3b5efdbcf
commit 3a8cf0c0d1
  1. 16
      app/src/main/java/net/pokeranalytics/android/model/realm/Session.kt
  2. 6
      app/src/main/java/net/pokeranalytics/android/ui/adapter/components/DynamicRowInterface.kt
  3. 1
      app/src/main/java/net/pokeranalytics/android/ui/fragment/components/BottomSheetData.kt
  4. 1
      app/src/main/java/net/pokeranalytics/android/ui/fragment/components/BottomSheetDoubleEditTextFragment.kt
  5. 5
      app/src/main/java/net/pokeranalytics/android/ui/fragment/components/BottomSheetFragment.kt
  6. 50
      app/src/main/res/layout/bottom_sheet_double_edit_text.xml
  7. 7
      app/src/main/res/layout/bottom_sheet_edit_text.xml
  8. 3
      app/src/main/res/layout/fragment_bottom_sheet.xml
  9. 6
      app/src/main/res/menu/bottom_sheet_menu.xml
  10. 1
      app/src/main/res/values/colors.xml
  11. 5
      app/src/main/res/values/strings.xml
  12. 16
      app/src/main/res/values/styles.xml

@ -139,9 +139,9 @@ open class Session : RealmObject(), SessionInterface, DynamicRowDelegate, Displa
override fun stringForRow(row: DynamicRowInterface): String {
return when (row) {
SessionRow.BLINDS -> "Blinds"
SessionRow.GAME -> "Game"
SessionRow.DATE -> "Date"
SessionRow.BLINDS -> if (cgSmallBlind != null && cgBigBlind != null) "$cgSmallBlind / $cgBigBlind" else "--"
SessionRow.GAME -> game?.title ?: "--"
SessionRow.DATE -> if (timeFrame != null) timeFrame?.startDate.toString() else "--"
else -> "--"
}
}
@ -155,15 +155,15 @@ open class Session : RealmObject(), SessionInterface, DynamicRowDelegate, Displa
// Todo: Localize & set real data
when (row) {
SessionRow.GAME -> {
data.add(BottomSheetData("Game", game, "", 0, arrayListOf(Game(), Game(), Game())))
data.add(BottomSheetData(game, "", 0, arrayListOf(Game(), Game(), Game())))
}
SessionRow.DATE -> {
data.add(BottomSheetData("Date", timeFrame?.startDate, "Start date"))
data.add(BottomSheetData("Date", timeFrame?.endDate, "End date"))
data.add(BottomSheetData(timeFrame?.startDate, "Start date"))
data.add(BottomSheetData(timeFrame?.endDate, "End date"))
}
SessionRow.BLINDS -> {
data.add(BottomSheetData("Blind", cgSmallBlind, "Small blind", InputType.TYPE_CLASS_NUMBER))
data.add(BottomSheetData("Blind", cgBigBlind, "Big blind", InputType.TYPE_CLASS_NUMBER))
data.add(BottomSheetData(cgSmallBlind, "Small blind", InputType.TYPE_CLASS_NUMBER))
data.add(BottomSheetData(cgBigBlind, "Big blind", InputType.TYPE_CLASS_NUMBER))
}
}

@ -36,9 +36,9 @@ class SectionRow(stringRes: Int) : DynamicRowInterface {
}
enum class SessionRow(val resId: Int) : DynamicRowInterface {
BLINDS(R.string.app_name),
GAME(R.string.title_history),
DATE(R.string.title_settings);
BLINDS(R.string.blinds),
GAME(R.string.game),
DATE(R.string.date);
override fun localizedTitle(context: Context): String {
return context.getString(this.resId)

@ -4,7 +4,6 @@ import android.text.InputType
import net.pokeranalytics.android.ui.adapter.components.DisplayableDataSource
class BottomSheetData(
var title: String? = "",
var defaultValue: Any? = null,
var hint: String? = "",
var inputType: Int? = InputType.TYPE_CLASS_TEXT,

@ -45,7 +45,6 @@ class BottomSheetDoubleEditTextFragment : BottomSheetFragment() {
if (data.size == 2) {
title.text = data[0].title
editText1.hint = data[0].hint
editText1.setText((data[0].defaultValue ?: "").toString())
editText1.inputType = data[0].inputType ?: InputType.TYPE_CLASS_TEXT

@ -99,13 +99,13 @@ open class BottomSheetFragment : BottomSheetDialogFragment(), BottomSheetInterfa
* Init UI
*/
private fun initUI() {
row.let {
bottomSheetToolbar.title = row.localizedTitle(requireContext())
bottomSheetToolbar.inflateMenu(net.pokeranalytics.android.R.menu.bottom_sheet_menu)
bottomSheetToolbar.setOnMenuItemClickListener {
false
}
}
// Menu
bottomSheetToolbar.menu.findItem(R.id.actionClear).setOnMenuItemClickListener {
@ -120,6 +120,9 @@ open class BottomSheetFragment : BottomSheetDialogFragment(), BottomSheetInterfa
clickOnCheck()
true
}
}
}
/**

@ -7,53 +7,41 @@
android:orientation="vertical"
tools:background="@color/gray_darker">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/title"
<androidx.appcompat.widget.AppCompatEditText
android:id="@+id/editText1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="8dp"
android:layout_marginEnd="16dp"
android:layout_marginBottom="16dp"
android:textColor="@color/white"
android:textSize="16sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/editText1"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:text="Blinds" />
<androidx.appcompat.widget.AppCompatEditText
android:id="@+id/editText1"
android:layout_width="96dp"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:gravity="end|center_vertical"
android:gravity="center"
android:imeOptions="actionNext"
android:inputType="numberDecimal"
android:lines="1"
android:textColor="@color/white"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/editText2"
app:layout_constraintTop_toTopOf="parent" />
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintHorizontal_chainStyle="packed"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:text="10" />
<androidx.appcompat.widget.AppCompatEditText
android:id="@+id/editText2"
android:layout_width="96dp"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:gravity="end|center_vertical"
android:layout_marginTop="16dp"
android:layout_marginEnd="16dp"
android:layout_marginBottom="16dp"
android:gravity="center"
android:imeOptions="actionDone"
android:inputType="numberDecimal"
android:lines="1"
android:textColor="@color/white"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/editText1"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.0"
tools:text="20" />
</androidx.constraintlayout.widget.ConstraintLayout>

@ -15,13 +15,13 @@
android:layout_marginTop="16dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="16dp"
tools:text="Blinds"
android:textColor="@color/white"
android:textSize="16sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/editText1"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
app:layout_constraintTop_toTopOf="parent"
tools:text="Blinds" />
<androidx.appcompat.widget.AppCompatEditText
android:id="@+id/editText1"
@ -37,6 +37,7 @@
android:textColor="@color/white"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
app:layout_constraintTop_toTopOf="parent"
tools:hint="Test" />
</androidx.constraintlayout.widget.ConstraintLayout>

@ -4,11 +4,12 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#222222">
android:background="@color/gray_dark">
<androidx.appcompat.widget.Toolbar
android:id="@+id/bottomSheetToolbar"
android:layout_width="0dp"
style="@style/PokerAnalyticsTheme.Toolbar"
android:layout_height="?actionBarSize"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"

@ -5,19 +5,19 @@
<item
android:id="@+id/actionClear"
android:orderInCategory="100"
android:title="@string/app_name"
android:title="@string/clear"
android:icon="@drawable/ic_close_white_24dp"
app:showAsAction="always" />
<item
android:id="@+id/actionAdd"
android:icon="@drawable/ic_add_white_24dp"
android:orderInCategory="200"
android:title="Search"
android:title="@string/add"
app:showAsAction="ifRoom" />
<item
android:id="@+id/actionCheck"
android:icon="@drawable/ic_check_white_24dp"
android:orderInCategory="300"
android:title="User"
android:title="@string/done"
app:showAsAction="ifRoom" />
</menu>

@ -6,6 +6,7 @@
<color name="black">#000000</color>
<color name="white">#FFFFFF</color>
<color name="white_transparent">#30FFFFFF</color>
<color name="gray_light">#6AFFFFFF</color>
<color name="gray_darker">#141414</color>

@ -6,7 +6,9 @@
<string name="title_settings">Settings</string>
<string name="bankroll">Bankroll</string>
<string name="blinds">Blinds</string>
<string name="game">Game</string>
<string name="date">Date</string>
<string name="location">Location</string>
<string name="session">Session</string>
<string name="tournament_type">Tournament Type</string>
@ -16,5 +18,8 @@
<string name="live">Live</string>
<string name="currency">Currency</string>
<string name="clear">Clear</string>
<string name="add">Add</string>
<string name="done">Done</string>
</resources>

@ -11,6 +11,7 @@
<item name="bottomNavigationStyle">@style/PokerAnalyticsTheme.BottomNavigationView</item>
<item name="toolbarStyle">@style/PokerAnalyticsTheme.Toolbar</item>
<item name="editTextStyle">@style/PokerAnalyticsTheme.EditText</item>
<item name="android:textViewStyle">@style/PokerAnalyticsTheme.TextView</item>
</style>
@ -54,26 +55,35 @@
<item name="android:fontFamily">@font/roboto</item>
</style>
<style name="PokerAnalyticsTheme.TextView.Title" parent="PokerAnalyticsTheme">
<style name="PokerAnalyticsTheme.TextView.Title">
<item name="android:textSize">22sp</item>
<item name="android:textColor">@color/white</item>
<item name="android:fontFamily">@font/roboto_bold</item>
<item name="android:paddingTop">8dp</item>
</style>
<style name="PokerAnalyticsTheme.TextView.Header" parent="PokerAnalyticsTheme">
<style name="PokerAnalyticsTheme.TextView.Header">
<item name="android:textSize">22sp</item>
<item name="android:textColor">@color/gray_darker</item>
<item name="android:fontFamily">@font/roboto_bold</item>
<item name="android:paddingTop">8dp</item>
</style>
<style name="PokerAnalyticsTheme.TextView.TitleRow" parent="PokerAnalyticsTheme">
<style name="PokerAnalyticsTheme.TextView.TitleRow">
<item name="android:textSize">16sp</item>
<item name="android:textColor">@color/gray_darker</item>
<item name="android:fontFamily">@font/roboto</item>
<item name="android:paddingTop">8dp</item>
</style>
<!-- EditText -->
<style name="PokerAnalyticsTheme.EditText" parent="Widget.AppCompat.EditText">
<item name="android:textColor">@color/white</item>
<item name="android:fontFamily">@font/roboto</item>
<item name="android:textColorHint">@color/white_transparent</item>
<item name="android:textSize">22sp</item>
<item name="android:padding">16dp</item>
</style>
</resources>

Loading…
Cancel
Save