From ee3cdcaca44a32a772941df7addad16336652bee Mon Sep 17 00:00:00 2001 From: SangwonYoon Date: Mon, 4 Jul 2022 23:38:40 +0900 Subject: [PATCH] =?UTF-8?q?Sliding=20Drawer=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 버그 다수 존재 --- .../com/example/publictoilet/MainActivity.kt | 39 +++++++++++++++++++ .../example/publictoilet/ResultFragment.kt | 21 ++++++++++ .../publictoilet/SearchToiletFragment.kt | 19 ++++----- .../res/drawable/ic_baseline_search_24.xml | 5 +++ app/src/main/res/layout/activity_main.xml | 24 ++++++------ app/src/main/res/layout/result_tab.xml | 10 +++++ app/src/main/res/layout/search_toilet_tab.xml | 4 +- 7 files changed, 97 insertions(+), 25 deletions(-) create mode 100644 app/src/main/java/com/example/publictoilet/ResultFragment.kt create mode 100644 app/src/main/res/drawable/ic_baseline_search_24.xml create mode 100644 app/src/main/res/layout/result_tab.xml diff --git a/app/src/main/java/com/example/publictoilet/MainActivity.kt b/app/src/main/java/com/example/publictoilet/MainActivity.kt index 0c6670b..9666247 100644 --- a/app/src/main/java/com/example/publictoilet/MainActivity.kt +++ b/app/src/main/java/com/example/publictoilet/MainActivity.kt @@ -14,11 +14,13 @@ import android.provider.Settings import android.util.Base64 import android.util.Log import android.view.ViewGroup +import android.widget.FrameLayout import android.widget.Toast import androidx.annotation.NonNull import androidx.appcompat.app.AppCompatActivity import androidx.core.app.ActivityCompat import androidx.core.content.ContextCompat +import com.google.android.material.tabs.TabLayout import net.daum.mf.map.api.MapPOIItem import net.daum.mf.map.api.MapPoint import net.daum.mf.map.api.MapView @@ -38,6 +40,18 @@ class MainActivity : AppCompatActivity() { findViewById(R.id.map_view) } + private val tabs : TabLayout by lazy{ + findViewById(R.id.tabs) + } + + private val container : FrameLayout by lazy{ + findViewById(R.id.container) + } + + private val searchToiletFragment = SearchToiletFragment() + + private val resultFragment = ResultFragment() + override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) @@ -47,6 +61,8 @@ class MainActivity : AppCompatActivity() { val myHome = makeMarker(37.6106656, 127.0064049, 0, "my Home") mapView.addPOIItem(myHome) + + initSlidingDrawer() } /** @@ -142,6 +158,29 @@ class MainActivity : AppCompatActivity() { } } + private fun initSlidingDrawer(){ + tabs.addTab(tabs.newTab().setText("화장실 위치 검색")) + tabs.addTab(tabs.newTab().setText("검색 결과")) + + supportFragmentManager.beginTransaction().add(R.id.container, searchToiletFragment).commit() + + tabs.setOnTabSelectedListener(object : TabLayout.OnTabSelectedListener { + override fun onTabSelected(tab: TabLayout.Tab) { + val position = tab.position + var selected = if (position == 0) searchToiletFragment + else resultFragment + supportFragmentManager.beginTransaction().replace(R.id.container, selected).commit() + } + + override fun onTabUnselected(tab: TabLayout.Tab) { + + } + override fun onTabReselected(tab: TabLayout.Tab) { + + } + }) + } + companion object{ var MY_PERMISSION_STORAGE = 1000 } diff --git a/app/src/main/java/com/example/publictoilet/ResultFragment.kt b/app/src/main/java/com/example/publictoilet/ResultFragment.kt new file mode 100644 index 0000000..50e9896 --- /dev/null +++ b/app/src/main/java/com/example/publictoilet/ResultFragment.kt @@ -0,0 +1,21 @@ +package com.example.publictoilet + +import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.fragment.app.Fragment + +class ResultFragment : Fragment() { + override fun onCreateView( + inflater: LayoutInflater, + container: ViewGroup?, + savedInstanceState: Bundle? + ): View? { + val view = inflater.inflate(R.layout.result_tab, container, false) + + //TODO Recycler View adapter + + return view + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/publictoilet/SearchToiletFragment.kt b/app/src/main/java/com/example/publictoilet/SearchToiletFragment.kt index 3557eb0..a7da350 100644 --- a/app/src/main/java/com/example/publictoilet/SearchToiletFragment.kt +++ b/app/src/main/java/com/example/publictoilet/SearchToiletFragment.kt @@ -26,22 +26,17 @@ class SearchToiletFragment : Fragment() { spinner.adapter = adapter - /* - spinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { - override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) { - when(position){ - 0 -> - } - } - - override fun onNothingSelected(p0: AdapterView<*>?) { - TODO("Not yet implemented") + searchButton.setOnClickListener { + val range = when(spinner.selectedItem.toString()){ + "300m" -> 300 + "500m" -> 500 + "1km" -> 1000 + else -> 3000 } + //TODO 화장실 검색 API 호출 } - */ - return view } } \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_baseline_search_24.xml b/app/src/main/res/drawable/ic_baseline_search_24.xml new file mode 100644 index 0000000..a5687c6 --- /dev/null +++ b/app/src/main/res/drawable/ic_baseline_search_24.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 64f9b47..595b2de 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -17,7 +17,7 @@ android:layout_height="match_parent" android:allowSingleTap="true" android:animateOnClick="true" - android:bottomOffset="5dp" + android:bottomOffset="-10dp" android:content="@id/search_drawer_content" android:handle="@id/search_drawer_handle" android:orientation="vertical" @@ -25,30 +25,32 @@ + android:layout_width="30dp" + android:layout_height="30dp" + android:src="@drawable/ic_baseline_search_24"/> + app:tabSelectedTextColor="@color/teal_200" + app:tabTextColor="@color/black"/> + android:layout_height="match_parent" + android:layout_below="@id/tabs" + android:background="@color/black"/> diff --git a/app/src/main/res/layout/result_tab.xml b/app/src/main/res/layout/result_tab.xml new file mode 100644 index 0000000..0b8a369 --- /dev/null +++ b/app/src/main/res/layout/result_tab.xml @@ -0,0 +1,10 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/search_toilet_tab.xml b/app/src/main/res/layout/search_toilet_tab.xml index 6758ded..2e5b141 100644 --- a/app/src/main/res/layout/search_toilet_tab.xml +++ b/app/src/main/res/layout/search_toilet_tab.xml @@ -7,12 +7,12 @@ + android:layout_marginTop="300dp"/>