Skip to content

Commit 30840ea

Browse files
committed
style: AlarmSettingFragment UI 수정
1 parent f0eac18 commit 30840ea

File tree

5 files changed

+201
-75
lines changed

5 files changed

+201
-75
lines changed

presentation/src/main/res/layout/bottom_sheet_home_state_expanded.xml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,6 @@
4343
android:background="@drawable/background_alarm_panel"
4444
android:padding="12dp"
4545
app:layout_constraintEnd_toEndOf="@id/guide_line_end"
46-
app:layout_constraintHorizontal_bias="0.0"
4746
app:layout_constraintStart_toStartOf="@id/guide_line_start"
4847
app:layout_constraintTop_toTopOf="parent">
4948

presentation/src/main/res/layout/fragment_alarm_setting.xml

Lines changed: 192 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,20 @@
4444
android:orientation="vertical"
4545
app:layout_constraintGuide_begin="15dp" />
4646

47+
<androidx.constraintlayout.widget.Guideline
48+
android:id="@+id/guide_line_middle"
49+
android:layout_width="wrap_content"
50+
android:layout_height="wrap_content"
51+
android:orientation="vertical"
52+
app:layout_constraintGuide_percent="0.4" />
53+
54+
<androidx.constraintlayout.widget.Guideline
55+
android:id="@+id/guide_line_middle_2"
56+
android:layout_width="wrap_content"
57+
android:layout_height="wrap_content"
58+
android:orientation="vertical"
59+
app:layout_constraintGuide_percent="0.25" />
60+
4761
<androidx.constraintlayout.widget.Guideline
4862
android:id="@+id/guide_line_end"
4963
android:layout_width="wrap_content"
@@ -122,119 +136,224 @@
122136
app:layout_constraintTop_toTopOf="@id/view_search"
123137
tools:text="도착지" />
124138

