Makes radio buttons suck less.

Styles the advantage picker and proficiency picker.
Makes the saving throws screen nicer.
This commit is contained in:
Tom Hicks
2021-07-01 02:21:41 -07:00
parent 02f2888817
commit 053a640631
10 changed files with 315 additions and 86 deletions

View File

@@ -6,16 +6,17 @@
android:layout_height="wrap_content"
android:layout_margin="@dimen/text_margin"
tools:context=".ui.components.AdvantagePicker">
<!-- // TODO: style this control to look less awful by default -->
<TextView
android:id="@+id/label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/padding_normal"
android:layout_marginTop="@dimen/padding_small"
android:text="@string/label_advantage"
android:textAppearance="@android:style/TextAppearance.Material.Medium"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:text="Proficiency" />
app:layout_constraintTop_toTopOf="parent" />
<RadioGroup
android:id="@+id/group"
@@ -29,21 +30,48 @@
android:id="@+id/hasNoAdvantage"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/padding_small"
android:layout_marginVertical="@dimen/padding_normal"
android:layout_weight="1"
android:text="@string/label_advantage_none" />
android:background="@drawable/radio_button_selector"
android:button="@android:color/transparent"
android:gravity="center"
android:padding="@dimen/padding_normal"
android:text="@string/label_advantage_none"
android:textAppearance="@android:style/TextAppearance.Material.Button"
android:textColor="@color/radio_button_text"
tools:checked="true" />
<com.google.android.material.radiobutton.MaterialRadioButton
android:id="@+id/hasAdvantage"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/padding_small"
android:layout_marginVertical="@dimen/padding_normal"
android:layout_weight="1"
android:text="@string/label_advantage_advantage" />
android:background="@drawable/radio_button_selector"
android:button="@android:color/transparent"
android:gravity="center"
android:padding="@dimen/padding_normal"
android:text="@string/label_advantage_advantage"
android:textAppearance="@android:style/TextAppearance.Material.Button"
android:textColor="@color/radio_button_text"
tools:checked="false" />
<com.google.android.material.radiobutton.MaterialRadioButton
android:id="@+id/hasDisadvantage"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/padding_small"
android:layout_marginVertical="@dimen/padding_normal"
android:layout_weight="1"
android:text="@string/label_advantage_disadvantage" />
android:background="@drawable/radio_button_selector"
android:button="@android:color/transparent"
android:gravity="center"
android:padding="@dimen/padding_normal"
android:text="@string/label_advantage_disadvantage"
android:textAppearance="@android:style/TextAppearance.Material.Button"
android:textColor="@color/radio_button_text"
tools:checked="false" />
</RadioGroup>
</merge>

View File

