1+ <?xml version =" 1.0" encoding =" utf-8" ?>
2+ <LinearLayout xmlns : android =" http://schemas.android.com/apk/res/android"
3+ xmlns : app =" http://schemas.android.com/apk/res-auto"
4+ android : layout_width =" match_parent"
5+ android : layout_height =" wrap_content"
6+ android : orientation =" vertical"
7+ android : padding =" 24dp" >
8+
9+ <!-- Title -->
10+ <TextView
11+ android : layout_width =" match_parent"
12+ android : layout_height =" wrap_content"
13+ android : text =" @string/sort_and_filter"
14+ android : textAppearance =" @style/TextAppearance.Material3.HeadlineSmall"
15+ android : textColor =" @color/textPrimary"
16+ android : layout_marginBottom =" 20dp" />
17+
18+ <!-- Sort Options Section -->
19+ <TextView
20+ android : layout_width =" match_parent"
21+ android : layout_height =" wrap_content"
22+ android : text =" @string/sort_by"
23+ android : textAppearance =" @style/TextAppearance.Material3.TitleMedium"
24+ android : textColor =" @color/textSecondary"
25+ android : layout_marginBottom =" 12dp" />
26+
27+ <RadioGroup
28+ android : id =" @+id/radioGroupSort"
29+ android : layout_width =" match_parent"
30+ android : layout_height =" wrap_content"
31+ android : layout_marginBottom =" 20dp" >
32+
33+ <com .google.android.material.radiobutton.MaterialRadioButton
34+ android : id =" @+id/radioDateNearest"
35+ android : layout_width =" match_parent"
36+ android : layout_height =" wrap_content"
37+ android : text =" @string/sort_date_nearest"
38+ android : checked =" true"
39+ android : padding =" 8dp" />
40+
41+ <com .google.android.material.radiobutton.MaterialRadioButton
42+ android : id =" @+id/radioDateFarthest"
43+ android : layout_width =" match_parent"
44+ android : layout_height =" wrap_content"
45+ android : text =" @string/sort_date_farthest"
46+ android : padding =" 8dp" />
47+
48+ <com .google.android.material.radiobutton.MaterialRadioButton
49+ android : id =" @+id/radioNameAZ"
50+ android : layout_width =" match_parent"
51+ android : layout_height =" wrap_content"
52+ android : text =" @string/sort_name_az"
53+ android : padding =" 8dp" />
54+
55+ <com .google.android.material.radiobutton.MaterialRadioButton
56+ android : id =" @+id/radioNameZA"
57+ android : layout_width =" match_parent"
58+ android : layout_height =" wrap_content"
59+ android : text =" @string/sort_name_za"
60+ android : padding =" 8dp" />
61+
62+ <com .google.android.material.radiobutton.MaterialRadioButton
63+ android : id =" @+id/radioRecentlyAdded"
64+ android : layout_width =" match_parent"
65+ android : layout_height =" wrap_content"
66+ android : text =" @string/sort_recently_added"
67+ android : padding =" 8dp" />
68+
69+ </RadioGroup >
70+
71+ <!-- Filter Options Section -->
72+ <TextView
73+ android : layout_width =" match_parent"
74+ android : layout_height =" wrap_content"
75+ android : text =" @string/filter_by"
76+ android : textAppearance =" @style/TextAppearance.Material3.TitleMedium"
77+ android : textColor =" @color/textSecondary"
78+ android : layout_marginBottom =" 12dp" />
79+
80+ <LinearLayout
81+ android : layout_width =" match_parent"
82+ android : layout_height =" wrap_content"
83+ android : orientation =" vertical"
84+ android : layout_marginBottom =" 20dp" >
85+
86+ <com .google.android.material.checkbox.MaterialCheckBox
87+ android : id =" @+id/checkboxPublic"
88+ android : layout_width =" match_parent"
89+ android : layout_height =" wrap_content"
90+ android : text =" @string/filter_public_only"
91+ android : checked =" false"
92+ android : padding =" 8dp" />
93+
94+ <com .google.android.material.checkbox.MaterialCheckBox
95+ android : id =" @+id/checkboxPrivate"
96+ android : layout_width =" match_parent"
97+ android : layout_height =" wrap_content"
98+ android : text =" @string/filter_private_only"
99+ android : checked =" false"
100+ android : padding =" 8dp" />
101+
102+ <com .google.android.material.checkbox.MaterialCheckBox
103+ android : id =" @+id/checkboxFree"
104+ android : layout_width =" match_parent"
105+ android : layout_height =" wrap_content"
106+ android : text =" @string/filter_free_only"
107+ android : checked =" false"
108+ android : padding =" 8dp" />
109+
110+ <com .google.android.material.checkbox.MaterialCheckBox
111+ android : id =" @+id/checkboxUpcoming"
112+ android : layout_width =" match_parent"
113+ android : layout_height =" wrap_content"
114+ android : text =" @string/filter_upcoming_only"
115+ android : checked =" false"
116+ android : padding =" 8dp" />
117+
118+ </LinearLayout >
119+
120+ <!-- Action Buttons -->
121+ <LinearLayout
122+ android : layout_width =" match_parent"
123+ android : layout_height =" wrap_content"
124+ android : orientation =" horizontal"
125+ android : gravity =" end" >
126+
127+ <com .google.android.material.button.MaterialButton
128+ android : id =" @+id/btnReset"
129+ style =" @style/Widget.Material3.Button.TextButton"
130+ android : layout_width =" wrap_content"
131+ android : layout_height =" wrap_content"
132+ android : text =" @string/reset"
133+ android : layout_marginEnd =" 8dp" />
134+
135+ <com .google.android.material.button.MaterialButton
136+ android : id =" @+id/btnCancel"
137+ style =" @style/Widget.Material3.Button.TextButton"
138+ android : layout_width =" wrap_content"
139+ android : layout_height =" wrap_content"
140+ android : text =" @string/cancel"
141+ android : layout_marginEnd =" 8dp" />
142+
143+ <com .google.android.material.button.MaterialButton
144+ android : id =" @+id/btnApply"
145+ style =" @style/Widget.Material3.Button"
146+ android : layout_width =" wrap_content"
147+ android : layout_height =" wrap_content"
148+ android : text =" @string/apply" />
149+
150+ </LinearLayout >
151+
152+ </LinearLayout >
0 commit comments