From 261be09fb9ab76ca75747f13bddf06c297a7f60d Mon Sep 17 00:00:00 2001 From: squallzhjch Date: Fri, 13 Jan 2023 14:47:09 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/navinfo/volvo/ui/MainActivity.kt | 13 +++- .../volvo/ui/fragments/login/LoginFragment.kt | 4 +- .../ui/fragments/setting/SettingFragment.kt | 38 ++++++++++++ .../ui/fragments/setting/SettingModel.kt | 8 +++ .../res/drawable/ic_baseline_settings_24.xml | 5 ++ app/src/main/res/drawable/shape_radius.xml | 6 ++ .../res/drawable/shape_radius_bg_white.xml | 23 +++++++ app/src/main/res/layout/fragment_home.xml | 62 +++++++++++++++++++ app/src/main/res/layout/fragment_setting.xml | 25 ++++++++ app/src/main/res/menu/bottom_nav_menu.xml | 12 ++-- .../main/res/navigation/mobile_navigation.xml | 15 ++++- app/src/main/res/values-zh-rCN/strings.xml | 1 + app/src/main/res/values/strings.xml | 1 + gradle.properties | 10 +-- 14 files changed, 204 insertions(+), 19 deletions(-) create mode 100644 app/src/main/java/com/navinfo/volvo/ui/fragments/setting/SettingFragment.kt create mode 100644 app/src/main/java/com/navinfo/volvo/ui/fragments/setting/SettingModel.kt create mode 100644 app/src/main/res/drawable/ic_baseline_settings_24.xml create mode 100644 app/src/main/res/drawable/shape_radius.xml create mode 100644 app/src/main/res/drawable/shape_radius_bg_white.xml create mode 100644 app/src/main/res/layout/fragment_setting.xml diff --git a/app/src/main/java/com/navinfo/volvo/ui/MainActivity.kt b/app/src/main/java/com/navinfo/volvo/ui/MainActivity.kt index e687a08..63ed490 100644 --- a/app/src/main/java/com/navinfo/volvo/ui/MainActivity.kt +++ b/app/src/main/java/com/navinfo/volvo/ui/MainActivity.kt @@ -96,6 +96,7 @@ class MainActivity : BaseActivity() { val appBarConfiguration = AppBarConfiguration( setOf( R.id.navigation_home, R.id.navigation_dashboard, R.id.navigation_notifications, + R.id.navigation_setting, ) ) setupActionBarWithNavController(navController, appBarConfiguration) @@ -115,10 +116,18 @@ class MainActivity : BaseActivity() { } navController.addOnDestinationChangedListener { _, destination, _ -> + if (supportActionBar != null) { + if (destination.id == R.id.navigation_login) { + supportActionBar!!.hide() + } else if (!supportActionBar!!.isShowing) { + supportActionBar!!.show() + } + } + if (destination.id == R.id.navigation_home || destination.id == R.id.navigation_dashboard || destination.id == R.id.navigation_notifications) { runOnUiThread { val transition: Transition = Slide(Gravity.BOTTOM) - transition.duration = 300; + transition.duration = 500; TransitionManager.beginDelayedTransition(binding.root, transition); navView.visibility = View.VISIBLE newMessageView.visibility = View.VISIBLE @@ -126,7 +135,7 @@ class MainActivity : BaseActivity() { } else { runOnUiThread { val transition: Transition = Slide(Gravity.BOTTOM) - transition.duration = 300; + transition.duration = 500; TransitionManager.beginDelayedTransition(binding.root, transition); navView.visibility = View.GONE newMessageView.visibility = View.GONE diff --git a/app/src/main/java/com/navinfo/volvo/ui/fragments/login/LoginFragment.kt b/app/src/main/java/com/navinfo/volvo/ui/fragments/login/LoginFragment.kt index 56db5c9..d248c92 100644 --- a/app/src/main/java/com/navinfo/volvo/ui/fragments/login/LoginFragment.kt +++ b/app/src/main/java/com/navinfo/volvo/ui/fragments/login/LoginFragment.kt @@ -23,10 +23,7 @@ import kotlinx.coroutines.launch @AndroidEntryPoint class LoginFragment : BaseFragment() { - // private var loginViewModel:LoginViewModel by viewModel(get()) private lateinit var viewBinding: FragmentLoginBinding - - private val viewModel by viewModels() override fun onCreateView( @@ -34,6 +31,7 @@ class LoginFragment : BaseFragment() { container: ViewGroup?, savedInstanceState: Bundle? ): View { + viewBinding = DataBindingUtil.inflate(inflater, R.layout.fragment_login, container, false) viewBinding.lifecycleOwner = this initView() diff --git a/app/src/main/java/com/navinfo/volvo/ui/fragments/setting/SettingFragment.kt b/app/src/main/java/com/navinfo/volvo/ui/fragments/setting/SettingFragment.kt new file mode 100644 index 0000000..441b003 --- /dev/null +++ b/app/src/main/java/com/navinfo/volvo/ui/fragments/setting/SettingFragment.kt @@ -0,0 +1,38 @@ +package com.navinfo.volvo.ui.fragments.setting + +import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.databinding.DataBindingUtil +import androidx.fragment.app.viewModels +import androidx.navigation.fragment.findNavController +import com.navinfo.volvo.R +import com.navinfo.volvo.databinding.FragmentSettingBinding +import com.navinfo.volvo.ui.fragments.BaseFragment +import dagger.hilt.android.AndroidEntryPoint + +@AndroidEntryPoint +class SettingFragment : BaseFragment() { + + private lateinit var viewBinding: FragmentSettingBinding + private val viewModel by viewModels() + + override fun onCreateView( + inflater: LayoutInflater, + container: ViewGroup?, + savedInstanceState: Bundle? + ): View { + viewBinding = DataBindingUtil.inflate(inflater, R.layout.fragment_setting, container, false) + viewBinding.lifecycleOwner = this + initView() + return viewBinding.root + } + + private fun initView() { + //退出登录 + viewBinding.loginFragmentLoginButton.setOnClickListener { + findNavController().navigate(R.id.action_setting_to_login) + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/navinfo/volvo/ui/fragments/setting/SettingModel.kt b/app/src/main/java/com/navinfo/volvo/ui/fragments/setting/SettingModel.kt new file mode 100644 index 0000000..86443c3 --- /dev/null +++ b/app/src/main/java/com/navinfo/volvo/ui/fragments/setting/SettingModel.kt @@ -0,0 +1,8 @@ +package com.navinfo.volvo.ui.fragments.setting + +import androidx.lifecycle.ViewModel +import javax.inject.Inject + +class SettingModel @Inject constructor() : ViewModel() { + +} diff --git a/app/src/main/res/drawable/ic_baseline_settings_24.xml b/app/src/main/res/drawable/ic_baseline_settings_24.xml new file mode 100644 index 0000000..298a5a1 --- /dev/null +++ b/app/src/main/res/drawable/ic_baseline_settings_24.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/shape_radius.xml b/app/src/main/res/drawable/shape_radius.xml new file mode 100644 index 0000000..e702f8a --- /dev/null +++ b/app/src/main/res/drawable/shape_radius.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/shape_radius_bg_white.xml b/app/src/main/res/drawable/shape_radius_bg_white.xml new file mode 100644 index 0000000..d2244f1 --- /dev/null +++ b/app/src/main/res/drawable/shape_radius_bg_white.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml index 733bb88..c2c11b0 100644 --- a/app/src/main/res/layout/fragment_home.xml +++ b/app/src/main/res/layout/fragment_home.xml @@ -29,6 +29,68 @@ android:hint="请输入查询内容" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/menu/bottom_nav_menu.xml b/app/src/main/res/menu/bottom_nav_menu.xml index 3217db0..a7db9bf 100644 --- a/app/src/main/res/menu/bottom_nav_menu.xml +++ b/app/src/main/res/menu/bottom_nav_menu.xml @@ -3,7 +3,7 @@ - - - - + android:id="@+id/navigation_setting" + android:icon="@drawable/ic_baseline_settings_24" + android:title="@string/my" /> \ No newline at end of file diff --git a/app/src/main/res/navigation/mobile_navigation.xml b/app/src/main/res/navigation/mobile_navigation.xml index c7c719a..c82b7e0 100644 --- a/app/src/main/res/navigation/mobile_navigation.xml +++ b/app/src/main/res/navigation/mobile_navigation.xml @@ -47,6 +47,19 @@ android:id="@+id/navigation_obtain_message" android:name="com.navinfo.volvo.ui.fragments.message.ObtainMessageFragment" android:label="问候编辑" - tools:layout="@layout/fragment_obtain_message"> + tools:layout="@layout/fragment_setting"> + + + + + \ No newline at end of file diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index cbbbf5f..e03d532 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -6,6 +6,7 @@ 删除 分享 我的 + 设置 SecondActivity First Fragment diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 02a0bec..55fc2bb 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -7,6 +7,7 @@ Share Preview My + setting SecondActivity First Fragment diff --git a/gradle.properties b/gradle.properties index a9dca93..a7033f3 100644 --- a/gradle.properties +++ b/gradle.properties @@ -22,8 +22,8 @@ kotlin.code.style=official # thereby reducing the size of the R class for that library android.nonTransitiveRClass=true android.enableJetifier=true -systemProp.http.proxyHost=127.0.0.1 -systemProp.http.proxyPort=10080 -systemProp.https.proxyHost=127.0.0.1 -systemProp.https.proxyPort=10080 -org.gradle.configureondemand=true \ No newline at end of file + systemProp.http.proxyHost=127.0.0.1 + systemProp.http.proxyPort=10080 + systemProp.https.proxyHost=127.0.0.1 + systemProp.https.proxyPort=10080 + org.gradle.configureondemand=true \ No newline at end of file