@@ -0,0 +1,78 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/text_margin"
tools:context=".ui.components.AdvantagePicker">
<!-- // TODO: style this control to look less awful by default -->
<TextView
android:id="@+id/label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/padding_normal"
android:layout_marginTop="@dimen/padding_small"
android:text="@string/label_advantage"
android:textAppearance="@android:style/TextAppearance.Material.Body1"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<RadioGroup
android:id="@+id/group"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toBottomOf="@id/label">
<com.google.android.material.radiobutton.MaterialRadioButton
android:id="@+id/hasNoAdvantage"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginHorizontal="4dp"
android:layout_marginVertical="8dp"
android:layout_weight="1"
android:background="@drawable/radio_button_selector"
android:button="@android:color/transparent"
android:gravity="center"
android:padding="8dp"
android:text="@string/label_advantage_none"
android:textAppearance="@android:style/TextAppearance.Material.Button"
android:textColor="@color/radio_button_text"
tools:checked="true" />
<com.google.android.material.radiobutton.MaterialRadioButton
android:id="@+id/hasAdvantage"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginHorizontal="4dp"
android:layout_marginVertical="8dp"
android:layout_weight="1"
android:background="@drawable/radio_button_selector"
android:button="@android:color/transparent"
android:gravity="center"
android:padding="8dp"
android:text="@string/label_advantage_advantage"
android:textAppearance="@android:style/TextAppearance.Material.Button"
android:textColor="@color/radio_button_text"
tools:checked="false" />
<com.google.android.material.radiobutton.MaterialRadioButton
android:id="@+id/hasDisadvantage"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginHorizontal="4dp"
android:layout_marginVertical="8dp"
android:layout_weight="1"
android:background="@drawable/radio_button_selector"
android:button="@android:color/transparent"
android:gravity="center"
android:padding="8dp"
android:text="@string/label_advantage_disadvantage"
android:textAppearance="@android:style/TextAppearance.Material.Button"
android:textColor="@color/radio_button_text"
tools:checked="false" />
</RadioGroup>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -6,16 +6,17 @@
android:layout_height="wrap_content"
android:layout_margin="@dimen/text_margin"
tools:context=".ui.components.ProficiencyPicker">
<!-- // TODO: style this control to look less awful by default -->
<TextView
android:id="@+id/label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/padding_normal"
android:layout_marginTop="@dimen/padding_small"
android:text="@string/label_proficiency"
android:textAppearance="@android:style/TextAppearance.Material.Medium"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:text="Proficiency" />
app:layout_constraintTop_toTopOf="parent" />
<RadioGroup
android:id="@+id/group"
@@ -29,21 +30,48 @@
android:id="@+id/none"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/padding_small"
android:layout_marginVertical="@dimen/padding_normal"
android:layout_weight="1"
android:text="@string/label_proficiency_none" />
android:background="@drawable/radio_button_selector"
android:button="@android:color/transparent"
android:gravity="center"
android:padding="@dimen/padding_normal"
android:text="@string/label_proficiency_none"
android:textAppearance="@android:style/TextAppearance.Material.Button"
android:textColor="@color/radio_button_text"
tools:checked="true" />
<com.google.android.material.radiobutton.MaterialRadioButton
android:id="@+id/proficient"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/padding_small"
android:layout_marginVertical="@dimen/padding_normal"
android:layout_weight="1"
android:text="@string/label_proficiency_proficient" />
android:background="@drawable/radio_button_selector"
android:button="@android:color/transparent"
android:gravity="center"
android:padding="@dimen/padding_normal"
android:text="@string/label_proficiency_proficient"
android:textAppearance="@android:style/TextAppearance.Material.Button"
android:textColor="@color/radio_button_text"
tools:checked="false" />
<com.google.android.material.radiobutton.MaterialRadioButton
android:id="@+id/expertise"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/padding_small"
android:layout_marginVertical="@dimen/padding_normal"
android:layout_weight="1"
android:text="@string/label_proficiency_expertise" />
android:background="@drawable/radio_button_selector"
android:button="@android:color/transparent"
android:gravity="center"
android:padding="@dimen/padding_normal"
android:text="@string/label_proficiency_expertise"
android:textAppearance="@android:style/TextAppearance.Material.Button"
android:textColor="@color/radio_button_text"
tools:checked="false" />
</RadioGroup>
</merge>

View File

