diff --git a/app/libs/lite-release.aar b/app/libs/lite-release.aar
index c3b7c14..2ead31e 100644
--- a/app/libs/lite-release.aar
+++ b/app/libs/lite-release.aar
Binary files differ
diff --git a/app/libs/lite-release.aar b/app/libs/lite-release.aar
index c3b7c14..2ead31e 100644
--- a/app/libs/lite-release.aar
+++ b/app/libs/lite-release.aar
Binary files differ
diff --git a/app/src/main/java/com/casic/smarttube/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/smarttube/fragment/HomePageFragment.kt
index 29a99bc..1c43abb 100644
--- a/app/src/main/java/com/casic/smarttube/fragment/HomePageFragment.kt
+++ b/app/src/main/java/com/casic/smarttube/fragment/HomePageFragment.kt
@@ -1,21 +1,90 @@
package com.casic.smarttube.fragment
+import android.os.Bundle
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import androidx.fragment.app.Fragment
+import com.amap.api.maps.AMap
+import com.amap.api.maps.AMapOptions
import com.casic.smarttube.R
-import com.pengxh.kt.lite.base.KotlinBaseFragment
+import com.casic.smarttube.utils.LocaleConstant
+import com.pengxh.kt.lite.widget.EasyPopupWindow
+import kotlinx.android.synthetic.main.fragment_home.view.*
-class HomePageFragment: KotlinBaseFragment() {
+class HomePageFragment : Fragment() {
- override fun initLayoutView(): Int = R.layout.fragment_home
+ private lateinit var homeView: View
+ private lateinit var aMap: AMap
- override fun setupTopBarLayout() {
+ override fun onCreateView(
+ inflater: LayoutInflater,
+ container: ViewGroup?,
+ savedInstanceState: Bundle?
+ ): View? {
+ homeView = inflater.inflate(R.layout.fragment_home, container, false)
+ val easyPopupWindow = EasyPopupWindow(requireContext())
+ easyPopupWindow.setPopupMenuItem(LocaleConstant.POPUP_IMAGES, LocaleConstant.POPUP_TITLES)
+ homeView.rightOptionView.setOnClickListener {
+ easyPopupWindow.setOnPopupWindowClickListener(object :
+ EasyPopupWindow.OnPopupWindowClickListener {
+ override fun onPopupItemClicked(position: Int) {
+ when (position) {
+ 0 -> aMap.mapType = AMap.MAP_TYPE_NORMAL
+ 1 -> aMap.mapType = AMap.MAP_TYPE_SATELLITE
+ }
+ }
+ })
+ easyPopupWindow.setBackgroundDrawable(null)
+ val x: Int = homeView.rightOptionView.width - easyPopupWindow.width
+ easyPopupWindow.showAsDropDown(homeView.rightOptionView, x, 0)
+ }
+
+ //地图初始化
+ initMap(savedInstanceState)
+
+ return homeView
}
- override fun initData() {
+ private fun initMap(savedInstanceState: Bundle?) {
+ homeView.mapView.onCreate(savedInstanceState)
+ aMap = homeView.mapView.map
+ aMap.mapType = AMap.MAP_TYPE_NORMAL
+ val uiSettings = aMap.uiSettings
+ uiSettings.isCompassEnabled = true
+ uiSettings.zoomPosition = AMapOptions.ZOOM_POSITION_RIGHT_CENTER
+ uiSettings.isTiltGesturesEnabled = false//不许地图随手势倾斜角度
+ uiSettings.isRotateGesturesEnabled = false//不允许地图旋转
+ // 地图加载成功监听
+// aMap.addOnMapLoadedListener(this)
+ // 地图缩放监听
+// aMap.addOnCameraChangeListener(this)
+ // marker 点击事件监听
+// aMap.addOnMarkerClickListener(this)
+ // 点击marker弹出自定义popup
+// aMap.setInfoWindowAdapter(this)
}
- override fun initEvent() {
+ /***以下是地图生命周期管理************************************************************************/
+ override fun onResume() {
+ super.onResume()
+ homeView.mapView.onResume()
+ }
+ override fun onPause() {
+ super.onPause()
+ homeView.mapView.onPause()
+ }
+
+ override fun onSaveInstanceState(outState: Bundle) {
+ super.onSaveInstanceState(outState)
+ homeView.mapView.onSaveInstanceState(outState)
+ }
+
+ override fun onDestroy() {
+ super.onDestroy()
+ homeView.mapView.onDestroy()
}
}
\ No newline at end of file
diff --git a/app/libs/lite-release.aar b/app/libs/lite-release.aar
index c3b7c14..2ead31e 100644
--- a/app/libs/lite-release.aar
+++ b/app/libs/lite-release.aar
Binary files differ
diff --git a/app/src/main/java/com/casic/smarttube/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/smarttube/fragment/HomePageFragment.kt
index 29a99bc..1c43abb 100644
--- a/app/src/main/java/com/casic/smarttube/fragment/HomePageFragment.kt
+++ b/app/src/main/java/com/casic/smarttube/fragment/HomePageFragment.kt
@@ -1,21 +1,90 @@
package com.casic.smarttube.fragment
+import android.os.Bundle
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import androidx.fragment.app.Fragment
+import com.amap.api.maps.AMap
+import com.amap.api.maps.AMapOptions
import com.casic.smarttube.R
-import com.pengxh.kt.lite.base.KotlinBaseFragment
+import com.casic.smarttube.utils.LocaleConstant
+import com.pengxh.kt.lite.widget.EasyPopupWindow
+import kotlinx.android.synthetic.main.fragment_home.view.*
-class HomePageFragment: KotlinBaseFragment() {
+class HomePageFragment : Fragment() {
- override fun initLayoutView(): Int = R.layout.fragment_home
+ private lateinit var homeView: View
+ private lateinit var aMap: AMap
- override fun setupTopBarLayout() {
+ override fun onCreateView(
+ inflater: LayoutInflater,
+ container: ViewGroup?,
+ savedInstanceState: Bundle?
+ ): View? {
+ homeView = inflater.inflate(R.layout.fragment_home, container, false)
+ val easyPopupWindow = EasyPopupWindow(requireContext())
+ easyPopupWindow.setPopupMenuItem(LocaleConstant.POPUP_IMAGES, LocaleConstant.POPUP_TITLES)
+ homeView.rightOptionView.setOnClickListener {
+ easyPopupWindow.setOnPopupWindowClickListener(object :
+ EasyPopupWindow.OnPopupWindowClickListener {
+ override fun onPopupItemClicked(position: Int) {
+ when (position) {
+ 0 -> aMap.mapType = AMap.MAP_TYPE_NORMAL
+ 1 -> aMap.mapType = AMap.MAP_TYPE_SATELLITE
+ }
+ }
+ })
+ easyPopupWindow.setBackgroundDrawable(null)
+ val x: Int = homeView.rightOptionView.width - easyPopupWindow.width
+ easyPopupWindow.showAsDropDown(homeView.rightOptionView, x, 0)
+ }
+
+ //地图初始化
+ initMap(savedInstanceState)
+
+ return homeView
}
- override fun initData() {
+ private fun initMap(savedInstanceState: Bundle?) {
+ homeView.mapView.onCreate(savedInstanceState)
+ aMap = homeView.mapView.map
+ aMap.mapType = AMap.MAP_TYPE_NORMAL
+ val uiSettings = aMap.uiSettings
+ uiSettings.isCompassEnabled = true
+ uiSettings.zoomPosition = AMapOptions.ZOOM_POSITION_RIGHT_CENTER
+ uiSettings.isTiltGesturesEnabled = false//不许地图随手势倾斜角度
+ uiSettings.isRotateGesturesEnabled = false//不允许地图旋转
+ // 地图加载成功监听
+// aMap.addOnMapLoadedListener(this)
+ // 地图缩放监听
+// aMap.addOnCameraChangeListener(this)
+ // marker 点击事件监听
+// aMap.addOnMarkerClickListener(this)
+ // 点击marker弹出自定义popup
+// aMap.setInfoWindowAdapter(this)
}
- override fun initEvent() {
+ /***以下是地图生命周期管理************************************************************************/
+ override fun onResume() {
+ super.onResume()
+ homeView.mapView.onResume()
+ }
+ override fun onPause() {
+ super.onPause()
+ homeView.mapView.onPause()
+ }
+
+ override fun onSaveInstanceState(outState: Bundle) {
+ super.onSaveInstanceState(outState)
+ homeView.mapView.onSaveInstanceState(outState)
+ }
+
+ override fun onDestroy() {
+ super.onDestroy()
+ homeView.mapView.onDestroy()
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt b/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt
index c580688..af85fc7 100644
--- a/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt
+++ b/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt
@@ -1,6 +1,7 @@
package com.casic.smarttube.utils
import android.Manifest
+import com.casic.smarttube.R
object LocaleConstant {
@@ -15,6 +16,8 @@
Manifest.permission.CAMERA, Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.READ_PHONE_STATE
)
+ val POPUP_IMAGES = intArrayOf(R.drawable.ic_menu_map, R.drawable.ic_satellite)
+ val POPUP_TITLES = arrayOf("标准地图", "卫星地图")
/**
* =============================================================================================
diff --git a/app/libs/lite-release.aar b/app/libs/lite-release.aar
index c3b7c14..2ead31e 100644
--- a/app/libs/lite-release.aar
+++ b/app/libs/lite-release.aar
Binary files differ
diff --git a/app/src/main/java/com/casic/smarttube/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/smarttube/fragment/HomePageFragment.kt
index 29a99bc..1c43abb 100644
--- a/app/src/main/java/com/casic/smarttube/fragment/HomePageFragment.kt
+++ b/app/src/main/java/com/casic/smarttube/fragment/HomePageFragment.kt
@@ -1,21 +1,90 @@
package com.casic.smarttube.fragment
+import android.os.Bundle
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import androidx.fragment.app.Fragment
+import com.amap.api.maps.AMap
+import com.amap.api.maps.AMapOptions
import com.casic.smarttube.R
-import com.pengxh.kt.lite.base.KotlinBaseFragment
+import com.casic.smarttube.utils.LocaleConstant
+import com.pengxh.kt.lite.widget.EasyPopupWindow
+import kotlinx.android.synthetic.main.fragment_home.view.*
-class HomePageFragment: KotlinBaseFragment() {
+class HomePageFragment : Fragment() {
- override fun initLayoutView(): Int = R.layout.fragment_home
+ private lateinit var homeView: View
+ private lateinit var aMap: AMap
- override fun setupTopBarLayout() {
+ override fun onCreateView(
+ inflater: LayoutInflater,
+ container: ViewGroup?,
+ savedInstanceState: Bundle?
+ ): View? {
+ homeView = inflater.inflate(R.layout.fragment_home, container, false)
+ val easyPopupWindow = EasyPopupWindow(requireContext())
+ easyPopupWindow.setPopupMenuItem(LocaleConstant.POPUP_IMAGES, LocaleConstant.POPUP_TITLES)
+ homeView.rightOptionView.setOnClickListener {
+ easyPopupWindow.setOnPopupWindowClickListener(object :
+ EasyPopupWindow.OnPopupWindowClickListener {
+ override fun onPopupItemClicked(position: Int) {
+ when (position) {
+ 0 -> aMap.mapType = AMap.MAP_TYPE_NORMAL
+ 1 -> aMap.mapType = AMap.MAP_TYPE_SATELLITE
+ }
+ }
+ })
+ easyPopupWindow.setBackgroundDrawable(null)
+ val x: Int = homeView.rightOptionView.width - easyPopupWindow.width
+ easyPopupWindow.showAsDropDown(homeView.rightOptionView, x, 0)
+ }
+
+ //地图初始化
+ initMap(savedInstanceState)
+
+ return homeView
}
- override fun initData() {
+ private fun initMap(savedInstanceState: Bundle?) {
+ homeView.mapView.onCreate(savedInstanceState)
+ aMap = homeView.mapView.map
+ aMap.mapType = AMap.MAP_TYPE_NORMAL
+ val uiSettings = aMap.uiSettings
+ uiSettings.isCompassEnabled = true
+ uiSettings.zoomPosition = AMapOptions.ZOOM_POSITION_RIGHT_CENTER
+ uiSettings.isTiltGesturesEnabled = false//不许地图随手势倾斜角度
+ uiSettings.isRotateGesturesEnabled = false//不允许地图旋转
+ // 地图加载成功监听
+// aMap.addOnMapLoadedListener(this)
+ // 地图缩放监听
+// aMap.addOnCameraChangeListener(this)
+ // marker 点击事件监听
+// aMap.addOnMarkerClickListener(this)
+ // 点击marker弹出自定义popup
+// aMap.setInfoWindowAdapter(this)
}
- override fun initEvent() {
+ /***以下是地图生命周期管理************************************************************************/
+ override fun onResume() {
+ super.onResume()
+ homeView.mapView.onResume()
+ }
+ override fun onPause() {
+ super.onPause()
+ homeView.mapView.onPause()
+ }
+
+ override fun onSaveInstanceState(outState: Bundle) {
+ super.onSaveInstanceState(outState)
+ homeView.mapView.onSaveInstanceState(outState)
+ }
+
+ override fun onDestroy() {
+ super.onDestroy()
+ homeView.mapView.onDestroy()
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt b/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt
index c580688..af85fc7 100644
--- a/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt
+++ b/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt
@@ -1,6 +1,7 @@
package com.casic.smarttube.utils
import android.Manifest
+import com.casic.smarttube.R
object LocaleConstant {
@@ -15,6 +16,8 @@
Manifest.permission.CAMERA, Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.READ_PHONE_STATE
)
+ val POPUP_IMAGES = intArrayOf(R.drawable.ic_menu_map, R.drawable.ic_satellite)
+ val POPUP_TITLES = arrayOf("标准地图", "卫星地图")
/**
* =============================================================================================
diff --git a/app/src/main/res/drawable/ic_change_map.xml b/app/src/main/res/drawable/ic_change_map.xml
new file mode 100644
index 0000000..c567efa
--- /dev/null
+++ b/app/src/main/res/drawable/ic_change_map.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/libs/lite-release.aar b/app/libs/lite-release.aar
index c3b7c14..2ead31e 100644
--- a/app/libs/lite-release.aar
+++ b/app/libs/lite-release.aar
Binary files differ
diff --git a/app/src/main/java/com/casic/smarttube/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/smarttube/fragment/HomePageFragment.kt
index 29a99bc..1c43abb 100644
--- a/app/src/main/java/com/casic/smarttube/fragment/HomePageFragment.kt
+++ b/app/src/main/java/com/casic/smarttube/fragment/HomePageFragment.kt
@@ -1,21 +1,90 @@
package com.casic.smarttube.fragment
+import android.os.Bundle
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import androidx.fragment.app.Fragment
+import com.amap.api.maps.AMap
+import com.amap.api.maps.AMapOptions
import com.casic.smarttube.R
-import com.pengxh.kt.lite.base.KotlinBaseFragment
+import com.casic.smarttube.utils.LocaleConstant
+import com.pengxh.kt.lite.widget.EasyPopupWindow
+import kotlinx.android.synthetic.main.fragment_home.view.*
-class HomePageFragment: KotlinBaseFragment() {
+class HomePageFragment : Fragment() {
- override fun initLayoutView(): Int = R.layout.fragment_home
+ private lateinit var homeView: View
+ private lateinit var aMap: AMap
- override fun setupTopBarLayout() {
+ override fun onCreateView(
+ inflater: LayoutInflater,
+ container: ViewGroup?,
+ savedInstanceState: Bundle?
+ ): View? {
+ homeView = inflater.inflate(R.layout.fragment_home, container, false)
+ val easyPopupWindow = EasyPopupWindow(requireContext())
+ easyPopupWindow.setPopupMenuItem(LocaleConstant.POPUP_IMAGES, LocaleConstant.POPUP_TITLES)
+ homeView.rightOptionView.setOnClickListener {
+ easyPopupWindow.setOnPopupWindowClickListener(object :
+ EasyPopupWindow.OnPopupWindowClickListener {
+ override fun onPopupItemClicked(position: Int) {
+ when (position) {
+ 0 -> aMap.mapType = AMap.MAP_TYPE_NORMAL
+ 1 -> aMap.mapType = AMap.MAP_TYPE_SATELLITE
+ }
+ }
+ })
+ easyPopupWindow.setBackgroundDrawable(null)
+ val x: Int = homeView.rightOptionView.width - easyPopupWindow.width
+ easyPopupWindow.showAsDropDown(homeView.rightOptionView, x, 0)
+ }
+
+ //地图初始化
+ initMap(savedInstanceState)
+
+ return homeView
}
- override fun initData() {
+ private fun initMap(savedInstanceState: Bundle?) {
+ homeView.mapView.onCreate(savedInstanceState)
+ aMap = homeView.mapView.map
+ aMap.mapType = AMap.MAP_TYPE_NORMAL
+ val uiSettings = aMap.uiSettings
+ uiSettings.isCompassEnabled = true
+ uiSettings.zoomPosition = AMapOptions.ZOOM_POSITION_RIGHT_CENTER
+ uiSettings.isTiltGesturesEnabled = false//不许地图随手势倾斜角度
+ uiSettings.isRotateGesturesEnabled = false//不允许地图旋转
+ // 地图加载成功监听
+// aMap.addOnMapLoadedListener(this)
+ // 地图缩放监听
+// aMap.addOnCameraChangeListener(this)
+ // marker 点击事件监听
+// aMap.addOnMarkerClickListener(this)
+ // 点击marker弹出自定义popup
+// aMap.setInfoWindowAdapter(this)
}
- override fun initEvent() {
+ /***以下是地图生命周期管理************************************************************************/
+ override fun onResume() {
+ super.onResume()
+ homeView.mapView.onResume()
+ }
+ override fun onPause() {
+ super.onPause()
+ homeView.mapView.onPause()
+ }
+
+ override fun onSaveInstanceState(outState: Bundle) {
+ super.onSaveInstanceState(outState)
+ homeView.mapView.onSaveInstanceState(outState)
+ }
+
+ override fun onDestroy() {
+ super.onDestroy()
+ homeView.mapView.onDestroy()
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt b/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt
index c580688..af85fc7 100644
--- a/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt
+++ b/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt
@@ -1,6 +1,7 @@
package com.casic.smarttube.utils
import android.Manifest
+import com.casic.smarttube.R
object LocaleConstant {
@@ -15,6 +16,8 @@
Manifest.permission.CAMERA, Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.READ_PHONE_STATE
)
+ val POPUP_IMAGES = intArrayOf(R.drawable.ic_menu_map, R.drawable.ic_satellite)
+ val POPUP_TITLES = arrayOf("标准地图", "卫星地图")
/**
* =============================================================================================
diff --git a/app/src/main/res/drawable/ic_change_map.xml b/app/src/main/res/drawable/ic_change_map.xml
new file mode 100644
index 0000000..c567efa
--- /dev/null
+++ b/app/src/main/res/drawable/ic_change_map.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/src/main/res/drawable/ic_menu_map.xml b/app/src/main/res/drawable/ic_menu_map.xml
new file mode 100644
index 0000000..85ab880
--- /dev/null
+++ b/app/src/main/res/drawable/ic_menu_map.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
diff --git a/app/libs/lite-release.aar b/app/libs/lite-release.aar
index c3b7c14..2ead31e 100644
--- a/app/libs/lite-release.aar
+++ b/app/libs/lite-release.aar
Binary files differ
diff --git a/app/src/main/java/com/casic/smarttube/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/smarttube/fragment/HomePageFragment.kt
index 29a99bc..1c43abb 100644
--- a/app/src/main/java/com/casic/smarttube/fragment/HomePageFragment.kt
+++ b/app/src/main/java/com/casic/smarttube/fragment/HomePageFragment.kt
@@ -1,21 +1,90 @@
package com.casic.smarttube.fragment
+import android.os.Bundle
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import androidx.fragment.app.Fragment
+import com.amap.api.maps.AMap
+import com.amap.api.maps.AMapOptions
import com.casic.smarttube.R
-import com.pengxh.kt.lite.base.KotlinBaseFragment
+import com.casic.smarttube.utils.LocaleConstant
+import com.pengxh.kt.lite.widget.EasyPopupWindow
+import kotlinx.android.synthetic.main.fragment_home.view.*
-class HomePageFragment: KotlinBaseFragment() {
+class HomePageFragment : Fragment() {
- override fun initLayoutView(): Int = R.layout.fragment_home
+ private lateinit var homeView: View
+ private lateinit var aMap: AMap
- override fun setupTopBarLayout() {
+ override fun onCreateView(
+ inflater: LayoutInflater,
+ container: ViewGroup?,
+ savedInstanceState: Bundle?
+ ): View? {
+ homeView = inflater.inflate(R.layout.fragment_home, container, false)
+ val easyPopupWindow = EasyPopupWindow(requireContext())
+ easyPopupWindow.setPopupMenuItem(LocaleConstant.POPUP_IMAGES, LocaleConstant.POPUP_TITLES)
+ homeView.rightOptionView.setOnClickListener {
+ easyPopupWindow.setOnPopupWindowClickListener(object :
+ EasyPopupWindow.OnPopupWindowClickListener {
+ override fun onPopupItemClicked(position: Int) {
+ when (position) {
+ 0 -> aMap.mapType = AMap.MAP_TYPE_NORMAL
+ 1 -> aMap.mapType = AMap.MAP_TYPE_SATELLITE
+ }
+ }
+ })
+ easyPopupWindow.setBackgroundDrawable(null)
+ val x: Int = homeView.rightOptionView.width - easyPopupWindow.width
+ easyPopupWindow.showAsDropDown(homeView.rightOptionView, x, 0)
+ }
+
+ //地图初始化
+ initMap(savedInstanceState)
+
+ return homeView
}
- override fun initData() {
+ private fun initMap(savedInstanceState: Bundle?) {
+ homeView.mapView.onCreate(savedInstanceState)
+ aMap = homeView.mapView.map
+ aMap.mapType = AMap.MAP_TYPE_NORMAL
+ val uiSettings = aMap.uiSettings
+ uiSettings.isCompassEnabled = true
+ uiSettings.zoomPosition = AMapOptions.ZOOM_POSITION_RIGHT_CENTER
+ uiSettings.isTiltGesturesEnabled = false//不许地图随手势倾斜角度
+ uiSettings.isRotateGesturesEnabled = false//不允许地图旋转
+ // 地图加载成功监听
+// aMap.addOnMapLoadedListener(this)
+ // 地图缩放监听
+// aMap.addOnCameraChangeListener(this)
+ // marker 点击事件监听
+// aMap.addOnMarkerClickListener(this)
+ // 点击marker弹出自定义popup
+// aMap.setInfoWindowAdapter(this)
}
- override fun initEvent() {
+ /***以下是地图生命周期管理************************************************************************/
+ override fun onResume() {
+ super.onResume()
+ homeView.mapView.onResume()
+ }
+ override fun onPause() {
+ super.onPause()
+ homeView.mapView.onPause()
+ }
+
+ override fun onSaveInstanceState(outState: Bundle) {
+ super.onSaveInstanceState(outState)
+ homeView.mapView.onSaveInstanceState(outState)
+ }
+
+ override fun onDestroy() {
+ super.onDestroy()
+ homeView.mapView.onDestroy()
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt b/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt
index c580688..af85fc7 100644
--- a/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt
+++ b/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt
@@ -1,6 +1,7 @@
package com.casic.smarttube.utils
import android.Manifest
+import com.casic.smarttube.R
object LocaleConstant {
@@ -15,6 +16,8 @@
Manifest.permission.CAMERA, Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.READ_PHONE_STATE
)
+ val POPUP_IMAGES = intArrayOf(R.drawable.ic_menu_map, R.drawable.ic_satellite)
+ val POPUP_TITLES = arrayOf("标准地图", "卫星地图")
/**
* =============================================================================================
diff --git a/app/src/main/res/drawable/ic_change_map.xml b/app/src/main/res/drawable/ic_change_map.xml
new file mode 100644
index 0000000..c567efa
--- /dev/null
+++ b/app/src/main/res/drawable/ic_change_map.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/src/main/res/drawable/ic_menu_map.xml b/app/src/main/res/drawable/ic_menu_map.xml
new file mode 100644
index 0000000..85ab880
--- /dev/null
+++ b/app/src/main/res/drawable/ic_menu_map.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
diff --git a/app/src/main/res/drawable/ic_satellite.xml b/app/src/main/res/drawable/ic_satellite.xml
new file mode 100644
index 0000000..9116ac8
--- /dev/null
+++ b/app/src/main/res/drawable/ic_satellite.xml
@@ -0,0 +1,12 @@
+
+
+
+
diff --git a/app/libs/lite-release.aar b/app/libs/lite-release.aar
index c3b7c14..2ead31e 100644
--- a/app/libs/lite-release.aar
+++ b/app/libs/lite-release.aar
Binary files differ
diff --git a/app/src/main/java/com/casic/smarttube/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/smarttube/fragment/HomePageFragment.kt
index 29a99bc..1c43abb 100644
--- a/app/src/main/java/com/casic/smarttube/fragment/HomePageFragment.kt
+++ b/app/src/main/java/com/casic/smarttube/fragment/HomePageFragment.kt
@@ -1,21 +1,90 @@
package com.casic.smarttube.fragment
+import android.os.Bundle
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import androidx.fragment.app.Fragment
+import com.amap.api.maps.AMap
+import com.amap.api.maps.AMapOptions
import com.casic.smarttube.R
-import com.pengxh.kt.lite.base.KotlinBaseFragment
+import com.casic.smarttube.utils.LocaleConstant
+import com.pengxh.kt.lite.widget.EasyPopupWindow
+import kotlinx.android.synthetic.main.fragment_home.view.*
-class HomePageFragment: KotlinBaseFragment() {
+class HomePageFragment : Fragment() {
- override fun initLayoutView(): Int = R.layout.fragment_home
+ private lateinit var homeView: View
+ private lateinit var aMap: AMap
- override fun setupTopBarLayout() {
+ override fun onCreateView(
+ inflater: LayoutInflater,
+ container: ViewGroup?,
+ savedInstanceState: Bundle?
+ ): View? {
+ homeView = inflater.inflate(R.layout.fragment_home, container, false)
+ val easyPopupWindow = EasyPopupWindow(requireContext())
+ easyPopupWindow.setPopupMenuItem(LocaleConstant.POPUP_IMAGES, LocaleConstant.POPUP_TITLES)
+ homeView.rightOptionView.setOnClickListener {
+ easyPopupWindow.setOnPopupWindowClickListener(object :
+ EasyPopupWindow.OnPopupWindowClickListener {
+ override fun onPopupItemClicked(position: Int) {
+ when (position) {
+ 0 -> aMap.mapType = AMap.MAP_TYPE_NORMAL
+ 1 -> aMap.mapType = AMap.MAP_TYPE_SATELLITE
+ }
+ }
+ })
+ easyPopupWindow.setBackgroundDrawable(null)
+ val x: Int = homeView.rightOptionView.width - easyPopupWindow.width
+ easyPopupWindow.showAsDropDown(homeView.rightOptionView, x, 0)
+ }
+
+ //地图初始化
+ initMap(savedInstanceState)
+
+ return homeView
}
- override fun initData() {
+ private fun initMap(savedInstanceState: Bundle?) {
+ homeView.mapView.onCreate(savedInstanceState)
+ aMap = homeView.mapView.map
+ aMap.mapType = AMap.MAP_TYPE_NORMAL
+ val uiSettings = aMap.uiSettings
+ uiSettings.isCompassEnabled = true
+ uiSettings.zoomPosition = AMapOptions.ZOOM_POSITION_RIGHT_CENTER
+ uiSettings.isTiltGesturesEnabled = false//不许地图随手势倾斜角度
+ uiSettings.isRotateGesturesEnabled = false//不允许地图旋转
+ // 地图加载成功监听
+// aMap.addOnMapLoadedListener(this)
+ // 地图缩放监听
+// aMap.addOnCameraChangeListener(this)
+ // marker 点击事件监听
+// aMap.addOnMarkerClickListener(this)
+ // 点击marker弹出自定义popup
+// aMap.setInfoWindowAdapter(this)
}
- override fun initEvent() {
+ /***以下是地图生命周期管理************************************************************************/
+ override fun onResume() {
+ super.onResume()
+ homeView.mapView.onResume()
+ }
+ override fun onPause() {
+ super.onPause()
+ homeView.mapView.onPause()
+ }
+
+ override fun onSaveInstanceState(outState: Bundle) {
+ super.onSaveInstanceState(outState)
+ homeView.mapView.onSaveInstanceState(outState)
+ }
+
+ override fun onDestroy() {
+ super.onDestroy()
+ homeView.mapView.onDestroy()
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt b/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt
index c580688..af85fc7 100644
--- a/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt
+++ b/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt
@@ -1,6 +1,7 @@
package com.casic.smarttube.utils
import android.Manifest
+import com.casic.smarttube.R
object LocaleConstant {
@@ -15,6 +16,8 @@
Manifest.permission.CAMERA, Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.READ_PHONE_STATE
)
+ val POPUP_IMAGES = intArrayOf(R.drawable.ic_menu_map, R.drawable.ic_satellite)
+ val POPUP_TITLES = arrayOf("标准地图", "卫星地图")
/**
* =============================================================================================
diff --git a/app/src/main/res/drawable/ic_change_map.xml b/app/src/main/res/drawable/ic_change_map.xml
new file mode 100644
index 0000000..c567efa
--- /dev/null
+++ b/app/src/main/res/drawable/ic_change_map.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/src/main/res/drawable/ic_menu_map.xml b/app/src/main/res/drawable/ic_menu_map.xml
new file mode 100644
index 0000000..85ab880
--- /dev/null
+++ b/app/src/main/res/drawable/ic_menu_map.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
diff --git a/app/src/main/res/drawable/ic_satellite.xml b/app/src/main/res/drawable/ic_satellite.xml
new file mode 100644
index 0000000..9116ac8
--- /dev/null
+++ b/app/src/main/res/drawable/ic_satellite.xml
@@ -0,0 +1,12 @@
+
+
+
+
diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml
index 6fdb04b..568a739 100644
--- a/app/src/main/res/layout/fragment_home.xml
+++ b/app/src/main/res/layout/fragment_home.xml
@@ -5,15 +5,29 @@
android:background="@color/mainBackColor"
android:orientation="vertical">
-
+ android:background="@color/mainThemeColor">
+
+
+
+
+