Skip to content

Commit a9723f0

Browse files
committed
style: layout_panel 스타일 변경
1 parent b94b156 commit a9723f0

File tree

7 files changed

+161
-69
lines changed

7 files changed

+161
-69
lines changed

presentation/src/main/java/com/stop/ui/map/MapFragment.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,13 +88,15 @@ class MapFragment : Fragment() {
8888
binding.root.findNavController().navigate(R.id.action_mapFragment_to_bookMarkFragment)
8989
}
9090

91+
/*
9192
binding.textViewStartLocation.setOnClickListener {
9293
binding.root.findNavController().navigate(R.id.action_mapFragment_to_routeFragment)
9394
}
9495
9596
binding.textViewEndLocation.setOnClickListener {
9697
binding.root.findNavController().navigate(R.id.action_mapFragment_to_routeFragment)
9798
}
99+
*/
98100
}
99101

100102
private fun initTMap() {

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

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.stop.ui.placesearch
22

3+
import android.location.LocationManager
34
import android.text.Editable
45
import android.util.Log
56
import android.view.View
@@ -20,6 +21,9 @@ import kotlinx.coroutines.flow.collectLatest
2021
import kotlinx.coroutines.flow.receiveAsFlow
2122
import kotlinx.coroutines.launch
2223
import javax.inject.Inject
24+
import kotlin.math.pow
25+
import kotlin.math.round
26+
import kotlin.math.sqrt
2327

2428
@HiltViewModel
2529
class PlaceSearchViewModel @Inject constructor(
@@ -49,6 +53,9 @@ class PlaceSearchViewModel @Inject constructor(
4953
private val _panelVisibility = MutableLiveData(View.GONE)
5054
val panelVisibility: LiveData<Int> = _panelVisibility
5155

56+
private val _distance = MutableLiveData<Float>()
57+
val distance: LiveData<Float> = _distance
58+
5259
fun afterTextChanged(s: Editable?) {
5360
getNearPlaces(
5461
s.toString(),
@@ -76,12 +83,12 @@ class PlaceSearchViewModel @Inject constructor(
7683
BuildConfig.TMAP_APP_KEY
7784
).collectLatest {
7885
_nearPlaceList.postValue(it)
79-
Log.d("PlaceSearchViewModel","getNearPlace $it")
86+
Log.d("PlaceSearchViewModel", "getNearPlace $it")
8087
}
8188
} catch (e: Exception) {
8289
setNearPlaceListEmpty()
8390
errorMessageChannel.send(e.message ?: "something is wrong")
84-
Log.d("PlaceSearchViewModel","getNearPlace 실패~ ${e.toString()}")
91+
Log.d("PlaceSearchViewModel", "getNearPlace 실패~ ${e.toString()}")
8592
}
8693
}
8794
}
@@ -104,15 +111,25 @@ class PlaceSearchViewModel @Inject constructor(
104111
viewModelScope.launch {
105112
_geoLocation.value = geoLocationUseCase.getGeoLocationInfo(latitude, longitude)
106113
_panelVisibility.value = View.VISIBLE
114+
getDistance(latitude, longitude)
107115
}
108116
}
109117

118+
private fun getDistance(latitude: Double, longitude: Double) {
119+
val startPoint = android.location.Location("Start")
120+
val endPoint = android.location.Location("End")
121+
122+
startPoint.latitude = latitude
123+
startPoint.longitude = longitude
124+
endPoint.latitude = currentLocation.latitude
125+
endPoint.longitude = currentLocation.longitude
126+
_distance.value = round(startPoint.distanceTo(endPoint) / 100) / 10
127+
}
128+
110129
companion object {
111130
private const val TMAP_VERSION = 1
112131
private val EXAMPLE_BOOKMARK_1 = Location(37.3931010, 126.9781449)
113132
private val EXAMPLE_BOOKMARK_2 = Location(37.55063543842469, 127.07369927986392)
114133
private val EXAMPLE_BOOKMARK_3 = Location(37.48450549635376, 126.89324337770405)
115134
}
116-
117-
118135
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<shape
3+
xmlns:android="http://schemas.android.com/apk/res/android"
4+
android:shape="rectangle">
5+
6+
<solid android:color="#FFFFFF" />
7+
<corners android:radius="15dp" />
8+
</shape>
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<vector xmlns:android="http://schemas.android.com/apk/res/android"
2+
android:width="24dp"
3+
android:height="24dp"
4+
android:tint="#404550"
5+
android:viewportWidth="24"
6+
android:viewportHeight="24"
7+
android:autoMirrored="true">
8+
9+
<path
10+
android:fillColor="@android:color/white"
11+
android:pathData="M16,18l2.29,-2.29 -4.88,-4.88 -4,4L2,7.41 3.41,6l6,6 4,-4 6.3,6.29L22,12v6z"/>
12+
</vector>
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<vector xmlns:android="http://schemas.android.com/apk/res/android"
2+
android:width="24dp"
3+
android:height="24dp"
4+
android:tint="#404550"
5+
android:viewportWidth="24"
6+
android:viewportHeight="24"
7+
android:autoMirrored="true">
8+
9+
<path
10+
android:fillColor="@android:color/white"
11+
android:pathData="M16,6l2.29,2.29 -4.88,4.88 -4,-4L2,16.59 3.41,18l6,-6 4,4 6.3,-6.29L22,12V6z"/>
12+
</vector>

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

Lines changed: 105 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343
android:layout_width="wrap_content"
4444
android:layout_height="wrap_content"
4545
android:orientation="horizontal"
46-
app:layout_constraintGuide_end="55dp" />
46+
app:layout_constraintGuide_begin="791dp" />
4747

4848
<androidx.constraintlayout.widget.Guideline
4949
android:id="@+id/guideline_panel"
@@ -63,110 +63,150 @@
6363

6464
<androidx.constraintlayout.widget.ConstraintLayout
6565
android:id="@+id/layout_panel"
66-
android:layout_width="270dp"
66+
android:layout_width="300dp"
6767
android:layout_height="0dp"
6868
android:layout_marginEnd="15dp"
6969
android:layout_marginTop="30dp"
7070
android:elevation="15dp"
7171
android:background="@drawable/background_panel"
72-
android:paddingHorizontal="10dp"
73-
android:paddingVertical="5dp"
7472
android:visibility="@{placeSearchViewModel.panelVisibility}"
7573
app:layout_constraintEnd_toStartOf="@id/layout_compass"
7674
app:layout_constraintTop_toTopOf="@id/layout_compass"
7775
app:layout_constraintBottom_toBottomOf="@id/guideline_bottom">
7876

77+
<ImageView
78+
android:id="@+id/image_view_panel_point"
79+
android:layout_width="30dp"
80+
android:layout_height="30dp"
81+
android:layout_marginStart="17dp"
82+
android:layout_marginTop="20dp"
83+
app:layout_constraintStart_toStartOf="parent"
84+
app:layout_constraintTop_toTopOf="parent"
85+
app:srcCompat="@drawable/ic_point_marker" />
86+
7987
<TextView
80-
android:id="@+id/text_view_title"
88+
android:id="@+id/text_view_panel_title"
8189
android:layout_width="0dp"
82-
android:layout_height="wrap_content"
83-
android:layout_marginEnd="4dp"
90+
android:layout_height="30dp"
91+
android:layout_marginStart="10dp"
92+
android:layout_marginEnd="10dp"
93+
android:layout_marginTop="20dp"
94+
android:maxLines="1"
8495
android:ellipsize="end"
85-
android:maxLines="2"
86-
android:textColor="@color/white"
87-
android:textSize="20sp"
8896
android:text="@{placeSearchViewModel.geoLocation.title}"
89-
app:layout_constraintEnd_toStartOf="@+id/text_view_bookmark"
90-
app:layout_constraintHorizontal_bias="0.5"
91-
app:layout_constraintHorizontal_chainStyle="spread_inside"
92-
app:layout_constraintStart_toStartOf="parent"
97+
android:textSize="22sp"
98+
android:textStyle="bold"
99+
android:textColor="@color/white"
100+
android:gravity="center_vertical"
101+
app:layout_constraintStart_toEndOf="@id/image_view_panel_point"
102+
app:layout_constraintEnd_toStartOf="@id/view_panel_bookmark"
93103
app:layout_constraintTop_toTopOf="parent"
94-
tools:text="이앤씨벤처드림타워6차" />
104+
tools:text="성복역" />
95105

96-
<TextView
97-
android:id="@+id/text_view_bookmark"
98-
android:layout_width="wrap_content"
99-
android:layout_height="wrap_content"
100-
android:text="@string/bookmark"
101-
android:textColor="@color/white"
102-
android:textSize="12sp"
106+
<View
107+
android:id="@+id/view_panel_bookmark"
108+
android:layout_width="30dp"
109+
android:layout_height="30dp"
110+
android:layout_marginEnd="20dp"
111+
android:layout_marginTop="20dp"
112+
android:background="@drawable/background_button"
103113
app:layout_constraintEnd_toEndOf="parent"
104-
app:layout_constraintHorizontal_bias="0.5"
105114
app:layout_constraintTop_toTopOf="parent" />
106115

107-
<TextView
108-
android:id="@+id/text_view_road_address"
109-
android:layout_width="0dp"
110-
android:layout_height="wrap_content"
111-
android:ellipsize="end"
112-
android:maxLines="2"
113-
android:textColor="@color/white"
114-
android:textSize="14sp"
115-
android:text="@{placeSearchViewModel.geoLocation.roadAddress}"
116-
app:layout_constraintEnd_toEndOf="parent"
117-
app:layout_constraintStart_toStartOf="parent"
118-
app:layout_constraintTop_toBottomOf="@id/text_view_title"
119-
tools:text="서울 구로구 디지털로31길 41" />
116+
<ImageView
117+
android:id="@+id/image_view_panel_bookmark"
118+
android:layout_width="15dp"
119+
android:layout_height="15dp"
120+
app:layout_constraintStart_toStartOf="@id/view_panel_bookmark"
121+
app:layout_constraintEnd_toEndOf="@id/view_panel_bookmark"
122+
app:layout_constraintTop_toTopOf="@id/view_panel_bookmark"
123+
app:layout_constraintBottom_toBottomOf="@id/view_panel_bookmark"
124+
app:srcCompat="@drawable/ic_bookmark" />
120125

121126
<TextView
122-
android:id="@+id/text_view_lot_address"
127+
android:id="@+id/text_view_panel_address"
123128
android:layout_width="0dp"
124129
android:layout_height="wrap_content"
130+
android:layout_marginStart="20dp"
131+
android:layout_marginEnd="20dp"
132+
android:maxLines="1"
125133
android:ellipsize="end"
126-
android:maxLines="2"
127-
android:textColor="@color/light_grey"
134+
android:text="@{placeSearchViewModel.geoLocation.roadAddress}"
128135
android:textSize="14sp"
129-
android:text="@{placeSearchViewModel.geoLocation.lotAddress}"
136+
android:textColor="#808590"
130137
app:layout_constraintEnd_toEndOf="parent"
131138
app:layout_constraintStart_toStartOf="parent"
132-
app:layout_constraintTop_toBottomOf="@id/text_view_road_address"
133-
tools:text="서울 구로구 구로동 197-28" />
134-
135-
<TextView
136-
android:id="@+id/text_view_distance_from_now"
137-
android:layout_width="0dp"
138-
android:layout_height="wrap_content"
139-
android:layout_marginEnd="4dp"
140-
android:textColor="@color/white"
141-
android:textSize="14sp"
142-
android:text="@{placeSearchViewModel.geoLocation.distance}"
143-
app:layout_constraintBottom_toBottomOf="parent"
144-
app:layout_constraintEnd_toStartOf="@id/text_view_start_location"
145-
app:layout_constraintStart_toStartOf="parent"
146-
tools:text="현재 위치에서 거리" />
139+
app:layout_constraintTop_toBottomOf="@id/text_view_panel_title"
140+
app:layout_constraintBottom_toTopOf="@id/view_panel_start"
141+
tools:text="서울 구로구 디지털로31길 41" />
147142

148143
<TextView
149-
android:id="@+id/text_view_start_location"
144+
android:id="@+id/text_view_panel_distance"
150145
android:layout_width="wrap_content"
151146
android:layout_height="wrap_content"
152-
android:layout_marginEnd="15dp"
153-
android:text="@string/start_location"
147+
android:layout_marginStart="20dp"
148+
android:layout_marginBottom="17dp"
149+
android:text="@{placeSearchViewModel.distance.toString()}"
150+
android:textSize="40sp"
151+
android:textStyle="bold"
154152
android:textColor="@color/white"
155-
android:textSize="18sp"
153+
app:layout_constraintStart_toStartOf="parent"
156154
app:layout_constraintBottom_toBottomOf="parent"
157-
app:layout_constraintEnd_toStartOf="@id/text_view_end_location"
158-
app:layout_constraintStart_toEndOf="@id/text_view_distance_from_now" />
155+
tools:text="1.6" />
159156

160157
<TextView
161-
android:id="@+id/text_view_end_location"
158+
android:id="@+id/text_view_panel_distance_km"
162159
android:layout_width="wrap_content"
163160
android:layout_height="wrap_content"
164-
android:text="@string/end_location"
161+
android:layout_marginStart="7dp"
162+
android:layout_marginBottom="23dp"
163+
android:text="@string/km"
164+
android:textSize="20sp"
165+
android:textStyle="bold"
165166
android:textColor="@color/white"
166-
android:textSize="18sp"
167+
app:layout_constraintStart_toEndOf="@id/text_view_panel_distance"
167168
app:layout_constraintBottom_toBottomOf="parent"
169+
tools:text="km" />
170+
171+
<View
172+
android:id="@+id/view_panel_start"
173+
android:layout_width="50dp"
174+
android:layout_height="50dp"
175+
android:layout_marginEnd="10dp"
176+
android:layout_marginBottom="20dp"
177+
android:background="@drawable/background_button"
178+
app:layout_constraintEnd_toStartOf="@id/view_panel_end"
179+
app:layout_constraintBottom_toBottomOf="parent" />
180+
181+
<ImageView
182+
android:id="@+id/image_view_panel_start"
183+
android:layout_width="25dp"
184+
android:layout_height="25dp"
185+
app:layout_constraintStart_toStartOf="@id/view_panel_start"
186+
app:layout_constraintEnd_toEndOf="@id/view_panel_start"
187+
app:layout_constraintTop_toTopOf="@id/view_panel_start"
188+
app:layout_constraintBottom_toBottomOf="@id/view_panel_start"
189+
app:srcCompat="@drawable/ic_start" />
190+
191+
<View
192+
android:id="@+id/view_panel_end"
193+
android:layout_width="50dp"
194+
android:layout_height="50dp"
195+
android:layout_marginEnd="20dp"
196+
android:layout_marginBottom="20dp"
197+
android:background="@drawable/background_button"
168198
app:layout_constraintEnd_toEndOf="parent"
169-
app:layout_constraintStart_toEndOf="@id/text_view_start_location" />
199+
app:layout_constraintBottom_toBottomOf="parent" />
200+
201+
<ImageView
202+
android:id="@+id/image_view_panel_end"
203+
android:layout_width="25dp"
204+
android:layout_height="25dp"
205+
app:layout_constraintStart_toStartOf="@id/view_panel_end"
206+
app:layout_constraintEnd_toEndOf="@id/view_panel_end"
207+
app:layout_constraintTop_toTopOf="@id/view_panel_end"
208+
app:layout_constraintBottom_toBottomOf="@id/view_panel_end"
209+
app:srcCompat="@drawable/ic_end" />
170210
</androidx.constraintlayout.widget.ConstraintLayout>
171211

172212
<androidx.constraintlayout.widget.ConstraintLayout

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,5 @@
2020
<string name="minus">-</string>
2121
<string name="plus">+</string>
2222
<string name="search_hint">장소, 주소 검색</string>
23+
<string name="km">km</string>
2324
</resources>

0 commit comments

Comments
 (0)