增加中控页面

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
import android.content.Intent
import android.os.Bundle
import android.util.Log
import android.view.View
import android.view.View.OnClickListener
import androidx.core.view.WindowCompat
import androidx.fragment.app.Fragment
import androidx.navigation.findNavController
import androidx.transition.AutoTransition
import androidx.transition.Scene
import androidx.transition.TransitionManager
import com.navinfo.omqs.R
import com.navinfo.omqs.databinding.ActivityConsoleBinding
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.personalcenter.PersonalCenterFragment
import dagger.hilt.android.AndroidEntryPoint
@AndroidEntryPoint
class ConsoleActivity : BaseActivity(), OnClickListener {
private var _binding: ActivityConsoleBinding? = null
@ -24,6 +27,7 @@ class ConsoleActivity : BaseActivity(), OnClickListener {
private val aTransition = AutoTransition()
private val bTransition = AutoTransition()
private var mFragment: Fragment? = null
private val fragmentId = R.id.console_fragment
// 创建a场景
private val aScene by lazy {
@ -46,7 +50,6 @@ class ConsoleActivity : BaseActivity(), OnClickListener {
override fun onCreate(savedInstanceState: Bundle?) {
WindowCompat.setDecorFitsSystemWindows(window, false)
super.onCreate(savedInstanceState)
_binding = ActivityConsoleBinding.inflate(layoutInflater)
setContentView(_binding!!.root)
@ -54,10 +57,15 @@ class ConsoleActivity : BaseActivity(), OnClickListener {
aTransition.addListener(object : androidx.transition.Transition.TransitionListener {
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) {
Log.e("jingo", "动画A结束")
initOnClickListener()
}
@ -73,6 +81,11 @@ class ConsoleActivity : BaseActivity(), OnClickListener {
})
bTransition.addListener(object : androidx.transition.Transition.TransitionListener {
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) {
@ -96,14 +109,41 @@ class ConsoleActivity : BaseActivity(), OnClickListener {
* 设置点击事件
*/
private fun initOnClickListener() {
// 添加点击事件,切换不同的场景
/**
* 地图按钮
*/
binding.consoleRoot.findViewById<View>(R.id.console_map_icon_bg)?.setOnClickListener(
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_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() {
@ -114,22 +154,83 @@ class ConsoleActivity : BaseActivity(), OnClickListener {
override fun onClick(v: View?) {
v?.let {
when (it.id) {
/**
* 地图点击事件
*/
R.id.console_map_bg, R.id.console_map_icon_bg -> {
sceneFlag = if (sceneFlag) {
TransitionManager.go(bScene, bTransition)
false
} else {
TransitionManager.go(aScene, aTransition)
true
}
val intent = Intent(this, MainActivity::class.java)
startActivity(intent)
}
R.id.console_offline_map_bg -> {
/**
* 离线地图点击
*/
R.id.console_offline_map_icon_bg, R.id.console_offline_map_bg -> {
if (sceneFlag) {
mFragment = OfflineMapFragment()
sceneFlag = false
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.ui.activity.CheckPermissionsActivity
import com.navinfo.omqs.ui.activity.PermissionsActivity
import com.navinfo.omqs.ui.activity.console.ConsoleActivity
import com.navinfo.omqs.ui.activity.map.MainActivity
import dagger.hilt.android.AndroidEntryPoint
@ -89,7 +90,7 @@ class LoginActivity : CheckPermissionsActivity() {
LoginStatus.LOGIN_STATUS_SUCCESS -> {
loginDialog?.dismiss()
loginDialog = null
val intent = Intent(this@LoginActivity, MainActivity::class.java)
val intent = Intent(this@LoginActivity, ConsoleActivity::class.java)
startActivity(intent)
finish()
}

View File

@ -33,7 +33,6 @@
android:id="@+id/console_fragment"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginRight="10dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toLeftOf="@id/console_left_guideline"
@ -42,6 +41,7 @@
<ImageView
android:id="@+id/console_layer_setting_icon_bg"
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_constraintLeft_toLeftOf="@id/console_left_guideline"
app:layout_constraintRight_toLeftOf="@id/console_camera_icon_bg"
@ -211,11 +211,10 @@
app:layout_constraintRight_toRightOf="@id/console_location_icon_bg"
app:layout_constraintTop_toTopOf="@id/console_location_icon_bg" />
<ImageView
android:id="@+id/console_task_icon_bg"
style="@style/console_off_right_bottom_icon"
android:layout_marginBottom="40dp"
android:layout_marginBottom="60dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="@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"
style="@style/console_off_right_bottom_icon"
app:layout_constraintBottom_toBottomOf="@id/console_track_bg"
app:layout_constraintLeft_toLeftOf="@id/console_on_camera_icon_bg"
app:layout_constraintTop_toTopOf="@id/console_track_bg" />
app:layout_constraintLeft_toLeftOf="@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
android:id="@+id/console_track_icon"
@ -480,10 +482,9 @@
app:layout_constraintTop_toTopOf="@id/console_on_track_icon_bg" />
<TextView
android:layout_width="0dp"
android:id="@+id/console_track_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:gravity="center"
android:text="轨迹回放"
android:textColor="@color/white"
android:textSize="26sp"