Skip to content

Commit d205aa6

Browse files
committed
feat : bottom_sheet design 완성
1 parent e168340 commit d205aa6

File tree

7 files changed

+194
-138
lines changed

7 files changed

+194
-138
lines changed

presentation/src/main/assets/bus_animation.json

Lines changed: 1 addition & 0 deletions
Large diffs are not rendered by default.

presentation/src/main/res/drawable/selected_mission_button.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@
22
<shape xmlns:android="http://schemas.android.com/apk/res/android"
33
android:shape="oval">
44

5-
<solid android:color="@color/red" />
5+
<solid android:color="@color/main_yellow" />
66

77
</shape>

presentation/src/main/res/drawable/unselected_mission_button.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@
22
<shape xmlns:android="http://schemas.android.com/apk/res/android"
33
android:shape="oval">
44

5-
<solid android:color="@color/main_yellow" />
5+
<solid android:color="#FFEAC5" />
66

77
</shape>

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

Lines changed: 184 additions & 129 deletions
Original file line numberDiff line numberDiff line change
@@ -42,152 +42,207 @@
4242
android:orientation="horizontal"
4343
app:layout_constraintGuide_begin="35dp" />
4444

45-
<ImageView
46-
android:id="@+id/image_view_start_position"
47-
android:layout_width="wrap_content"
48-
android:layout_height="wrap_content"
49-
android:background="@drawable/ic_start_marker"
50-
android:elevation="15dp"
51-
app:layout_constraintBottom_toBottomOf="@id/text_view_start_position"
52-
app:layout_constraintEnd_toStartOf="@id/text_view_start_position"
53-
app:layout_constraintHorizontal_chainStyle="spread_inside"
54-
app:layout_constraintStart_toStartOf="@id/guide_line_start"
55-
app:layout_constraintTop_toTopOf="@id/text_view_start_position"
56-
app:layout_constraintVertical_bias="0.0" />
57-
58-
<TextView
59-
android:id="@+id/text_view_start_position"
45+
<androidx.constraintlayout.widget.ConstraintLayout
46+
android:id="@+id/layout_alarm_info"
6047
android:layout_width="0dp"
6148
android:layout_height="wrap_content"
62-
android:layout_marginStart="5dp"
6349
android:background="@drawable/background_button"
6450
android:elevation="15dp"
65-
android:ellipsize="end"
66-
android:maxLines="1"
67-
android:paddingHorizontal="10dp"
68-
android:paddingVertical="8dp"
69-
android:text="@{@string/start_position_text(viewModel.alarmItem.startPosition)}"
70-
android:textColor="@color/black"
71-
android:textSize="20sp"
51+
android:padding="15dp"
52+
android:layout_marginTop="10dp"
53+
app:layout_constraintStart_toStartOf="@id/guide_line_start"
7254
app:layout_constraintEnd_toEndOf="@id/guide_line_end"
73-
app:layout_constraintStart_toEndOf="@id/image_view_start_position"
74-
app:layout_constraintTop_toTopOf="@id/guideline_top"
75-
tools:text="출발지 : 예성유토피아" />
55+
app:layout_constraintTop_toTopOf="@id/guideline_top">
7656

77-
<ImageView
78-
android:id="@+id/image_view_end_position"
79-
android:layout_width="wrap_content"
80-
android:layout_height="wrap_content"
81-
android:background="@drawable/ic_place_marker"
82-
android:elevation="15dp"
83-
app:layout_constraintBottom_toBottomOf="@id/text_view_end_position"
84-
app:layout_constraintEnd_toStartOf="@id/text_view_end_position"
85-
app:layout_constraintHorizontal_chainStyle="spread_inside"
86-
app:layout_constraintStart_toStartOf="@id/guide_line_start"
87-
app:layout_constraintTop_toTopOf="@id/text_view_end_position"
88-
app:layout_constraintVertical_bias="0.0" />
57+
<ImageView
58+
android:id="@+id/image_view_start_position"
59+
android:layout_width="wrap_content"
60+
android:layout_height="wrap_content"
61+
android:background="@drawable/ic_start_marker"
62+
app:layout_constraintStart_toStartOf="parent"
63+
app:layout_constraintTop_toTopOf="@id/text_view_start_position"
64+
app:layout_constraintBottom_toBottomOf="@id/text_view_start_position_info"/>
8965

