Skip to content

Commit fa00a22

Browse files
committed
feat : 최근 검색 기록 뷰 수정
1 parent feab115 commit fa00a22

File tree

9 files changed

+126
-79
lines changed

9 files changed

+126
-79
lines changed

presentation/src/main/java/com/stop/ui/placesearch/PlaceSearchFragment.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,12 +87,12 @@ class PlaceSearchFragment : Fragment() {
8787

8888
private fun buttonClick() {
8989
with(binding) {
90-
textViewCurrentLocation.setOnClickListener {
90+
layoutRecentSearch.textViewCurrentLocation.setOnClickListener {
9191
placeSearchViewModel.setClickCurrentLocation()
9292
binding.root.findNavController().navigate(R.id.action_placeSearchFragment_to_mapFragment)
9393
}
9494

95-
textViewSelectMap.setOnClickListener {
95+
layoutRecentSearch.textViewSelectMap.setOnClickListener {
9696
binding.root.findNavController().navigate(R.id.action_placeSearchFragment_to_mapFragment)
9797
}
9898
}
Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,15 @@
1-
<vector android:height="24dp" android:tint="#000000"
2-
android:viewportHeight="24" android:viewportWidth="24"
3-
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
4-
<path android:fillColor="@android:color/white" android:pathData="M15.5,14h-0.79l-0.28,-0.27C15.41,12.59 16,11.11 16,9.5 16,5.91 13.09,3 9.5,3S3,5.91 3,9.5 5.91,16 9.5,16c1.61,0 3.09,-0.59 4.23,-1.57l0.27,0.28v0.79l5,4.99L20.49,19l-4.99,-5zM9.5,14C7.01,14 5,11.99 5,9.5S7.01,5 9.5,5 14,7.01 14,9.5 11.99,14 9.5,14z"/>
1+
<vector xmlns:android="http://schemas.android.com/apk/res/android"
2+
android:width="24dp"
3+
android:height="24dp"
4+
android:viewportWidth="24"
5+
android:viewportHeight="24">
6+
<group>
7+
<path android:name="square"
8+
android:fillColor="@color/blue"
9+
android:pathData="M0,0 L24,0 L24,24 L0,24 z" />
10+
<path
11+
android:fillColor="@android:color/white"
12+
android:pathData="M15.5,14h-0.79l-0.28,-0.27C15.41,12.59 16,11.11 16,9.5 16,5.91 13.09,3 9.5,3S3,5.91 3,9.5 5.91,16 9.5,16c1.61,0 3.09,-0.59 4.23,-1.57l0.27,0.28v0.79l5,4.99L20.49,19l-4.99,-5zM9.5,14C7.01,14 5,11.99 5,9.5S7.01,5 9.5,5 14,7.01 14,9.5 11.99,14 9.5,14z" />
13+
14+
</group>
515
</vector>
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<vector xmlns:android="http://schemas.android.com/apk/res/android"
2+
android:width="48dp"
3+
android:height="48dp"
4+
android:viewportWidth="48"
5+
android:viewportHeight="48">
6+
<group>
7+
<clip-path
8+
android:pathData="M0,0h48v48h-48z"/>
9+
<path
10+
android:pathData="M22,30H26V34H22V30ZM22,14H26V26H22V14ZM23.98,4C12.94,4 4,12.96 4,24C4,35.04 12.94,44 23.98,44C35.04,44 44,35.04 44,24C44,12.96 35.04,4 23.98,4ZM24,40C15.16,40 8,32.84 8,24C8,15.16 15.16,8 24,8C32.84,8 40,15.16 40,24C40,32.84 32.84,40 24,40Z"
11+
android:fillColor="#CCCCCC"/>
12+
</group>
13+
</vector>

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

Lines changed: 3 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,7 @@
1616
<androidx.constraintlayout.widget.ConstraintLayout
1717
android:layout_width="match_parent"
1818
android:layout_height="match_parent"
19-
tools:context=".ui.placesearch.PlaceSearchFragment"
20-
tools:theme="@style/Theme.Material3.Light.NoActionBar">
19+
tools:context=".ui.placesearch.PlaceSearchFragment">
2120

2221
<androidx.constraintlayout.widget.Guideline
2322
android:id="@+id/guide_line_start"
@@ -63,49 +62,6 @@
6362

6463
</com.google.android.material.textfield.TextInputLayout>
6564

66-
<TextView
67-
android:id="@+id/text_view_current_location"
68-
android:layout_width="wrap_content"
69-
android:layout_height="wrap_content"
70-
android:layout_marginTop="12dp"
71-
android:background="@drawable/background_gray_d9_8"
72-
android:drawablePadding="3dp"
73-
android:paddingHorizontal="12dp"
74-
android:paddingVertical="6dp"
75-
android:text="@string/current_location_text"
76-
android:textColor="@color/black"
77-
android:textSize="14sp"
78-
app:drawableStartCompat="@drawable/ic_baseline_location_searching_16"
79-
app:layout_constraintStart_toStartOf="@id/guide_line_start"
80-
app:layout_constraintTop_toBottomOf="@id/text_input_layout_place_search" />
81-
82-
<TextView
83-
android:id="@+id/text_view_select_map"
84-
android:layout_width="wrap_content"
85-
android:layout_height="wrap_content"
86-
android:layout_marginStart="12dp"
87-
android:background="@drawable/background_gray_d9_8"
88-
android:drawablePadding="3dp"
89-
android:paddingHorizontal="12dp"
90-
android:paddingVertical="6dp"
91-
android:text="@string/select_map_text"
92-
android:textColor="@color/black"
93-
android:textSize="14sp"
94-
app:drawableStartCompat="@drawable/ic_baseline_map_16"
95-
app:layout_constraintBottom_toBottomOf="@id/text_view_current_location"
96-
app:layout_constraintStart_toEndOf="@id/text_view_current_location"
97-
app:layout_constraintTop_toTopOf="@id/text_view_current_location" />
98-
99-
<com.google.android.material.divider.MaterialDivider
100-
android:id="@+id/divider"
101-
android:layout_width="0dp"
102-
android:layout_height="3dp"
103-
android:layout_marginTop="12dp"
104-
app:dividerColor="@color/light_grey"
105-
app:layout_constraintEnd_toEndOf="parent"
106-
app:layout_constraintStart_toStartOf="parent"
107-
app:layout_constraintTop_toBottomOf="@id/text_view_current_location" />
108-
10965
<androidx.recyclerview.widget.RecyclerView
11066
android:id="@+id/recycler_view_place"
11167
android:layout_width="0dp"
@@ -117,7 +73,7 @@
11773
app:layout_constraintBottom_toBottomOf="parent"
11874
app:layout_constraintEnd_toEndOf="@id/guide_line_end"
11975
app:layout_constraintStart_toStartOf="@id/guide_line_start"
120-
app:layout_constraintTop_toBottomOf="@id/divider"
76+
app:layout_constraintTop_toBottomOf="@id/text_input_layout_place_search"
12177
tools:visibility="gone" />
12278

12379
<include
@@ -129,7 +85,7 @@
12985
app:layout_constraintBottom_toBottomOf="parent"
13086
app:layout_constraintEnd_toEndOf="@id/guide_line_end"
13187
app:layout_constraintStart_toStartOf="@id/guide_line_start"
132-
app:layout_constraintTop_toBottomOf="@id/divider"
88+
app:layout_constraintTop_toBottomOf="@id/text_input_layout_place_search"
13389
bind:viewModel="@{viewModel}" />
13490

13591
</androidx.constraintlayout.widget.ConstraintLayout>

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

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,29 +13,41 @@
1313

1414
<androidx.constraintlayout.widget.ConstraintLayout
1515
android:layout_width="match_parent"
16-
android:layout_height="wrap_content">
16+
android:layout_height="wrap_content"
17+
tools:theme="@style/Theme.Material3.Light.NoActionBar">
18+
19+
<ImageView
20+
android:id="@+id/image_view_recent_search"
21+
android:layout_width="30dp"
22+
android:layout_height="30dp"
23+
android:layout_marginTop="8dp"
24+
android:src="@drawable/ic_baseline_search_24"
25+
app:layout_constraintStart_toStartOf="parent"
26+
app:layout_constraintTop_toTopOf="parent" />
1727

1828
<TextView
1929
android:id="@+id/text_view_recent_search_title"
2030
android:layout_width="0dp"
2131
android:layout_height="wrap_content"
22-
android:padding="8dp"
32+
android:layout_marginStart="12dp"
2333
android:text="@{placeItem.name}"
2434
android:textColor="@color/black"
25-
android:textSize="22sp"
26-
app:drawableStartCompat="@drawable/ic_baseline_location_on_22"
35+
android:textSize="24sp"
36+
app:layout_constraintBottom_toBottomOf="@id/image_view_recent_search"
2737
app:layout_constraintEnd_toEndOf="parent"
28-
app:layout_constraintStart_toStartOf="parent"
29-
app:layout_constraintTop_toTopOf="parent"
38+
app:layout_constraintStart_toEndOf="@id/image_view_recent_search"
39+
app:layout_constraintTop_toTopOf="@id/image_view_recent_search"
3040
tools:text="아남타워" />
3141

3242
<com.google.android.material.divider.MaterialDivider
3343
android:layout_width="0dp"
34-
android:layout_height="2dp"
44+
android:layout_height="1dp"
45+
android:layout_marginVertical="8dp"
3546
app:dividerColor="@color/light_grey"
47+
app:layout_constraintBaseline_toBottomOf="parent"
3648
app:layout_constraintBottom_toBottomOf="parent"
3749
app:layout_constraintEnd_toEndOf="parent"
38-
app:layout_constraintStart_toStartOf="parent"
50+
app:layout_constraintStart_toStartOf="@id/text_view_recent_search_title"
3951
app:layout_constraintTop_toBottomOf="@id/text_view_recent_search_title" />
4052

4153
</androidx.constraintlayout.widget.ConstraintLayout>

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

Lines changed: 71 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55

66
<data>
77

8+
<import type="android.view.View" />
9+
810
<variable
911
name="viewModel"
1012
type="com.stop.ui.placesearch.PlaceSearchViewModel" />
@@ -16,52 +18,104 @@
1618
tools:theme="@style/Theme.Material3.Light.NoActionBar">
1719

1820
<TextView
19-
android:id="@+id/text_view_recent_search"
21+
android:id="@+id/text_view_current_location"
2022
android:layout_width="wrap_content"
2123
android:layout_height="wrap_content"
22-
android:layout_marginTop="16dp"
23-
android:text="@string/recent_search_text"
24+
android:layout_marginTop="12dp"
25+
android:drawablePadding="3dp"
26+
android:text="@string/current_location_text"
2427
android:textColor="@color/black"
25-
android:textSize="24sp"
26-
android:textStyle="bold"
28+
android:textSize="14sp"
29+
app:drawableStartCompat="@drawable/ic_baseline_location_searching_16"
2730
app:layout_constraintStart_toStartOf="parent"
2831
app:layout_constraintTop_toTopOf="parent" />
2932

33+
<TextView
34+
android:id="@+id/text_view_select_map"
35+
android:layout_width="wrap_content"
36+
android:layout_height="wrap_content"
37+
android:layout_marginStart="12dp"
38+
android:drawablePadding="3dp"
39+
android:text="@string/select_map_text"
40+
android:textColor="@color/black"
41+
android:textSize="14sp"
42+
app:drawableStartCompat="@drawable/ic_baseline_map_16"
43+
app:layout_constraintBottom_toBottomOf="@id/text_view_current_location"
44+
app:layout_constraintStart_toEndOf="@id/text_view_current_location"
45+
app:layout_constraintTop_toTopOf="@id/text_view_current_location" />
46+
3047
<com.google.android.material.divider.MaterialDivider
48+
android:id="@+id/divider"
3149
android:layout_width="0dp"
32-
android:layout_height="2dp"
50+
android:layout_height="1dp"
3351
android:layout_marginTop="12dp"
3452
app:dividerColor="@color/light_grey"
3553
app:layout_constraintEnd_toEndOf="parent"
3654
app:layout_constraintStart_toStartOf="parent"
37-
app:layout_constraintTop_toBottomOf="@id/text_view_recent_search" />
55+
app:layout_constraintTop_toBottomOf="@id/text_view_current_location" />
56+
57+
<TextView
58+
android:id="@+id/text_view_recent_search"
59+
android:layout_width="wrap_content"
60+
android:layout_height="wrap_content"
61+
android:layout_marginTop="16dp"
62+
android:text="@string/recent_search_text"
63+
android:textColor="@color/black"
64+
android:textSize="24sp"
65+
android:textStyle="bold"
66+
app:layout_constraintStart_toStartOf="parent"
67+
app:layout_constraintTop_toBottomOf="@id/divider" />
3868

3969
<androidx.recyclerview.widget.RecyclerView
4070
android:id="@+id/recycler_view_recent_search"
4171
items="@{viewModel.recentPlaceSearch}"
4272
android:layout_width="0dp"
43-
android:layout_height="0dp"
73+
android:layout_height="wrap_content"
4474
android:layout_marginVertical="12dp"
4575
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
46-
app:layout_constraintBottom_toTopOf="@id/button_delete_recent_search"
76+
app:layout_constraintBottom_toTopOf="@id/text_view_history_delete"
4777
app:layout_constraintEnd_toEndOf="parent"
4878
app:layout_constraintStart_toStartOf="parent"
4979
app:layout_constraintTop_toBottomOf="@id/text_view_recent_search" />
5080

51-
<com.google.android.material.button.MaterialButton
52-
android:id="@+id/button_delete_recent_search"
53-
style="@style/Widget.Material3.Button.OutlinedButton"
81+
<TextView
82+
android:id="@+id/text_view_history_delete"
5483
android:layout_width="0dp"
5584
android:layout_height="wrap_content"
56-
android:layout_marginBottom="12dp"
85+
android:layout_marginTop="12dp"
86+
android:gravity="center"
5787
android:onClick="@{() -> viewModel.deleteRecentSearchPlace()}"
5888
android:text="@string/delete_recent_search_text"
59-
android:textColor="@color/black"
60-
android:textSize="24sp"
61-
android:textStyle="bold"
89+
android:textColor="@color/blue"
90+
android:textSize="14sp"
91+
android:visibility="@{viewModel.recentPlaceSearch.empty ? View.GONE : View.VISIBLE}"
92+
app:layout_constraintEnd_toEndOf="parent"
93+
app:layout_constraintStart_toStartOf="parent"
94+
app:layout_constraintTop_toBottomOf="@id/recycler_view_recent_search" />
95+
96+
<ImageView
97+
android:id="@+id/image_view_no_data"
98+
android:layout_width="wrap_content"
99+
android:layout_height="wrap_content"
100+
android:visibility="@{viewModel.recentPlaceSearch.empty ? View.VISIBLE : View.GONE}"
62101
app:layout_constraintBottom_toBottomOf="parent"
63102
app:layout_constraintEnd_toEndOf="parent"
64-
app:layout_constraintStart_toStartOf="parent" />
103+
app:layout_constraintStart_toStartOf="parent"
104+
app:layout_constraintTop_toBottomOf="@id/text_view_recent_search"
105+
app:layout_constraintVertical_bias="0.3"
106+
app:srcCompat="@drawable/icon_error" />
107+
108+
<TextView
109+
android:id="@+id/text_view_no_data"
110+
android:layout_width="wrap_content"
111+
android:layout_height="wrap_content"
112+
android:layout_marginTop="8dp"
113+
android:text="@string/recent_search_no_data_tet"
114+
android:textColor="@color/hint_text_color"
115+
android:visibility="@{viewModel.recentPlaceSearch.empty ? View.VISIBLE : View.GONE}"
116+
app:layout_constraintEnd_toEndOf="parent"
117+
app:layout_constraintStart_toStartOf="parent"
118+
app:layout_constraintTop_toBottomOf="@id/image_view_no_data" />
65119

66120
</androidx.constraintlayout.widget.ConstraintLayout>
67121

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,5 @@
1515
<color name="main_light_grey">#808590</color>
1616
<color name="transparent">#00FFFFFF</color>
1717
<color name="hint_text_color">#808590</color>
18+
<color name="blue">#2196F3</color>
1819
</resources>

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,4 +62,5 @@
6262
<string name="image_view_exit_content_description">경로 검색 화면을 종료합니다.</string>
6363
<string name="image_view_icon_content_description">승차지의 종류를 나타내는 아이콘입니다.</string>
6464
<string name="loading_text">Loading..</string>
65+
<string name="recent_search_no_data_tet">장소, 주소를 검색하세요</string>
6566
</resources>

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<resources>
33

4-
<style name="TextInputLayoutStyle" parent="Widget.MaterialComponents.TextInputLayout.OutlinedBox">
4+
<style name="TextInputLayoutStyle" parent="Widget.Material3.TextInputLayout.OutlinedBox">
55
<item name="colorPrimary">@color/black</item>
66
<item name="colorOnSurface">@color/black</item>
77
<item name="boxStrokeColor">@color/black</item>

0 commit comments

Comments
 (0)