Skip to content

Commit 0cb355b

Browse files
leticiarossiraajkumars
authored andcommitted
[Checkbox][Catalog] Updated checkbox catalog demo to include error state.
PiperOrigin-RevId: 455130475
1 parent 3fdfb6e commit 0cb355b

4 files changed

Lines changed: 55 additions & 29 deletions

File tree

catalog/java/io/material/catalog/checkbox/CheckBoxMainDemoFragment.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import android.widget.CheckBox;
2626
import android.widget.CompoundButton;
2727
import androidx.annotation.Nullable;
28+
import com.google.android.material.checkbox.MaterialCheckBox;
2829
import io.material.catalog.feature.DemoFragment;
2930
import io.material.catalog.feature.DemoUtils;
3031
import java.util.List;
@@ -38,6 +39,8 @@ public View onCreateDemoView(
3839
View view = layoutInflater.inflate(R.layout.cat_checkbox, viewGroup, false /* attachToRoot */);
3940
ViewGroup toggleContainer = view.findViewById(R.id.checkbox_toggle_container);
4041
List<CheckBox> toggledCheckBoxes = DemoUtils.findViewsWithType(toggleContainer, CheckBox.class);
42+
List<MaterialCheckBox> allCheckBoxes =
43+
DemoUtils.findViewsWithType(view, MaterialCheckBox.class);
4144

4245
CheckBox checkBoxToggle = view.findViewById(R.id.checkbox_toggle);
4346
checkBoxToggle.setOnCheckedChangeListener(
@@ -47,6 +50,13 @@ public View onCreateDemoView(
4750
}
4851
});
4952

53+
CheckBox checkBoxToggleError = view.findViewById(R.id.checkbox_toggle_error);
54+
checkBoxToggleError.setOnCheckedChangeListener(
55+
(CompoundButton buttonView, boolean isChecked) -> {
56+
for (MaterialCheckBox cb : allCheckBoxes) {
57+
cb.setErrorShown(isChecked);
58+
}
59+
});
5060
return view;
5161
}
5262
}

catalog/java/io/material/catalog/checkbox/res/layout/cat_checkbox.xml

Lines changed: 28 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818

1919
<LinearLayout
2020
xmlns:android="http://schemas.android.com/apk/res/android"
21-
xmlns:app="http://schemas.android.com/apk/res-auto"
2221
android:id="@+id/main_viewGroup"
2322
android:layout_width="match_parent"
2423
android:layout_height="wrap_content"
@@ -33,8 +32,7 @@
3332
android:layout_width="match_parent"
3433
android:layout_height="match_parent"
3534
android:layout_columnSpan="2"
36-
android:text="@string/cat_checkbox_color_guide"
37-
android:textSize="@dimen/cat_checkbox_header_size"/>
35+
android:text="@string/cat_checkbox_intro" />
3836
<CheckBox
3937
android:layout_width="match_parent"
4038
android:layout_height="match_parent"
@@ -51,8 +49,7 @@
5149
android:layout_width="match_parent"
5250
android:layout_height="match_parent"
5351
android:layout_columnSpan="2"
54-
android:text="@string/cat_checkbox_disabled_guide"
55-
android:textSize="@dimen/cat_checkbox_header_size"/>
52+
android:text="@string/cat_checkbox_disabled_guide" />
5653
<CheckBox
5754
android:layout_width="match_parent"
5855
android:layout_height="match_parent"
@@ -66,20 +63,20 @@
6663
android:enabled="false"
6764
android:text="@string/cat_checkbox_disabled"/>
6865
</GridLayout>
69-
<ImageView
70-
android:layout_width="match_parent"
71-
android:layout_height="@dimen/cat_checkbox_line_separator_thickness"
72-
android:layout_marginTop="@dimen/cat_checkbox_line_separator_margin"
73-
android:layout_marginBottom="@dimen/cat_checkbox_line_separator_margin"
74-
android:background="?attr/colorSecondary"/>
66+
67+
<com.google.android.material.divider.MaterialDivider
68+
android:layout_width="match_parent"
69+
android:layout_height="wrap_content"
70+
android:layout_marginTop="@dimen/cat_checkbox_line_separator_margin"
71+
android:layout_marginBottom="@dimen/cat_checkbox_line_separator_margin"/>
72+
7573
<CheckBox
7674
android:id="@+id/checkbox_toggle"
7775
android:layout_width="match_parent"
7876
android:layout_height="match_parent"
7977
android:checked="false"
8078
android:enabled="true"
81-
android:text="@string/cat_checkbox_enablable_description"
82-
android:textSize="@dimen/cat_checkbox_header_size"/>
79+
android:text="@string/cat_checkbox_enablable_description"/>
8380
<LinearLayout
8481
android:id="@+id/checkbox_toggle_container"
8582
android:layout_width="match_parent"
@@ -99,18 +96,30 @@
9996
android:enabled="false"
10097
android:text="@string/cat_checkbox_toggle"/>
10198
</LinearLayout>
102-
<ImageView
99+
100+
<com.google.android.material.divider.MaterialDivider
103101
android:layout_width="match_parent"
104-
android:layout_height="@dimen/cat_checkbox_line_separator_thickness"
102+
android:layout_height="wrap_content"
105103
android:layout_marginTop="@dimen/cat_checkbox_line_separator_margin"
106-
android:layout_marginBottom="@dimen/cat_checkbox_line_separator_margin"
107-
android:background="?attr/colorSecondary"/>
104+
android:layout_marginBottom="@dimen/cat_checkbox_line_separator_margin"/>
105+
108106
<TextView
109107
android:layout_width="match_parent"
110108
android:layout_height="wrap_content"
111-
android:text="@string/cat_checkbox_no_text"
112-
android:textSize="@dimen/cat_checkbox_header_size"/>
109+
android:text="@string/cat_checkbox_no_text"/>
113110
<CheckBox
114111
android:layout_width="wrap_content"
115112
android:layout_height="wrap_content"/>
113+
114+
<com.google.android.material.divider.MaterialDivider
115+
android:layout_width="match_parent"
116+
android:layout_height="wrap_content"
117+
android:layout_marginTop="@dimen/cat_checkbox_line_separator_margin"
118+
android:layout_marginBottom="@dimen/cat_checkbox_line_separator_margin"/>
119+
120+
<CheckBox
121+
android:id="@+id/checkbox_toggle_error"
122+
android:layout_width="match_parent"
123+
android:layout_height="match_parent"
124+
android:text="@string/cat_checkbox_toggle_error"/>
116125
</LinearLayout>