125-
<ImageView
126-
android:id="@+id/image_view_transport"
127-
android:layout_width="96dp"
128-
android:layout_height="96dp"
129-
android:layout_marginTop="12dp"
130-
android:src="@drawable/ic_bus"
131-
app:layout_constraintStart_toStartOf="@id/guide_line_start"
132-
app:layout_constraintTop_toBottomOf="@id/view_top" />
133-
134-
<TextView
135-
android:id="@+id/text_view_last_time"
139+
<androidx.constraintlayout.widget.ConstraintLayout
140+
android:id="@+id/layout_alarm_info"
136141
android:layout_width="0dp"
137142
android:layout_height="wrap_content"
138-
android:text="@{@string/last_transport_arrival_time(lastTime)}"
139-
android:textColor="@color/main_dark_grey"
140-
android:textSize="21sp"
141-
app:layout_constraintBottom_toBottomOf="@id/image_view_transport"
143+
android:layout_marginTop="15dp"
144+
android:background="@drawable/background_alarm_panel"
145+
android:padding="12dp"
142146
app:layout_constraintEnd_toEndOf="@id/guide_line_end"
143-
app:layout_constraintStart_toEndOf="@id/image_view_transport"
144-
app:layout_constraintTop_toTopOf="@id/image_view_transport"
145-
tools:text="막차 도착 예정 시간 23:30:10" />
146-
147-
<ImageView
148-
android:id="@+id/image_view_walk"
149-
android:layout_width="96dp"
150-
android:layout_height="96dp"
151-
android:layout_marginTop="36dp"
152147
app:layout_constraintStart_toStartOf="@id/guide_line_start"
153-
app:layout_constraintTop_toBottomOf="@id/image_view_transport"
154-
app:srcCompat="@drawable/ic_baseline_directions_walk_32" />
155-
156-
<TextView
157-
android:id="@+id/text_view_walk"
158-
android:layout_width="0dp"
159-
android:layout_height="wrap_content"
160-
android:text="@{@string/last_transport_walking_time(walkTime)}"
161-
android:textColor="@color/main_dark_grey"
162-
android:textSize="21sp"
163-
app:layout_constraintBottom_toBottomOf="@id/image_view_walk"
164-
app:layout_constraintEnd_toEndOf="@id/guide_line_end"
165-
app:layout_constraintStart_toEndOf="@id/image_view_walk"
166-
app:layout_constraintTop_toTopOf="@id/image_view_walk"
167-
tools:text="정류장까지의 예상 도보 시간 : 10분" />
148+
app:layout_constraintTop_toBottomOf="@id/view_top">
149+
150+
<ImageView
151+
android:id="@+id/image_view_last_time"
152+
android:layout_width="30dp"
153+
android:layout_height="30dp"
154+
android:background="@drawable/ic_alarm"
155+
app:layout_constraintBottom_toBottomOf="@id/text_view_last_time_info"
156+
app:layout_constraintStart_toStartOf="parent"
157+
app:layout_constraintTop_toTopOf="@id/text_view_last_time" />
158+
159+
<TextView
160+
android:id="@+id/text_view_last_time"
161+
android:layout_width="wrap_content"
162+
android:layout_height="wrap_content"
163+
android:layout_marginStart="11dp"
164+
android:text="@string/now_last_time"
165+
android:textColor="@color/main_light_grey"
166+
android:textSize="12sp"
167+
app:layout_constraintStart_toEndOf="@id/image_view_last_time"
168+
app:layout_constraintTop_toTopOf="parent" />
169+
170+
<TextView
171+
android:id="@+id/text_view_last_time_info"
172+
android:layout_width="0dp"
173+
android:layout_height="wrap_content"
174+
android:ellipsize="end"
175+
android:maxLines="1"
176+
android:text="@{lastTime}"
177+
android:textColor="@color/main_dark_grey"
178+
android:textSize="16sp"
179+
app:layout_constraintEnd_toEndOf="parent"
180+
app:layout_constraintStart_toStartOf="@id/text_view_last_time"
181+
app:layout_constraintTop_toBottomOf="@id/text_view_last_time"
182+
tools:text="24:09:09" />
183+
184+
<View
185+
android:layout_width="0dp"
186+
android:layout_height="1dp"
187+
android:layout_marginStart="-5dp"
188+
android:layout_marginTop="7dp"
189+
android:background="@color/main_lighter_grey"
190+
app:layout_constraintStart_toStartOf="@id/text_view_last_time_info"
191+
app:layout_constraintEnd_toEndOf="parent"
192+
app:layout_constraintTop_toBottomOf="@id/text_view_last_time_info" />
193+
194+
<ImageView
195+
android:id="@+id/image_view_walk_time"
196+
android:layout_width="30dp"
197+
android:layout_height="30dp"
198+
android:background="@drawable/ic_baseline_directions_walk_32"
199+
android:elevation="15dp"
200+
app:layout_constraintBottom_toBottomOf="@id/text_view_walk_time_info"
201+
app:layout_constraintStart_toStartOf="parent"
202+
app:layout_constraintTop_toTopOf="@id/text_view_walk_time" />
203+
204+
<TextView
205+
android:id="@+id/text_view_walk_time"
206+
android:layout_width="wrap_content"
207+
android:layout_height="wrap_content"
208+
android:layout_marginStart="11dp"
209+
android:layout_marginTop="15dp"
210+
android:text="@string/expect_walk_time"
211+
android:textColor="@color/main_light_grey"
212+
android:textSize="12sp"
213+
app:layout_constraintStart_toEndOf="@id/image_view_walk_time"
214+
app:layout_constraintTop_toBottomOf="@id/text_view_last_time_info" />
215+
216+
<TextView
217+
android:id="@+id/text_view_walk_time_info"
218+
android:layout_width="0dp"
219+
android:layout_height="wrap_content"
220+
android:ellipsize="end"
221+
android:maxLines="1"
222+
android:text="@{Integer.valueOf(walkTime).toString() + '분'}"
223+
android:textColor="@color/main_dark_grey"
224+
android:textSize="16sp"
225+
app:layout_constraintEnd_toEndOf="parent"
226+
app:layout_constraintStart_toStartOf="@id/text_view_walk_time"
227+
app:layout_constraintTop_toBottomOf="@id/text_view_walk_time"
228+
tools:text="9분" />
229+
230+
</androidx.constraintlayout.widget.ConstraintLayout>
168231

169232
<TextView
170-
android:id="@+id/text_view_alarm_time"
233+
android:id="@+id/text_view_alarm_setting"
171234
android:layout_width="wrap_content"
172235
android:layout_height="wrap_content"
173-
android:text="@{@string/alarm_time_text(alarmViewModel.alarmTime)}"
236+
android:text="@string/option_setting"
174237
android:textColor="@color/main_dark_grey"
175-
android:textSize="21sp"
176-
app:layout_constraintBottom_toBottomOf="@id/number_picker_alarm_time"
238+
android:textSize="20sp"
177239
app:layout_constraintStart_toStartOf="@id/guide_line_start"
178-
app:layout_constraintTop_toTopOf="@id/number_picker_alarm_time"
179-
tools:text="막차시간 10분전에\n알람이 울리도록\n설정하시겠습니까?" />
240+
app:layout_constraintEnd_toStartOf="@id/guide_line_middle_2"
241+
app:layout_constraintTop_toBottomOf="@id/lottie_bus"
242+
tools:text="옵션 설정" />
180243