90-
<TextView
91-
android:id="@+id/text_view_end_position"
92-
android:layout_width="0dp"
93-
android:layout_height="wrap_content"
94-
android:layout_marginTop="8dp"
95-
android:layout_marginStart="5dp"
96-
android:background="@drawable/background_button"
97-
android:elevation="15dp"
98-
android:ellipsize="end"
99-
android:maxLines="1"
100-
android:paddingHorizontal="10dp"
101-
android:paddingVertical="8dp"
102-
android:text="@{@string/end_position_text(viewModel.alarmItem.endPosition)}"
103-
android:textColor="@color/black"
104-
android:textSize="20sp"
105-
app:layout_constraintEnd_toEndOf="@id/guide_line_end"
106-
app:layout_constraintStart_toEndOf="@id/image_view_end_position"
107-
app:layout_constraintTop_toBottomOf="@id/text_view_start_position"
108-
tools:text="도착지 : 아남타워빌딩" />
109-
110-
<ImageView
111-
android:id="@+id/image_view_last_time"
112-
android:layout_width="40dp"
113-
android:layout_height="40dp"
114-
android:background="@drawable/ic_alarm"
115-
android:elevation="15dp"
116-
app:layout_constraintBottom_toBottomOf="@id/text_view_last_time"
117-
app:layout_constraintEnd_toStartOf="@id/text_view_last_time"
118-
app:layout_constraintHorizontal_chainStyle="spread_inside"
119-
app:layout_constraintStart_toStartOf="@id/guide_line_start"
120-
app:layout_constraintTop_toTopOf="@id/text_view_last_time"
121-
app:layout_constraintVertical_bias="0.0" />
66+
<TextView
67+
android:id="@+id/text_view_start_position"
68+
android:layout_width="wrap_content"
69+
android:layout_height="wrap_content"
70+
android:text="@string/start_position"
71+
android:textColor="@color/main_dark_grey"
72+
android:textStyle="bold"
73+
android:textSize="15sp"
74+
android:layout_marginStart="10dp"
75+
app:layout_constraintTop_toTopOf="parent"
76+
app:layout_constraintStart_toEndOf="@id/image_view_start_position"/>
12277

123-
<TextView
124-
android:id="@+id/text_view_last_time"
125-
android:layout_width="0dp"
126-
android:layout_height="wrap_content"
127-
android:layout_marginTop="8dp"
128-
android:layout_marginStart="5dp"
129-
android:background="@drawable/background_button"
130-
android:elevation="15dp"
131-
android:ellipsize="end"
132-
android:maxLines="1"
133-
android:paddingHorizontal="10dp"
134-
android:paddingVertical="8dp"
135-
android:text="@{@string/last_time_text(viewModel.alarmItem.lastTime)}"
136-
android:textColor="@color/black"
137-
android:textSize="20sp"
138-
app:layout_constraintEnd_toEndOf="@id/guide_line_end"
139-
app:layout_constraintStart_toEndOf="@id/image_view_last_time"
140-
app:layout_constraintTop_toBottomOf="@id/text_view_end_position"
141-
tools:text="막차시간 : 24:09:09" />
142-
143-
<ImageView
144-
android:id="@+id/image_view_walk_time"
145-
android:layout_width="40dp"
146-
android:layout_height="40dp"
147-
android:background="@drawable/ic_baseline_directions_walk_32"
148-
android:elevation="15dp"
149-
app:layout_constraintBottom_toBottomOf="@id/text_view_walk_time"
150-
app:layout_constraintEnd_toStartOf="@id/text_view_walk_time"
151-
app:layout_constraintHorizontal_chainStyle="spread_inside"
152-
app:layout_constraintStart_toStartOf="@id/guide_line_start"
153-
app:layout_constraintTop_toTopOf="@id/text_view_walk_time"
154-
app:layout_constraintVertical_bias="0.0" />
78+
<TextView
79+
android:id="@+id/text_view_start_position_info"
80+
android:layout_width="0dp"
81+
android:layout_height="wrap_content"
82+
android:ellipsize="end"
83+
android:maxLines="1"
84+
android:text="@{viewModel.alarmItem.startPosition}"
85+
android:textColor="@color/black"
86+
android:textSize="20sp"
87+
app:layout_constraintEnd_toEndOf="parent"
88+
app:layout_constraintStart_toStartOf="@id/text_view_start_position"
89+
app:layout_constraintTop_toBottomOf="@id/text_view_start_position"
90+
tools:text="예성유토피아" />
15591

