|
5 | 5 |
|
6 | 6 | <data>
|
7 | 7 |
|
| 8 | + <import type="com.whyranoid.presentation.util.ExtensionsKt" /> |
| 9 | + |
8 | 10 | <variable
|
9 | 11 | name="runningPost"
|
10 | 12 | type="com.whyranoid.domain.model.RunningPost" />
|
|
21 | 23 | android:layout_height="50dp"
|
22 | 24 | android:layout_margin="16dp"
|
23 | 25 | app:layout_constraintStart_toStartOf="parent"
|
24 |
| - app:layout_constraintTop_toTopOf="parent" /> |
| 26 | + app:layout_constraintTop_toTopOf="parent" |
| 27 | + android:contentDescription="@string/my_run_profile_image_description"/> |
25 | 28 |
|
26 | 29 | <TextView
|
27 | 30 | android:id="@+id/tv_leader_name"
|
|
31 | 34 | android:text="@{runningPost.author.name}"
|
32 | 35 | app:layout_constraintBottom_toBottomOf="@id/iv_leader_profile"
|
33 | 36 | app:layout_constraintStart_toEndOf="@id/iv_leader_profile"
|
34 |
| - app:layout_constraintTop_toTopOf="parent" |
| 37 | + app:layout_constraintTop_toTopOf="@id/iv_leader_profile" |
35 | 38 | tools:text="수피치" />
|
36 | 39 |
|
| 40 | + <androidx.constraintlayout.widget.ConstraintLayout |
| 41 | + android:id="@+id/item_view_running_history" |
| 42 | + android:layout_width="match_parent" |
| 43 | + android:layout_height="wrap_content" |
| 44 | + android:layout_margin="16dp" |
| 45 | + android:background="@drawable/background_rounded" |
| 46 | + android:backgroundTint="@color/mogakrun_secondary" |
| 47 | + app:layout_constraintStart_toStartOf="parent" |
| 48 | + app:layout_constraintEnd_toEndOf="parent" |
| 49 | + app:layout_constraintTop_toBottomOf="@id/iv_leader_profile" |
| 50 | + android:elevation="@dimen/cardview_default_elevation"> |
| 51 | + |
| 52 | + <View |
| 53 | + android:id="@+id/view_running_history_body" |
| 54 | + android:layout_width="0dp" |
| 55 | + android:layout_height="0dp" |
| 56 | + android:background="@drawable/background_rounded" |
| 57 | + app:layout_constraintBottom_toBottomOf="parent" |
| 58 | + app:layout_constraintEnd_toEndOf="parent" |
| 59 | + app:layout_constraintStart_toStartOf="parent" |
| 60 | + app:layout_constraintTop_toBottomOf="@id/tv_running_history_date" /> |
| 61 | + |
37 | 62 | <TextView
|
38 | 63 | android:id="@+id/tv_running_history_date"
|
39 | 64 | android:layout_width="wrap_content"
|
40 | 65 | android:layout_height="wrap_content"
|
41 |
| - android:layout_marginStart="16dp" |
42 |
| - android:layout_marginTop="16dp" |
43 |
| - android:text="@{runningPost.runningHistory.historyId}" |
| 66 | + android:layout_marginTop="4dp" |
| 67 | + android:maxLines="1" |
| 68 | + android:text="@{ExtensionsKt.toRunningDateString(runningPost.runningHistory.startedAt)}" |
| 69 | + android:textAppearance="@style/MoGakRunText.Regular.Small" |
| 70 | + android:textColor="?attr/colorOnSecondary" |
| 71 | + app:layout_constraintEnd_toEndOf="@id/view_vertical_partition_line" |
| 72 | + app:layout_constraintHorizontal_bias="0.1" |
44 | 73 | app:layout_constraintStart_toStartOf="parent"
|
45 |
| - app:layout_constraintTop_toBottomOf="@id/iv_leader_profile" |
| 74 | + app:layout_constraintTop_toTopOf="parent" |
46 | 75 | tools:text="2022/09/11" />
|
47 | 76 |
|
48 | 77 | <TextView
|
|
51 | 80 | android:layout_height="wrap_content"
|
52 | 81 | android:layout_marginEnd="20dp"
|
53 | 82 | android:text="@string/running_history_label_total_running_time"
|
| 83 | + android:textAppearance="@style/MoGakRunText.Light.Small" |
54 | 84 | app:layout_constraintBottom_toBottomOf="@id/tv_running_history_date"
|
55 | 85 | app:layout_constraintEnd_toStartOf="@id/tv_total_running_time"
|
| 86 | + app:layout_constraintStart_toStartOf="@id/view_vertical_partition_line" |
56 | 87 | app:layout_constraintTop_toTopOf="@id/tv_running_history_date" />
|
57 | 88 |
|
58 | 89 | <TextView
|
59 | 90 | android:id="@+id/tv_total_running_time"
|
60 | 91 | android:layout_width="wrap_content"
|
61 | 92 | android:layout_height="wrap_content"
|
62 |
| - android:text="@{Integer.toString(runningPost.runningHistory.totalRunningTime)}" |
| 93 | + android:text="@{String.format(@string/running_history_value_total_running_time, runningPost.runningHistory.totalRunningTime / 3600, runningPost.runningHistory.totalRunningTime / 60)}" |
| 94 | + android:textAppearance="@style/MoGakRunText.Regular.Small" |
63 | 95 | app:layout_constraintBottom_toBottomOf="@id/tv_label_total_running_time"
|
64 | 96 | app:layout_constraintEnd_toEndOf="parent"
|
| 97 | + app:layout_constraintStart_toEndOf="@id/tv_label_total_running_time" |
65 | 98 | app:layout_constraintTop_toTopOf="@id/tv_label_total_running_time"
|
66 | 99 | tools:text="2시간 22분" />
|
67 | 100 |
|
68 | 101 | <View
|
69 | 102 | android:id="@+id/view_vertical_partition_line"
|
70 | 103 | android:layout_width="1dp"
|
71 |
| - android:layout_height="100dp" |
72 |
| - android:layout_marginTop="20dp" |
73 |
| - android:layout_marginBottom="20dp" |
74 |
| - android:background="@color/black" |
| 104 | + android:layout_height="0dp" |
| 105 | + android:alpha="0.2" |
| 106 | + android:background="?attr/colorOnSecondary" |
| 107 | + app:layout_constraintBottom_toBottomOf="parent" |
75 | 108 | app:layout_constraintEnd_toEndOf="parent"
|
76 | 109 | app:layout_constraintStart_toStartOf="parent"
|
77 |
| - app:layout_constraintTop_toBottomOf="@id/tv_label_total_running_time" /> |
| 110 | + app:layout_constraintTop_toTopOf="@id/view_running_history_body" /> |
78 | 111 |
|
79 | 112 | <View
|
80 | 113 | android:id="@+id/view_horizontal_partition_line"
|
81 | 114 | android:layout_width="0dp"
|
82 | 115 | android:layout_height="1dp"
|
83 |
| - android:layout_marginTop="20dp" |
84 |
| - android:layout_marginBottom="20dp" |
85 |
| - android:background="@color/black" |
86 |
| - app:layout_constraintBottom_toBottomOf="@id/view_vertical_partition_line" |
| 116 | + android:alpha="0.2" |
| 117 | + android:background="?attr/colorOnSecondary" |
87 | 118 | app:layout_constraintEnd_toEndOf="parent"
|
88 | 119 | app:layout_constraintStart_toStartOf="parent"
|
89 |
| - app:layout_constraintTop_toTopOf="@id/view_vertical_partition_line" /> |
| 120 | + app:layout_constraintTop_toBottomOf="@id/tv_start_time_value" /> |
90 | 121 |
|
91 | 122 | <TextView
|
| 123 | + android:id="@+id/tv_start_time_label" |
92 | 124 | android:layout_width="wrap_content"
|
93 | 125 | android:layout_height="wrap_content"
|
94 |
| - android:layout_marginStart="16dp" |
95 |
| - android:layout_marginTop="16dp" |
| 126 | + android:layout_marginHorizontal="6dp" |
| 127 | + android:layout_marginTop="12dp" |
96 | 128 | android:text="@string/running_history_label_start_running_time"
|
| 129 | + android:textAppearance="@style/MoGakRunText.Light.Small" |
| 130 | + app:layout_constraintEnd_toStartOf="@id/view_vertical_partition_line" |
| 131 | + app:layout_constraintHorizontal_bias="0.0" |
97 | 132 | app:layout_constraintStart_toStartOf="parent"
|
98 | 133 | app:layout_constraintTop_toBottomOf="@id/tv_running_history_date" />
|
99 | 134 |
|
100 | 135 | <TextView
|
| 136 | + android:id="@+id/tv_start_time_value" |
| 137 | + longToTime="@{runningPost.runningHistory.startedAt}" |
101 | 138 | android:layout_width="wrap_content"
|
102 | 139 | android:layout_height="wrap_content"
|
103 |
| - android:layout_marginEnd="50dp" |
104 |
| - android:layout_marginBottom="20dp" |
105 |
| - app:longToTime="@{runningPost.runningHistory.startedAt}" |
106 |
| - app:layout_constraintBottom_toBottomOf="@id/view_horizontal_partition_line" |
| 140 | + android:paddingTop="10dp" |
| 141 | + android:paddingBottom="20dp" |
| 142 | + android:textAppearance="@style/MoGakRunText.Regular.Medium" |
107 | 143 | app:layout_constraintEnd_toStartOf="@id/view_vertical_partition_line"
|
| 144 | + app:layout_constraintHorizontal_bias="0.6" |
| 145 | + app:layout_constraintStart_toStartOf="parent" |
| 146 | + app:layout_constraintTop_toBottomOf="@id/tv_start_time_label" |
108 | 147 | tools:text="17:00" />
|
109 | 148 |
|
110 | 149 | <TextView
|
| 150 | + android:id="@+id/tv_end_time_label" |
111 | 151 | android:layout_width="wrap_content"
|
112 | 152 | android:layout_height="wrap_content"
|
113 | 153 | android:layout_marginStart="12dp"
|
114 |
| - android:layout_marginTop="16dp" |
115 | 154 | android:text="@string/running_history_label_finish_running_time"
|
| 155 | + android:textAppearance="@style/MoGakRunText.Light.Small" |
116 | 156 | app:layout_constraintStart_toStartOf="@id/view_vertical_partition_line"
|
117 |
| - app:layout_constraintTop_toBottomOf="@id/tv_running_history_date" /> |
| 157 | + app:layout_constraintTop_toTopOf="@id/tv_start_time_label" /> |
118 | 158 |
|
119 | 159 | <TextView
|
| 160 | + longToTime="@{runningPost.runningHistory.finishedAt}" |
120 | 161 | android:layout_width="wrap_content"
|
121 | 162 | android:layout_height="wrap_content"
|
122 |
| - android:layout_marginEnd="50dp" |
123 | 163 | android:layout_marginBottom="20dp"
|
124 |
| - app:longToTime="@{runningPost.runningHistory.finishedAt}" |
125 |
| - app:layout_constraintBottom_toBottomOf="@id/view_horizontal_partition_line" |
126 |
| - app:layout_constraintEnd_toEndOf="parent" |
| 164 | + android:paddingTop="10dp" |
| 165 | + android:paddingBottom="20dp" |
| 166 | + android:textAppearance="@style/MoGakRunText.Regular.Medium" |
| 167 | + app:layout_constraintEnd_toEndOf="@id/view_horizontal_partition_line" |
| 168 | + app:layout_constraintHorizontal_bias="0.6" |
| 169 | + app:layout_constraintStart_toEndOf="@id/view_vertical_partition_line" |
| 170 | + app:layout_constraintTop_toBottomOf="@id/tv_end_time_label" |
127 | 171 | tools:text="19:22" />
|
128 | 172 |
|
129 | 173 | <TextView
|
| 174 | + android:id="@+id/tv_total_distance_label" |
130 | 175 | android:layout_width="wrap_content"
|
131 | 176 | android:layout_height="wrap_content"
|
132 |
| - android:layout_marginStart="16dp" |
| 177 | + android:layout_marginHorizontal="6dp" |
133 | 178 | android:layout_marginTop="12dp"
|
134 | 179 | android:text="@string/running_history_label_running_distance"
|
| 180 | + android:textAppearance="@style/MoGakRunText.Light.Small" |
135 | 181 | app:layout_constraintStart_toStartOf="parent"
|
136 | 182 | app:layout_constraintTop_toBottomOf="@id/view_horizontal_partition_line" />
|
137 | 183 |
|
138 | 184 | <TextView
|
139 | 185 | android:layout_width="wrap_content"
|
140 | 186 | android:layout_height="wrap_content"
|
141 | 187 | android:layout_marginTop="24dp"
|
142 |
| - android:layout_marginEnd="50dp" |
143 |
| - android:text="@{Double.toString(runningPost.runningHistory.totalDistance)}" |
| 188 | + android:paddingTop="10dp" |
| 189 | + android:paddingBottom="20dp" |
| 190 | + android:text="@{runningPost.runningHistory.totalDistance >= 1000 ? String.format(@string/running_history_value_running_distance_km, runningPost.runningHistory.totalDistance / 1000) : String.format(@string/running_history_value_running_distance_m, runningPost.runningHistory.totalDistance)}" |
| 191 | + android:textAppearance="@style/MoGakRunText.Regular.Medium" |
144 | 192 | app:layout_constraintEnd_toStartOf="@id/view_vertical_partition_line"
|
| 193 | + app:layout_constraintHorizontal_bias="0.6" |
| 194 | + app:layout_constraintStart_toStartOf="parent" |
145 | 195 | app:layout_constraintTop_toBottomOf="@id/view_horizontal_partition_line"
|
146 | 196 | tools:text="11.7km" />
|
147 | 197 |
|
148 | 198 | <TextView
|
| 199 | + android:id="@+id/tv_total_pace_label" |
149 | 200 | android:layout_width="wrap_content"
|
150 | 201 | android:layout_height="wrap_content"
|
151 | 202 | android:layout_marginStart="12dp"
|
152 | 203 | android:layout_marginTop="12dp"
|
153 | 204 | android:text="@string/running_history_label_running_pace"
|
| 205 | + android:textAppearance="@style/MoGakRunText.Light.Small" |
154 | 206 | app:layout_constraintStart_toStartOf="@id/view_vertical_partition_line"
|
155 | 207 | app:layout_constraintTop_toBottomOf="@id/view_horizontal_partition_line" />
|
156 | 208 |
|
157 | 209 | <TextView
|
158 | 210 | android:layout_width="wrap_content"
|
159 | 211 | android:layout_height="wrap_content"
|
160 | 212 | android:layout_marginTop="24dp"
|
161 |
| - android:layout_marginEnd="50dp" |
162 |
| - android:text="@{Double.toString(runningPost.runningHistory.pace)}" |
163 |
| - app:layout_constraintEnd_toEndOf="parent" |
| 213 | + android:paddingTop="10dp" |
| 214 | + android:paddingBottom="20dp" |
| 215 | + android:text="@{String.format(@string/running_history_value_running_pace, runningPost.runningHistory.pace)}" |
| 216 | + android:textAppearance="@style/MoGakRunText.Regular.Medium" |
| 217 | + app:layout_constraintEnd_toEndOf="@id/view_horizontal_partition_line" |
| 218 | + app:layout_constraintHorizontal_bias="0.6" |
| 219 | + app:layout_constraintStart_toEndOf="@id/view_vertical_partition_line" |
164 | 220 | app:layout_constraintTop_toBottomOf="@id/view_horizontal_partition_line"
|
165 | 221 | tools:text="6.3km/h" />
|
166 | 222 |
|
| 223 | + </androidx.constraintlayout.widget.ConstraintLayout> |
| 224 | + |
167 | 225 | <TextView
|
168 | 226 | android:id="@+id/tv_like_cnt"
|
169 | 227 | android:layout_width="0dp"
|
|
173 | 231 | android:text="@{@string/text_like_count(runningPost.likeCount)}"
|
174 | 232 | app:layout_constraintEnd_toEndOf="parent"
|
175 | 233 | app:layout_constraintStart_toStartOf="parent"
|
176 |
| - app:layout_constraintTop_toBottomOf="@id/view_vertical_partition_line" |
| 234 | + app:layout_constraintTop_toBottomOf="@id/item_view_running_history" |
177 | 235 | tools:text="좋아요 0개" />
|
178 | 236 |
|
179 | 237 | <TextView
|
|
0 commit comments