增加中控页面

This commit is contained in:
squallzhjch 2023-06-09 16:58:08 +08:00
parent 5665638120
commit 4ddabe7a94
4 changed files with 128 additions and 26 deletions

View File

@ -1,21 +1,24 @@
package com.navinfo.omqs.ui.activity.console package com.navinfo.omqs.ui.activity.console
import android.content.Intent
import android.os.Bundle import android.os.Bundle
import android.util.Log import android.util.Log
import android.view.View import android.view.View
import android.view.View.OnClickListener import android.view.View.OnClickListener
import androidx.core.view.WindowCompat
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import androidx.navigation.findNavController
import androidx.transition.AutoTransition import androidx.transition.AutoTransition
import androidx.transition.Scene import androidx.transition.Scene
import androidx.transition.TransitionManager import androidx.transition.TransitionManager
import com.navinfo.omqs.R import com.navinfo.omqs.R
import com.navinfo.omqs.databinding.ActivityConsoleBinding import com.navinfo.omqs.databinding.ActivityConsoleBinding
import com.navinfo.omqs.ui.activity.BaseActivity import com.navinfo.omqs.ui.activity.BaseActivity
import com.navinfo.omqs.ui.activity.map.MainActivity
import com.navinfo.omqs.ui.fragment.layermanager.LayermanagerFragment
import com.navinfo.omqs.ui.fragment.offlinemap.OfflineMapFragment import com.navinfo.omqs.ui.fragment.offlinemap.OfflineMapFragment
import com.navinfo.omqs.ui.fragment.personalcenter.PersonalCenterFragment
import dagger.hilt.android.AndroidEntryPoint
@AndroidEntryPoint
class ConsoleActivity : BaseActivity(), OnClickListener { class ConsoleActivity : BaseActivity(), OnClickListener {
private var _binding: ActivityConsoleBinding? = null private var _binding: ActivityConsoleBinding? = null
@ -24,6 +27,7 @@ class ConsoleActivity : BaseActivity(), OnClickListener {
private val aTransition = AutoTransition() private val aTransition = AutoTransition()
private val bTransition = AutoTransition() private val bTransition = AutoTransition()
private var mFragment: Fragment? = null private var mFragment: Fragment? = null
private val fragmentId = R.id.console_fragment
// 创建a场景 // 创建a场景
private val aScene by lazy { private val aScene by lazy {
@ -46,7 +50,6 @@ class ConsoleActivity : BaseActivity(), OnClickListener {
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
WindowCompat.setDecorFitsSystemWindows(window, false)
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
_binding = ActivityConsoleBinding.inflate(layoutInflater) _binding = ActivityConsoleBinding.inflate(layoutInflater)
setContentView(_binding!!.root) setContentView(_binding!!.root)
@ -54,10 +57,15 @@ class ConsoleActivity : BaseActivity(), OnClickListener {
aTransition.addListener(object : androidx.transition.Transition.TransitionListener { aTransition.addListener(object : androidx.transition.Transition.TransitionListener {
override fun onTransitionStart(transition: androidx.transition.Transition) { override fun onTransitionStart(transition: androidx.transition.Transition) {
Log.e("jingo", "动画开始") if (mFragment != null) {
Log.e("jingo", "动画开始B mFragment 不为null")
supportFragmentManager.beginTransaction().remove(mFragment!!).commit()
mFragment = null
}
} }
override fun onTransitionEnd(transition: androidx.transition.Transition) { override fun onTransitionEnd(transition: androidx.transition.Transition) {
Log.e("jingo", "动画A结束")
initOnClickListener() initOnClickListener()
} }
@ -73,6 +81,11 @@ class ConsoleActivity : BaseActivity(), OnClickListener {
}) })
bTransition.addListener(object : androidx.transition.Transition.TransitionListener { bTransition.addListener(object : androidx.transition.Transition.TransitionListener {
override fun onTransitionStart(transition: androidx.transition.Transition) { override fun onTransitionStart(transition: androidx.transition.Transition) {
if (mFragment != null) {
Log.e("jingo", "动画开始A mFragment 不为null")
supportFragmentManager.beginTransaction().replace(fragmentId, mFragment!!)
.commit()
}
} }
override fun onTransitionEnd(transition: androidx.transition.Transition) { override fun onTransitionEnd(transition: androidx.transition.Transition) {
@ -96,14 +109,41 @@ class ConsoleActivity : BaseActivity(), OnClickListener {
* 设置点击事件 * 设置点击事件
*/ */
private fun initOnClickListener() { private fun initOnClickListener() {
// 添加点击事件,切换不同的场景 /**
* 地图按钮
*/
binding.consoleRoot.findViewById<View>(R.id.console_map_icon_bg)?.setOnClickListener( binding.consoleRoot.findViewById<View>(R.id.console_map_icon_bg)?.setOnClickListener(
this this
) )
// 添加点击事件,切换不同的场景
binding.consoleRoot.findViewById<View>(R.id.console_on_map_icon_bg)
?.setOnClickListener(this)
binding.consoleRoot.findViewById<View>(R.id.console_map_bg)?.setOnClickListener(this) binding.consoleRoot.findViewById<View>(R.id.console_map_bg)?.setOnClickListener(this)
/**
* 离线地图按钮
*/
binding.consoleRoot.findViewById<View>(R.id.console_offline_map_icon_bg)
?.setOnClickListener(this)
binding.consoleRoot.findViewById<View>(R.id.console_offline_map_bg)
?.setOnClickListener(this)
/**
* 图层设置按钮
*/
binding.consoleRoot.findViewById<View>(R.id.console_layer_setting_icon_bg)
?.setOnClickListener(this)
binding.consoleRoot.findViewById<View>(R.id.console_layer_setting_bg)
?.setOnClickListener(this)
/**
* 个人中心
*/
binding.consoleRoot.findViewById<View>(R.id.console_personal_center_icon_bg)
?.setOnClickListener(this)
binding.consoleRoot.findViewById<View>(R.id.console_personal_center_bg)
?.setOnClickListener(this)
/**
* 测评结果列表
*/
binding.consoleRoot.findViewById<View>(R.id.console_evaluation_icon_bg)
?.setOnClickListener(this)
binding.consoleRoot.findViewById<View>(R.id.console_evaluation_bg)
?.setOnClickListener(this)
} }
override fun onDestroy() { override fun onDestroy() {
@ -114,22 +154,83 @@ class ConsoleActivity : BaseActivity(), OnClickListener {
override fun onClick(v: View?) { override fun onClick(v: View?) {
v?.let { v?.let {
when (it.id) { when (it.id) {
/**
* 地图点击事件
*/
R.id.console_map_bg, R.id.console_map_icon_bg -> { R.id.console_map_bg, R.id.console_map_icon_bg -> {
sceneFlag = if (sceneFlag) { val intent = Intent(this, MainActivity::class.java)
TransitionManager.go(bScene, bTransition) startActivity(intent)
false
} else {
TransitionManager.go(aScene, aTransition)
true
}
} }
R.id.console_offline_map_bg -> { /**
* 离线地图点击
*/
R.id.console_offline_map_icon_bg, R.id.console_offline_map_bg -> {
if (sceneFlag) { if (sceneFlag) {
mFragment = OfflineMapFragment() mFragment = OfflineMapFragment()
sceneFlag = false sceneFlag = false
TransitionManager.go(bScene, bTransition) TransitionManager.go(bScene, bTransition)
} else {
if (mFragment !is OfflineMapFragment) {
mFragment = OfflineMapFragment()
supportFragmentManager.beginTransaction()
.replace(fragmentId, mFragment!!).commit()
}
return
} }
} }
/**
* 个人中心点击
*/
R.id.console_personal_center_bg, R.id.console_personal_center_icon_bg -> {
if (sceneFlag) {
mFragment = PersonalCenterFragment()
sceneFlag = false
TransitionManager.go(bScene, bTransition)
} else {
if (mFragment !is PersonalCenterFragment) {
mFragment = PersonalCenterFragment()
supportFragmentManager.beginTransaction()
.replace(fragmentId, mFragment!!).commit()
}
return
}
}
/**
* 图层设置
*/
R.id.console_layer_setting_bg, R.id.console_layer_setting_icon_bg -> {
if (sceneFlag) {
mFragment = LayermanagerFragment()
sceneFlag = false
TransitionManager.go(bScene, bTransition)
} else {
if (mFragment !is LayermanagerFragment) {
mFragment = LayermanagerFragment()
supportFragmentManager.beginTransaction()
.replace(fragmentId, mFragment!!).commit()
}
return
}
}
/**
* 测评结果列表
*/
R.id.console_evaluation_icon_bg,
R.id.console_evaluation_bg -> {
// if (sceneFlag) {
// mFragment = LayermanagerFragment()
// sceneFlag = false
// TransitionManager.go(bScene, bTransition)
// } else {
// if (mFragment !is LayermanagerFragment) {
// mFragment = LayermanagerFragment()
// supportFragmentManager.beginTransaction()
// .replace(fragmentId, mFragment!!).commit()
// }
// return
// }
}
else -> {}
} }
} }
} }

View File

@ -14,6 +14,7 @@ import com.navinfo.omqs.R
import com.navinfo.omqs.databinding.ActivityLoginBinding import com.navinfo.omqs.databinding.ActivityLoginBinding
import com.navinfo.omqs.ui.activity.CheckPermissionsActivity import com.navinfo.omqs.ui.activity.CheckPermissionsActivity
import com.navinfo.omqs.ui.activity.PermissionsActivity import com.navinfo.omqs.ui.activity.PermissionsActivity
import com.navinfo.omqs.ui.activity.console.ConsoleActivity
import com.navinfo.omqs.ui.activity.map.MainActivity import com.navinfo.omqs.ui.activity.map.MainActivity
import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.android.AndroidEntryPoint
@ -89,7 +90,7 @@ class LoginActivity : CheckPermissionsActivity() {
LoginStatus.LOGIN_STATUS_SUCCESS -> { LoginStatus.LOGIN_STATUS_SUCCESS -> {
loginDialog?.dismiss() loginDialog?.dismiss()
loginDialog = null loginDialog = null
val intent = Intent(this@LoginActivity, MainActivity::class.java) val intent = Intent(this@LoginActivity, ConsoleActivity::class.java)
startActivity(intent) startActivity(intent)
finish() finish()
} }

View File

@ -33,7 +33,6 @@
android:id="@+id/console_fragment" android:id="@+id/console_fragment"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="0dp" android:layout_height="0dp"
android:layout_marginRight="10dp"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toLeftOf="@id/console_left_guideline" app:layout_constraintRight_toLeftOf="@id/console_left_guideline"
@ -42,6 +41,7 @@
<ImageView <ImageView
android:id="@+id/console_layer_setting_icon_bg" android:id="@+id/console_layer_setting_icon_bg"
style="@style/console_off_right_bottom_icon" style="@style/console_off_right_bottom_icon"
app:layout_constraintVertical_chainStyle="spread_inside"
app:layout_constraintBottom_toTopOf="@id/console_offline_map_icon_bg" app:layout_constraintBottom_toTopOf="@id/console_offline_map_icon_bg"
app:layout_constraintLeft_toLeftOf="@id/console_left_guideline" app:layout_constraintLeft_toLeftOf="@id/console_left_guideline"
app:layout_constraintRight_toLeftOf="@id/console_camera_icon_bg" app:layout_constraintRight_toLeftOf="@id/console_camera_icon_bg"
@ -211,11 +211,10 @@
app:layout_constraintRight_toRightOf="@id/console_location_icon_bg" app:layout_constraintRight_toRightOf="@id/console_location_icon_bg"
app:layout_constraintTop_toTopOf="@id/console_location_icon_bg" /> app:layout_constraintTop_toTopOf="@id/console_location_icon_bg" />
<ImageView <ImageView
android:id="@+id/console_task_icon_bg" android:id="@+id/console_task_icon_bg"
style="@style/console_off_right_bottom_icon" style="@style/console_off_right_bottom_icon"
android:layout_marginBottom="40dp" android:layout_marginBottom="60dp"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="@id/console_layer_setting_icon_bg" app:layout_constraintLeft_toLeftOf="@id/console_layer_setting_icon_bg"
app:layout_constraintRight_toRightOf="@id/console_layer_setting_icon_bg" app:layout_constraintRight_toRightOf="@id/console_layer_setting_icon_bg"

View File

@ -466,8 +466,10 @@
android:id="@+id/console_on_track_icon_bg" android:id="@+id/console_on_track_icon_bg"
style="@style/console_off_right_bottom_icon" style="@style/console_off_right_bottom_icon"
app:layout_constraintBottom_toBottomOf="@id/console_track_bg" app:layout_constraintBottom_toBottomOf="@id/console_track_bg"
app:layout_constraintLeft_toLeftOf="@id/console_on_camera_icon_bg" app:layout_constraintLeft_toLeftOf="@id/console_track_bg"
app:layout_constraintTop_toTopOf="@id/console_track_bg" /> app:layout_constraintRight_toLeftOf="@id/console_track_text"
app:layout_constraintTop_toTopOf="@id/console_track_bg"
app:layout_constraintVertical_chainStyle="spread" />
<ImageView <ImageView
android:id="@+id/console_track_icon" android:id="@+id/console_track_icon"
@ -480,10 +482,9 @@
app:layout_constraintTop_toTopOf="@id/console_on_track_icon_bg" /> app:layout_constraintTop_toTopOf="@id/console_on_track_icon_bg" />
<TextView <TextView
android:layout_width="0dp" android:id="@+id/console_track_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:gravity="center"
android:text="轨迹回放" android:text="轨迹回放"
android:textColor="@color/white" android:textColor="@color/white"
android:textSize="26sp" android:textSize="26sp"