@@ -3,109 +3,169 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".ui.editmonster.EditSavingThrowsFragment">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
android:divider="?android:attr/dividerVertical"
android:orientation="vertical"
android:showDividers="middle">
<TextView
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="start"
android:text="@string/label_strength" />
android:layout_marginTop="@dimen/padding_large"
android:layout_marginBottom="@dimen/padding_normal"
android:orientation="vertical">
<com.majinnaibu.monstercards.ui.components.ProficiencyPicker
android:id="@+id/strengthProficiency"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:text="@string/label_strength"
android:textAppearance="@android:style/TextAppearance.Material.Title" />
<com.majinnaibu.monstercards.ui.components.AdvantagePicker
android:id="@+id/strengthAdvantage"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<com.majinnaibu.monstercards.ui.components.ProficiencyPicker
android:id="@+id/strengthProficiency"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<TextView
<com.majinnaibu.monstercards.ui.components.AdvantagePicker
android:id="@+id/strengthAdvantage"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="start"
android:text="@string/label_dexterity" />
android:layout_marginTop="@dimen/padding_large"
android:layout_marginBottom="@dimen/padding_normal"
android:orientation="vertical">
<com.majinnaibu.monstercards.ui.components.ProficiencyPicker
android:id="@+id/dexterityProficiency"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:text="@string/label_dexterity"
android:textAppearance="@android:style/TextAppearance.Material.Title" />
<com.majinnaibu.monstercards.ui.components.AdvantagePicker
android:id="@+id/dexterityAdvantage"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<com.majinnaibu.monstercards.ui.components.ProficiencyPicker
android:id="@+id/dexterityProficiency"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<TextView
<com.majinnaibu.monstercards.ui.components.AdvantagePicker
android:id="@+id/dexterityAdvantage"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="start"
android:text="@string/label_constitution" />
android:layout_marginTop="@dimen/padding_large"
android:layout_marginBottom="@dimen/padding_normal"
android:orientation="vertical">
<com.majinnaibu.monstercards.ui.components.ProficiencyPicker
android:id="@+id/constitutionProficiency"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:text="@string/label_constitution"
android:textAppearance="@android:style/TextAppearance.Material.Title" />
<com.majinnaibu.monstercards.ui.components.AdvantagePicker
android:id="@+id/constitutionAdvantage"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<com.majinnaibu.monstercards.ui.components.ProficiencyPicker
android:id="@+id/constitutionProficiency"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<TextView
<com.majinnaibu.monstercards.ui.components.AdvantagePicker
android:id="@+id/constitutionAdvantage"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="start"
android:text="@string/label_intelligence" />
android:layout_marginTop="@dimen/padding_large"
android:layout_marginBottom="@dimen/padding_normal"
android:orientation="vertical">
<com.majinnaibu.monstercards.ui.components.ProficiencyPicker
android:id="@+id/intelligenceProficiency"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:text="@string/label_intelligence"
android:textAppearance="@android:style/TextAppearance.Material.Title" />
<com.majinnaibu.monstercards.ui.components.AdvantagePicker
android:id="@+id/intelligenceAdvantage"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<com.majinnaibu.monstercards.ui.components.ProficiencyPicker
android:id="@+id/intelligenceProficiency"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<TextView
<com.majinnaibu.monstercards.ui.components.AdvantagePicker
android:id="@+id/intelligenceAdvantage"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="start"
android:text="@string/label_wisdom" />
android:layout_marginTop="@dimen/padding_large"
android:layout_marginBottom="@dimen/padding_normal"
android:orientation="vertical">
<com.majinnaibu.monstercards.ui.components.ProficiencyPicker
android:id="@+id/wisdomProficiency"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:text="@string/label_wisdom"
android:textAppearance="@android:style/TextAppearance.Material.Title" />
<com.majinnaibu.monstercards.ui.components.AdvantagePicker
android:id="@+id/wisdomAdvantage"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<com.majinnaibu.monstercards.ui.components.ProficiencyPicker
android:id="@+id/wisdomProficiency"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<TextView
<com.majinnaibu.monstercards.ui.components.AdvantagePicker
android:id="@+id/wisdomAdvantage"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="start"
android:text="@string/label_charisma" />
android:layout_marginTop="@dimen/padding_large"
android:layout_marginBottom="@dimen/padding_normal"
android:orientation="vertical">
<com.majinnaibu.monstercards.ui.components.ProficiencyPicker
android:id="@+id/charismaProficiency"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:text="@string/label_charisma"
android:textAppearance="@android:style/TextAppearance.Material.Title" />
<com.majinnaibu.monstercards.ui.components.AdvantagePicker
android:id="@+id/charismaAdvantage"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<com.majinnaibu.monstercards.ui.components.ProficiencyPicker
android:id="@+id/charismaProficiency"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<com.majinnaibu.monstercards.ui.components.AdvantagePicker
android:id="@+id/charismaAdvantage"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
</LinearLayout>
</ScrollView>
</ScrollView>