Adds AdvantagePicker and ProficiencyPicker components.

This commit is contained in:
2021-05-31 12:56:58 -07:00
committed by Tom Hicks
parent 60d139078b
commit 370d416a23
5 changed files with 32 additions and 82 deletions

View File

@@ -33,9 +33,9 @@ public class AdvantagePicker extends ConstraintLayout {
setValue(AdvantageType.NONE);
mHolder.group.setOnCheckedChangeListener((group, checkedId) -> {
if (R.id.hasAdvantage == checkedId) {
if (R.id.advantage == checkedId) {
setValue(AdvantageType.ADVANTAGE);
} else if (R.id.hasDisadvantage == checkedId) {
} else if (R.id.disadvantage == checkedId) {
setValue(AdvantageType.DISADVANTAGE);
} else {
setValue(AdvantageType.NONE);
@@ -60,11 +60,11 @@ public class AdvantagePicker extends ConstraintLayout {
}
final int checkedId = mHolder.group.getCheckedRadioButtonId();
if (mSelectedValue == AdvantageType.ADVANTAGE) {
if (checkedId != R.id.hasAdvantage) {
if (checkedId != R.id.advantage) {
mHolder.advantage.setChecked(true);
}
} else if (mSelectedValue == AdvantageType.DISADVANTAGE) {
if (checkedId != R.id.hasDisadvantage) {
if (checkedId != R.id.disadvantage) {
mHolder.disadvantage.setChecked(true);
}
} else {
@@ -88,11 +88,11 @@ public class AdvantagePicker extends ConstraintLayout {
final MaterialRadioButton advantage;
final MaterialRadioButton disadvantage;
ViewHolder(@NonNull View root) {
ViewHolder(View root) {
group = root.findViewById(R.id.group);
none = root.findViewById(R.id.hasNoAdvantage);
advantage = root.findViewById(R.id.hasAdvantage);
disadvantage = root.findViewById(R.id.hasDisadvantage);
none = root.findViewById(R.id.none);
advantage = root.findViewById(R.id.advantage);
disadvantage = root.findViewById(R.id.disadvantage);
}
}
}

View File

@@ -88,7 +88,7 @@ public class ProficiencyPicker extends ConstraintLayout {
final MaterialRadioButton proficient;
final MaterialRadioButton expertise;
ViewHolder(@NonNull View root) {
ViewHolder(View root) {
group = root.findViewById(R.id.group);
none = root.findViewById(R.id.none);
proficient = root.findViewById(R.id.proficient);

View File

@@ -11,12 +11,10 @@
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" />
app:layout_constraintTop_toTopOf="parent"
tools:text="Proficiency" />
<RadioGroup
android:id="@+id/group"
@@ -27,51 +25,24 @@
app:layout_constraintTop_toBottomOf="@id/label">
<com.google.android.material.radiobutton.MaterialRadioButton
android:id="@+id/hasNoAdvantage"
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: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" />
android:text="@string/label_advantage_none" />
<com.google.android.material.radiobutton.MaterialRadioButton
android:id="@+id/hasAdvantage"
android:id="@+id/advantage"
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: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" />
android:text="@string/label_advantage_advantage" />
<com.google.android.material.radiobutton.MaterialRadioButton
android:id="@+id/hasDisadvantage"
android:id="@+id/disadvantage"
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: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" />
android:text="@string/label_advantage_disadvantage" />
</RadioGroup>
</merge>
</merge>

View File

@@ -11,12 +11,10 @@
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" />
app:layout_constraintTop_toTopOf="parent"
tools:text="Proficiency" />
<RadioGroup
android:id="@+id/group"
@@ -30,48 +28,21 @@
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: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" />
android:text="@string/label_proficiency_none" />
<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: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" />
android:text="@string/label_proficiency_proficient" />
<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: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" />
android:text="@string/label_proficiency_expertise" />
</RadioGroup>
</merge>
</merge>

View File

@@ -12,6 +12,10 @@
<string name="label_ability_scores">Ability Scores</string>
<string name="label_abilities">Abilities</string>
<string name="label_actions">Actions</string>
<string name="label_advantage">Advantage</string>
<string name="label_advantage_advantage">Advantage</string>
<string name="label_advantage_disadvantage">Disadvantage</string>
<string name="label_advantage_none">None</string>
<string name="label_alignment">Alignment</string>
<string name="label_armor">Armor</string>
<string name="label_base_speed">Base Speed</string>
@@ -42,6 +46,10 @@
<string name="label_legendary_actions">Legendary Actions</string>
<string name="label_natural_armor_bonus">Natural Armor Bonus</string>
<string name="label_name">Name</string>
<string name="label_proficiency">Proficiency</string>
<string name="label_proficiency_expertise">Expertise</string>
<string name="label_proficiency_none">None</string>
<string name="label_proficiency_proficient">Proficient</string>
<string name="label_reactions">Reactions</string>
<string name="label_regional_actions">Regional Actions</string>
<string name="label_saving_throws">Saving Throws</string>