181244
<NumberPicker
182245
android:id="@+id/number_picker_alarm_time"
183246
android:layout_width="wrap_content"
184247
android:layout_height="wrap_content"
185-
android:layout_marginStart="12dp"
186-
android:layout_marginTop="24dp"
248+
android:layout_marginTop="15dp"
249+
android:layout_marginBottom="15dp"
187250
android:value="@={alarmViewModel.alarmTime}"
188-
app:layout_constraintEnd_toEndOf="@id/guide_line_end"
189-
app:layout_constraintStart_toEndOf="@id/text_view_alarm_time"
190-
app:layout_constraintTop_toBottomOf="@id/image_view_walk" />
251+
app:layout_constraintStart_toStartOf="@id/guide_line_start"
252+
app:layout_constraintEnd_toStartOf="@id/guide_line_middle_2"
253+
app:layout_constraintTop_toBottomOf="@id/text_view_alarm_setting"
254+
app:layout_constraintBottom_toTopOf="@id/view_register_alarm" />
255+
256+
<TextView
257+
android:id="@+id/text_view_alarm_time"
258+
android:layout_width="wrap_content"
259+
android:layout_height="wrap_content"
260+
android:text="@string/minute_before"
261+
android:textColor="@color/main_dark_grey"
262+
android:textSize="17sp"
263+
app:layout_constraintBottom_toBottomOf="@id/number_picker_alarm_time"
264+
app:layout_constraintEnd_toStartOf="@id/guide_line_middle"
265+
app:layout_constraintStart_toEndOf="@id/guide_line_middle_2"
266+
app:layout_constraintTop_toTopOf="@id/number_picker_alarm_time"
267+
tools:text="분 전" />
191268

192269
<com.google.android.material.button.MaterialButtonToggleGroup
193270
android:id="@+id/toggle_group_alarm"
194-
android:layout_width="0dp"
195-
android:layout_height="wrap_content"
196-
android:layout_marginBottom="9dp"
271+
android:layout_width="200dp"
272+
android:layout_height="50dp"
273+
android:layout_marginStart="15dp"
197274
app:checkedButton="@id/button_sound"
198-
app:layout_constraintBottom_toTopOf="@id/text_view_register_alarm"
199-
app:layout_constraintEnd_toEndOf="@id/guide_line_end"
200-
app:layout_constraintStart_toStartOf="@id/guide_line_start"
275+
app:layout_constraintTop_toTopOf="@id/text_view_alarm_time"
276+
app:layout_constraintBottom_toBottomOf="@id/text_view_alarm_time"
277+
app:layout_constraintStart_toStartOf="@id/guide_line_middle"
201278
app:singleSelection="true">
202279

203280
<com.google.android.material.button.MaterialButton
204281
android:id="@+id/button_sound"
205-
style="@style/Widget.Material3.Button.OutlinedButton"
282+
style="@style/Widget.Material3.Button.MaterialButtonToggleGroup"
206283
android:layout_width="wrap_content"
207-
android:layout_height="wrap_content"
284+
android:layout_height="match_parent"
208285
android:layout_weight="1"
209-
android:text="@string/sound_text" />
286+
android:text="@string/sound_text"
287+
android:textSize="17sp"
288+
android:textColor="@color/main_dark_grey"
289+
android:gravity="center" />
210290

211291
<com.google.android.material.button.MaterialButton
212292
android:id="@+id/button_wave"
213-
style="@style/Widget.Material3.Button.OutlinedButton"
293+
style="@style/Widget.Material3.Button.MaterialButtonToggleGroup"
214294
android:layout_width="wrap_content"
215-
android:layout_height="wrap_content"
295+
android:layout_height="match_parent"
216296
android:layout_weight="1"
217-
android:text="@string/wave_text" />
297+
android:text="@string/wave_text"
298+
android:textSize="17sp"
299+
android:textColor="@color/main_dark_grey"
300+
android:gravity="center" />
218301

219302
</com.google.android.material.button.MaterialButtonToggleGroup>
220303