156-
<TextView
157-
android:id="@+id/text_view_walk_time"
158-
android:layout_width="0dp"
159-
android:layout_height="wrap_content"
160-
android:layout_marginTop="8dp"
161-
android:layout_marginStart="5dp"
162-
android:background="@drawable/background_button"
163-
android:elevation="15dp"
164-
android:ellipsize="end"
165-
android:maxLines="1"
166-
android:paddingHorizontal="10dp"
167-
android:paddingVertical="8dp"
168-
android:text="@{@string/walk_time_text(viewModel.alarmItem.walkTime)}"
169-
android:textColor="@color/black"
170-
android:textSize="20sp"
171-
app:layout_constraintEnd_toEndOf="@id/guide_line_end"
172-
app:layout_constraintStart_toEndOf="@id/image_view_walk_time"
173-
app:layout_constraintTop_toBottomOf="@id/text_view_last_time"
174-
tools:text="도보시간 : 9분" />
175-
176-
<TextView
177-
android:id="@+id/text_view_mission_start"
178-
android:layout_width="180dp"
179-
android:layout_height="180dp"
92+
<ImageView
93+
android:id="@+id/image_view_end_position"
94+
android:layout_width="wrap_content"
95+
android:layout_height="wrap_content"
96+
android:background="@drawable/ic_place_marker"
97+
app:layout_constraintStart_toStartOf="parent"
98+
app:layout_constraintTop_toTopOf="@id/text_view_end_position"
99+
app:layout_constraintBottom_toBottomOf="@id/text_view_end_position_info"/>
100+
101+
<TextView
102+
android:id="@+id/text_view_end_position"
103+
android:layout_width="wrap_content"
104+
android:layout_height="wrap_content"
105+
android:text="@string/end_position"
106+
android:textColor="@color/main_dark_grey"
107+
android:textStyle="bold"
108+
android:textSize="15sp"
109+
android:layout_marginStart="10dp"
110+
android:layout_marginTop="8dp"
111+
app:layout_constraintTop_toBottomOf="@id/text_view_start_position_info"
112+
app:layout_constraintStart_toEndOf="@id/image_view_end_position"/>
113+
114+
<TextView
115+
android:id="@+id/text_view_end_position_info"
116+
android:layout_width="0dp"
117+
android:layout_height="wrap_content"
118+
android:ellipsize="end"
119+
android:maxLines="1"
120+
android:text="@{viewModel.alarmItem.endPosition}"
121+
android:textColor="@color/black"
122+
android:textSize="20sp"
123+
app:layout_constraintEnd_toEndOf="parent"
124+
app:layout_constraintStart_toStartOf="@id/text_view_end_position"
125+
app:layout_constraintTop_toBottomOf="@id/text_view_end_position"
126+
tools:text="아남타워빌딩" />
127+
128+
<ImageView
129+
android:id="@+id/image_view_last_time"
130+
android:layout_width="40dp"
131+
android:layout_height="40dp"
132+
android:background="@drawable/ic_alarm"
133+
app:layout_constraintTop_toTopOf="@id/text_view_last_time"
134+
app:layout_constraintBottom_toBottomOf="@id/text_view_last_time_info"
135+
app:layout_constraintStart_toStartOf="parent"/>
136+
137+
<TextView
138+
android:id="@+id/text_view_last_time"
139+
android:layout_width="wrap_content"
140+
android:layout_height="wrap_content"
141+
android:text="@string/last_time"
142+
android:textColor="@color/main_dark_grey"
143+
android:textStyle="bold"
144+
android:textSize="15sp"
145+
android:layout_marginStart="10dp"
146+
android:layout_marginTop="8dp"
147+
app:layout_constraintTop_toBottomOf="@id/text_view_end_position_info"
148+
app:layout_constraintStart_toEndOf="@id/image_view_end_position"/>
149+
150+
<TextView
151+
android:id="@+id/text_view_last_time_info"
152+
android:layout_width="0dp"
153+
android:layout_height="wrap_content"
154+
android:ellipsize="end"
155+
android:maxLines="1"
156+
android:text="@{viewModel.alarmItem.lastTime}"
157+
android:textColor="@color/black"
158+
android:textSize="20sp"
159+
app:layout_constraintEnd_toEndOf="parent"
160+
app:layout_constraintStart_toStartOf="@id/text_view_last_time"
161+
app:layout_constraintTop_toBottomOf="@id/text_view_last_time"
162+
tools:text="24:09:09" />
163+
164+
<ImageView
165+
android:id="@+id/image_view_walk_time"
166+
android:layout_width="40dp"
167+
android:layout_height="40dp"
168+
android:background="@drawable/ic_baseline_directions_walk_32"
169+
android:elevation="15dp"
170+
app:layout_constraintTop_toTopOf="@id/text_view_walk_time"
171+
app:layout_constraintStart_toStartOf="parent"
172+
app:layout_constraintBottom_toBottomOf="@id/text_view_walk_time_info"
173+
/>
174+
175+
<TextView
176+
android:id="@+id/text_view_walk_time"
177+
android:layout_width="wrap_content"
178+
android:layout_height="wrap_content"
179+
android:text="@string/expect_walk_time"
180+
android:textColor="@color/main_dark_grey"
181+
android:textStyle="bold"
182+
android:textSize="15sp"
183+
android:layout_marginStart="10dp"
184+
android:layout_marginTop="8dp"
185+
app:layout_constraintTop_toBottomOf="@id/text_view_last_time_info"
186+
app:layout_constraintStart_toEndOf="@id/image_view_walk_time"/>
187+
188+
<TextView
189+
android:id="@+id/text_view_walk_time_info"
190+
android:layout_width="0dp"
191+
android:layout_height="wrap_content"
192+
android:ellipsize="end"
193+
android:maxLines="1"
194+
android:text="@{viewModel.alarmItem.walkTime}"
195+
android:textColor="@color/black"
196+
android:textSize="20sp"
197+
app:layout_constraintEnd_toEndOf="parent"
198+
app:layout_constraintStart_toStartOf="@id/text_view_walk_time"
199+
app:layout_constraintTop_toBottomOf="@id/text_view_walk_time"
200+
tools:text="9분" />
201+
202+
</androidx.constraintlayout.widget.ConstraintLayout>
203+
204+
205+
<androidx.constraintlayout.widget.ConstraintLayout
206+
android:id="@+id/layout_mission_start"
207+
android:layout_width="220dp"
208+
android:layout_height="220dp"
180209
android:background="@drawable/selector_mission_start_button"
210+
android:elevation="15dp"
181211
android:gravity="center"
182212
android:onClick="@{() -> fragment.setMissionStart()}"
183-
android:text="@string/mission_start"
184213
android:textColor="@color/white"
185214
android:textSize="30sp"
186-
android:elevation="15dp"
187215
app:layout_constraintBottom_toTopOf="@id/button_alarm_turn_off"
188216
app:layout_constraintEnd_toEndOf="@id/guide_line_end"
189217
app:layout_constraintStart_toStartOf="@id/guide_line_start"
190-
app:layout_constraintTop_toBottomOf="@id/text_view_walk_time" />
218+
app:layout_constraintTop_toBottomOf="@id/layout_alarm_info">
219+
220+
<com.airbnb.lottie.LottieAnimationView
221+
android:id="@+id/lottie_mission_start"
222+
android:layout_width="120dp"
223+
android:layout_height="120dp"
224+
app:layout_constraintBottom_toTopOf="@id/text_view_mission_start"
225+
app:layout_constraintEnd_toEndOf="parent"
226+
app:layout_constraintStart_toStartOf="parent"
227+
app:layout_constraintTop_toTopOf="parent"
228+
app:layout_constraintVertical_chainStyle="packed"
229+
app:lottie_autoPlay="true"
230+
app:lottie_fileName="bus_animation.json"
231+
app:lottie_loop="true" />
232+
233+
<TextView
234+
android:id="@+id/text_view_mission_start"
235+
android:layout_width="wrap_content"
236+
android:layout_height="wrap_content"
237+
android:text="@string/mission_start"
238+
android:textSize="22sp"
239+
android:textStyle="bold"
240+
app:layout_constraintBottom_toBottomOf="parent"
241+
app:layout_constraintEnd_toEndOf="@id/lottie_mission_start"
242+
app:layout_constraintStart_toStartOf="@id/lottie_mission_start"
243+
app:layout_constraintTop_toBottomOf="@id/lottie_mission_start" />
244+
245+
</androidx.constraintlayout.widget.ConstraintLayout>
191246

192247
<Button
193248
android:id="@+id/button_alarm_turn_off"

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@
6464
android:layout_width="wrap_content"
6565
android:layout_height="wrap_content"
6666
android:layout_marginEnd="5dp"
67-
android:text="@string/last_time"
67+
android:text="@string/now_last_time"
6868
android:textSize="12sp"
6969
android:textColor="@color/main_light_grey"
7070
android:visibility="@{routeItem.lastTime != null ? View.VISIBLE : View.INVISIBLE}"

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,5 +20,5 @@
2020
<color name="hint_text_color">#808590</color>
2121
<color name="blue">#2196F3</color>
2222
<color name="red">#F44336</color>
23-
<color name="light_coral">#FFB9B9</color>
23+
<color name="light_yellow">#FDDCA4</color>
2424
</resources>

0 commit comments

Comments
 (0)