Refactors monster detail to use a view holder and partially corrects Regional Actions to Regional Effects.

This commit is contained in:
Tom Hicks
2021-06-27 00:17:16 -07:00
parent d567609250
commit 918751dd3e
4 changed files with 328 additions and 140 deletions

View File

@@ -181,7 +181,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/text_margin"
android:text="@string/label_regional_actions"
android:text="@string/label_regional_effects"
android:textSize="@dimen/text_h4_size"
app:drawableEndCompat="@drawable/ic_chevron_right_24" />

View File

@@ -56,7 +56,7 @@
app:layout_constraintTop_toBottomOf="@+id/meta" />
<TextView
android:id="@+id/armor_class"
android:id="@+id/armorClass"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
@@ -69,7 +69,7 @@
tools:text="Armor Class 15" />
<TextView
android:id="@+id/hit_points"
android:id="@+id/hitPoints"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
@@ -78,7 +78,7 @@
android:layout_marginBottom="8dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/armor_class"
app:layout_constraintTop_toBottomOf="@+id/armorClass"
tools:text="Hit Points 1 (1d4 - 1)" />
<TextView
@@ -91,7 +91,7 @@
android:layout_marginBottom="8dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/hit_points"
app:layout_constraintTop_toBottomOf="@+id/hitPoints"
tools:text="10 ft., fly 30 ft." />
<ImageView
@@ -111,7 +111,7 @@
<!-- Strength -->
<TextView
android:id="@+id/label_str"
android:id="@+id/strength_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
@@ -121,7 +121,7 @@
android:text="@string/strength_abbreviation"
android:textAlignment="center"
android:textStyle="bold"
app:layout_constraintEnd_toStartOf="@+id/label_dex"
app:layout_constraintEnd_toStartOf="@+id/dexterity_label"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/divider2" />
@@ -134,14 +134,14 @@
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:textAlignment="center"
app:layout_constraintEnd_toEndOf="@+id/label_str"
app:layout_constraintStart_toStartOf="@+id/label_str"
app:layout_constraintTop_toBottomOf="@+id/label_str"
app:layout_constraintEnd_toEndOf="@+id/strength_label"
app:layout_constraintStart_toStartOf="@+id/strength_label"
app:layout_constraintTop_toBottomOf="@+id/strength_label"
tools:text="2 (-4)" />
<!-- Dexterity -->
<TextView
android:id="@+id/label_dex"
android:id="@+id/dexterity_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
@@ -151,8 +151,8 @@
android:text="@string/dexterity_abbreviation"
android:textAlignment="center"
android:textStyle="bold"
app:layout_constraintEnd_toStartOf="@+id/label_con"
app:layout_constraintStart_toEndOf="@+id/label_str"
app:layout_constraintEnd_toStartOf="@+id/constitution_label"
app:layout_constraintStart_toEndOf="@+id/strength_label"
app:layout_constraintTop_toBottomOf="@+id/divider2" />
<TextView
@@ -164,14 +164,14 @@
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:textAlignment="center"
app:layout_constraintEnd_toEndOf="@+id/label_dex"
app:layout_constraintStart_toStartOf="@+id/label_dex"
app:layout_constraintTop_toBottomOf="@+id/label_dex"
app:layout_constraintEnd_toEndOf="@+id/dexterity_label"
app:layout_constraintStart_toStartOf="@+id/dexterity_label"
app:layout_constraintTop_toBottomOf="@+id/dexterity_label"
tools:text="20 (+5)" />
<!-- Constitution -->
<TextView
android:id="@+id/label_con"
android:id="@+id/constitution_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
@@ -181,8 +181,8 @@
android:text="@string/constitution_abbreviation"
android:textAlignment="center"
android:textStyle="bold"
app:layout_constraintEnd_toStartOf="@+id/label_int"
app:layout_constraintStart_toEndOf="@+id/label_dex"
app:layout_constraintEnd_toStartOf="@+id/intelligence_label"
app:layout_constraintStart_toEndOf="@+id/dexterity_label"
app:layout_constraintTop_toBottomOf="@+id/divider2" />
<TextView
@@ -194,14 +194,14 @@
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:textAlignment="center"
app:layout_constraintEnd_toEndOf="@+id/label_con"
app:layout_constraintStart_toStartOf="@+id/label_con"
app:layout_constraintTop_toBottomOf="@+id/label_con"
app:layout_constraintEnd_toEndOf="@+id/constitution_label"
app:layout_constraintStart_toStartOf="@+id/constitution_label"
app:layout_constraintTop_toBottomOf="@+id/constitution_label"
tools:text="8 (-1)" />
<!-- Intelligence -->
<TextView
android:id="@+id/label_int"
android:id="@+id/intelligence_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
@@ -211,8 +211,8 @@
android:text="@string/intelligence_abbreviation"
android:textAlignment="center"
android:textStyle="bold"
app:layout_constraintEnd_toStartOf="@+id/label_wis"
app:layout_constraintStart_toEndOf="@+id/label_con"
app:layout_constraintEnd_toStartOf="@+id/wisdom_label"
app:layout_constraintStart_toEndOf="@+id/constitution_label"
app:layout_constraintTop_toBottomOf="@+id/divider2" />
<TextView
@@ -224,14 +224,14 @@
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:textAlignment="center"
app:layout_constraintEnd_toEndOf="@+id/label_int"
app:layout_constraintStart_toStartOf="@+id/label_int"
app:layout_constraintTop_toBottomOf="@+id/label_int"
app:layout_constraintEnd_toEndOf="@+id/intelligence_label"
app:layout_constraintStart_toStartOf="@+id/intelligence_label"
app:layout_constraintTop_toBottomOf="@+id/intelligence_label"
tools:text="10 (+0)" />
<!-- Wisdom -->
<TextView
android:id="@+id/label_wis"
android:id="@+id/wisdom_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
@@ -241,8 +241,8 @@
android:text="@string/wisdom_abbreviation"
android:textAlignment="center"
android:textStyle="bold"
app:layout_constraintEnd_toStartOf="@+id/label_cha"
app:layout_constraintStart_toEndOf="@+id/label_int"
app:layout_constraintEnd_toStartOf="@+id/charisma_label"
app:layout_constraintStart_toEndOf="@+id/intelligence_label"
app:layout_constraintTop_toBottomOf="@+id/divider2" />
<TextView
@@ -254,14 +254,14 @@
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:textAlignment="center"
app:layout_constraintEnd_toEndOf="@+id/label_wis"
app:layout_constraintStart_toStartOf="@+id/label_wis"
app:layout_constraintTop_toBottomOf="@+id/label_wis"
app:layout_constraintEnd_toEndOf="@+id/wisdom_label"
app:layout_constraintStart_toStartOf="@+id/wisdom_label"
app:layout_constraintTop_toBottomOf="@+id/wisdom_label"
tools:text="14 (+2)" />
<!-- Charisma -->
<TextView
android:id="@+id/label_cha"
android:id="@+id/charisma_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
@@ -272,7 +272,7 @@
android:textAlignment="center"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/label_wis"
app:layout_constraintStart_toEndOf="@+id/wisdom_label"
app:layout_constraintTop_toBottomOf="@+id/divider2" />
<TextView
@@ -284,9 +284,9 @@
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:textAlignment="center"
app:layout_constraintEnd_toEndOf="@+id/label_cha"
app:layout_constraintStart_toStartOf="@+id/label_cha"
app:layout_constraintTop_toBottomOf="@+id/label_cha"
app:layout_constraintEnd_toEndOf="@+id/charisma_label"
app:layout_constraintStart_toStartOf="@+id/charisma_label"
app:layout_constraintTop_toBottomOf="@+id/charisma_label"
tools:text="15 (+2)" />
<ImageView
@@ -305,7 +305,7 @@
app:layout_constraintTop_toBottomOf="@+id/strength" />
<TextView
android:id="@+id/saving_throws"
android:id="@+id/savingThrows"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
@@ -327,11 +327,11 @@
android:layout_marginBottom="8dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/saving_throws"
app:layout_constraintTop_toBottomOf="@+id/savingThrows"
tools:text="Skills" />
<TextView
android:id="@+id/damage_vulnerabilities"
android:id="@+id/damageVulnerabilities"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
@@ -344,7 +344,7 @@
tools:text="Damage Vulnerabilities" />
<TextView
android:id="@+id/damage_resistances"
android:id="@+id/damageResistances"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
@@ -353,11 +353,11 @@
android:layout_marginBottom="8dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/damage_vulnerabilities"
app:layout_constraintTop_toBottomOf="@+id/damageVulnerabilities"
tools:text="Damage Resistances" />
<TextView
android:id="@+id/damage_immunities"
android:id="@+id/damageImmunities"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
@@ -366,11 +366,11 @@
android:layout_marginBottom="8dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/damage_resistances"
app:layout_constraintTop_toBottomOf="@+id/damageResistances"
tools:text="Damage Immunities" />
<TextView
android:id="@+id/condition_immunities"
android:id="@+id/conditionImmunities"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
@@ -379,7 +379,7 @@
android:layout_marginBottom="8dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/damage_immunities"
app:layout_constraintTop_toBottomOf="@+id/damageImmunities"
tools:text="Condition Immunities" />
<TextView
@@ -392,7 +392,7 @@
android:layout_marginBottom="8dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/condition_immunities"
app:layout_constraintTop_toBottomOf="@+id/conditionImmunities"
tools:text="Senses" />
<TextView
@@ -437,20 +437,20 @@
tools:text="Damage Vulnerabilities" />
<TextView
android:id="@+id/label_actions"
android:id="@+id/actions_label"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:text="@string/actions_label"
android:text="@string/label_actions"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/abilities" />
<ImageView
android:id="@+id/divider4"
android:id="@+id/actions_divider"
android:layout_width="0dp"
android:layout_height="8dp"
android:layout_marginStart="8dp"
@@ -462,7 +462,7 @@
android:src="@drawable/ic_section_divider"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/label_actions" />
app:layout_constraintTop_toBottomOf="@+id/actions_label" />
<!-- Actions -->
<LinearLayout
@@ -476,8 +476,179 @@
android:orientation="vertical"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/divider4"
app:layout_constraintTop_toBottomOf="@+id/actions_divider"
tools:text="Damage Vulnerabilities" />
<TextView
android:id="@+id/reactions_label"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:text="@string/label_reactions"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/actions" />
<ImageView
android:id="@+id/reactions_divider"
android:layout_width="0dp"
android:layout_height="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:contentDescription="@string/section_divider"
android:scaleType="fitXY"
android:src="@drawable/ic_section_divider"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/reactions_label" />
<!-- Reactions -->
<LinearLayout
android:id="@+id/reactions"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="0dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="0dp"
android:orientation="vertical"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/reactions_divider"
tools:text="Damage Vulnerabilities" />
<TextView
android:id="@+id/legendaryActions_label"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:text="@string/label_legendary_actions"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/reactions" />
<ImageView
android:id="@+id/legendaryActions_divider"
android:layout_width="0dp"
android:layout_height="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:contentDescription="@string/section_divider"
android:scaleType="fitXY"
android:src="@drawable/ic_section_divider"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/legendaryActions_label" />
<!-- Legendary Actions -->
<LinearLayout
android:id="@+id/legendaryActions"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="0dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="0dp"
android:orientation="vertical"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/legendaryActions_divider"
tools:text="Damage Vulnerabilities" />
<TextView
android:id="@+id/lairActions_label"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:text="@string/label_lair_actions"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/legendaryActions" />
<ImageView
android:id="@+id/lairActions_divider"
android:layout_width="0dp"
android:layout_height="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:contentDescription="@string/section_divider"
android:scaleType="fitXY"
android:src="@drawable/ic_section_divider"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/lairActions_label" />
<!-- Lair Actions -->
<LinearLayout
android:id="@+id/lairActions"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="0dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="0dp"
android:orientation="vertical"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/lairActions_divider"
tools:text="Damage Vulnerabilities" />
<TextView
android:id="@+id/regionalEffects_label"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:text="@string/label_regional_effects"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/lairActions" />
<ImageView
android:id="@+id/regionalEffects_divider"
android:layout_width="0dp"
android:layout_height="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:contentDescription="@string/section_divider"
android:scaleType="fitXY"
android:src="@drawable/ic_section_divider"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/regionalEffects_label" />
<!-- Regional Effects -->
<LinearLayout
android:id="@+id/regionalEffects"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="0dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="0dp"
android:orientation="vertical"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/regionalEffects_divider"
tools:text="Damage Vulnerabilities" />
</androidx.constraintlayout.widget.ConstraintLayout>
</ScrollView>
</ScrollView>