catalog/java/io/material/catalog/checkbox/res/values/dimens.xml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,5 +19,4 @@
1919
<dimen name="cat_checkbox_line_separator_margin">8dp</dimen>
2020
<dimen name="cat_checkbox_padding">8dp</dimen>
2121
<dimen name="cat_checkbox_indent">8dp</dimen>
22-
<dimen name="cat_checkbox_header_size">12dp</dimen>
2322
</resources>

catalog/java/io/material/catalog/checkbox/res/values/strings.xml

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,23 @@
1616
-->
1717

1818
<resources>
19-
<string name="cat_checkbox_title">Checkbox</string>
20-
<string name="cat_checkbox_description">
19+
<string name="cat_checkbox_title" translatable="false">Checkbox</string>
20+
<string name="cat_checkbox_description" translatable="false">
2121
The CheckBox provides a selectable element, usually part of a list,
2222
that toggles between two states.</string>
23-
<string name="cat_checkbox_color_guide">CheckBox elements respond to changes in colorSecondary</string>
24-
<string name="cat_checkbox_disabled_guide">CheckBox elements that are disabled cannot be interacted with and will appear faded</string>
25-
<string name="cat_checkbox_enabled">Enabled</string>
26-
<string name="cat_checkbox_disabled">Disabled</string>
27-
<string name="cat_checkbox_enablable_description">Check this checkbox to control the enabled state of the boxes below.</string>
28-
<string name="cat_checkbox_toggle">Controlled by a checkbox</string>
29-
<string name="cat_checkbox_no_text">Below is a checkbox with no text.</string>
23+
<string name="cat_checkbox_intro" translatable="false">
24+
Below are Material checkboxes.</string>
25+
<string name="cat_checkbox_disabled_guide" translatable="false">
26+
CheckBox elements that are disabled cannot be interacted with and will
27+
appear faded.</string>
28+
<string name="cat_checkbox_enabled" translatable="false">Enabled</string>
29+
<string name="cat_checkbox_disabled" translatable="false">Disabled</string>
30+
<string name="cat_checkbox_enablable_description" translatable="false">
31+
Check this checkbox to control the enabled state of the boxes below.</string>
32+
<string name="cat_checkbox_toggle" translatable="false">
33+
Controlled by a checkbox</string>
34+
<string name="cat_checkbox_no_text" translatable="false">
35+
Below is a checkbox with no text.</string>
36+
<string name="cat_checkbox_toggle_error" translatable="false">
37+
Check this checkbox to control the error state of all checkboxes in this page.</string>
3038
</resources>

0 commit comments

Comments
 (0)