diff --git a/app/src/main/java/com/navinfo/omqs/ui/activity/console/ConsoleActivity.kt b/app/src/main/java/com/navinfo/omqs/ui/activity/console/ConsoleActivity.kt index efa45cf5..3e2b2fa8 100644 --- a/app/src/main/java/com/navinfo/omqs/ui/activity/console/ConsoleActivity.kt +++ b/app/src/main/java/com/navinfo/omqs/ui/activity/console/ConsoleActivity.kt @@ -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(R.id.console_map_icon_bg)?.setOnClickListener( this ) - // 添加点击事件,切换不同的场景 - binding.consoleRoot.findViewById(R.id.console_on_map_icon_bg) - ?.setOnClickListener(this) binding.consoleRoot.findViewById(R.id.console_map_bg)?.setOnClickListener(this) + /** + * 离线地图按钮 + */ + binding.consoleRoot.findViewById(R.id.console_offline_map_icon_bg) + ?.setOnClickListener(this) + binding.consoleRoot.findViewById(R.id.console_offline_map_bg) + ?.setOnClickListener(this) + /** + * 图层设置按钮 + */ + binding.consoleRoot.findViewById(R.id.console_layer_setting_icon_bg) + ?.setOnClickListener(this) + binding.consoleRoot.findViewById(R.id.console_layer_setting_bg) + ?.setOnClickListener(this) + /** + * 个人中心 + */ + binding.consoleRoot.findViewById(R.id.console_personal_center_icon_bg) + ?.setOnClickListener(this) + binding.consoleRoot.findViewById(R.id.console_personal_center_bg) + ?.setOnClickListener(this) + /** + * 测评结果列表 + */ + binding.consoleRoot.findViewById(R.id.console_evaluation_icon_bg) + ?.setOnClickListener(this) + binding.consoleRoot.findViewById(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 -> {} } } } diff --git a/app/src/main/java/com/navinfo/omqs/ui/activity/login/LoginActivity.kt b/app/src/main/java/com/navinfo/omqs/ui/activity/login/LoginActivity.kt index 2b354fb7..d7ed2643 100644 --- a/app/src/main/java/com/navinfo/omqs/ui/activity/login/LoginActivity.kt +++ b/app/src/main/java/com/navinfo/omqs/ui/activity/login/LoginActivity.kt @@ -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() } diff --git a/app/src/main/res/layout/console_off.xml b/app/src/main/res/layout/console_off.xml index 51fb83f3..df7ca452 100644 --- a/app/src/main/res/layout/console_off.xml +++ b/app/src/main/res/layout/console_off.xml @@ -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 @@ - + 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" />