221-
<TextView
222-
android:id="@+id/text_view_register_alarm"
304+
<com.airbnb.lottie.LottieAnimationView
305+
android:id="@+id/lottie_bus"
223306
android:layout_width="0dp"
224-
android:layout_height="wrap_content"
225-
android:layout_marginBottom="24dp"
226-
android:background="@drawable/button_background"
227-
android:gravity="center"
307+
android:layout_height="0dp"
308+
app:layout_constraintStart_toStartOf="parent"
309+
app:layout_constraintEnd_toEndOf="parent"
310+
app:layout_constraintTop_toBottomOf="@id/layout_alarm_info"
311+
app:layout_constraintBottom_toTopOf="@id/text_view_alarm_setting"
312+
app:lottie_autoPlay="true"
313+
app:lottie_fileName="moving_bus.json"
314+
app:lottie_loop="true" />
315+
316+
<View
317+
android:id="@+id/view_register_alarm"
318+
android:layout_width="0dp"
319+
android:layout_height="50dp"
320+
android:layout_marginBottom="15dp"
321+
android:background="@drawable/background_route_detail_button"
228322
android:onClick="@{() -> fragment.setAlarmRegisterListener()}"
229-
android:padding="10dp"
230-
android:text="@string/register_alarm_text"
231-
android:textColor="@color/white"
232-
android:textSize="16sp"
233-
android:textStyle="bold"
234323
app:layout_constraintBottom_toBottomOf="parent"
235324
app:layout_constraintEnd_toEndOf="@id/guide_line_end"
236325
app:layout_constraintStart_toStartOf="@id/guide_line_start" />
237326

327+
<androidx.constraintlayout.widget.ConstraintLayout
328+
android:layout_width="wrap_content"
329+
android:layout_height="wrap_content"
330+
app:layout_constraintStart_toStartOf="@id/view_register_alarm"
331+
app:layout_constraintEnd_toEndOf="@id/view_register_alarm"
332+
app:layout_constraintTop_toTopOf="@id/view_register_alarm"
333+
app:layout_constraintBottom_toBottomOf="@id/view_register_alarm">
334+
335+
<ImageView
336+
android:id="@+id/image_view_mission"
337+
android:layout_width="23dp"
338+
android:layout_height="23dp"
339+
app:layout_constraintStart_toStartOf="parent"
340+
app:layout_constraintTop_toTopOf="parent"
341+
app:layout_constraintBottom_toBottomOf="parent"
342+
app:srcCompat="@drawable/ic_alarm" />
343+
344+
<TextView
345+
android:layout_width="wrap_content"
346+
android:layout_height="wrap_content"
347+
android:layout_marginStart="10dp"
348+
android:text="@string/register_alarm_text"
349+
android:textSize="17sp"
350+
android:textColor="@color/main_dark_grey"
351+
android:gravity="center"
352+
app:layout_constraintStart_toEndOf="@id/image_view_mission"
353+
app:layout_constraintTop_toTopOf="parent"
354+
app:layout_constraintBottom_toBottomOf="parent" />
355+
</androidx.constraintlayout.widget.ConstraintLayout>
356+
238357
</androidx.constraintlayout.widget.ConstraintLayout>
239358

240359
</layout>

presentation/src/main/res/layout/fragment_alarm_start.xml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,6 @@
151151
android:background="@drawable/background_alarm_panel"
152152
android:padding="12dp"
153153
app:layout_constraintEnd_toEndOf="@id/guide_line_end"
154-
app:layout_constraintHorizontal_bias="0.0"
155154
app:layout_constraintStart_toStartOf="@id/guide_line_start"
156155
app:layout_constraintTop_toBottomOf="@id/layout_timer">
157156

presentation/src/main/res/values/strings.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,4 +81,6 @@
8181
<string name="last_time_text">막차시간 : %1$s</string>
8282
<string name="walk_time_text">%1$d분</string>
8383
<string name="last_time_not_found">알람을 설정할 수 없습니다</string>
84+
<string name="minute_before">분 전</string>
85+
<string name="option_setting">옵션 설정</string>
8486
</resources>

presentation/src/main/res/values/styles.xml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,11 @@
1919
<item name="android:minHeight">48dp</item>
2020
</style>
2121

22+
<style name="Widget.Material3.Button.MaterialButtonToggleGroup" parent="Widget.Material3.Button.TextButton">
23+
<item name="android:paddingLeft">@dimen/m3_btn_padding_left</item>
24+
<item name="android:paddingRight">@dimen/m3_btn_padding_right</item>
25+
<item name="strokeColor">@color/main_dark_grey</item>
26+
<item name="strokeWidth">2dp</item>
27+
</style>
28+
2229
</resources>

0 commit comments

Comments
 (0)