Bläddra i källkod

1. 登录页面适配完成
2. 首页适配完成

wzbs 5 månader sedan
förälder
incheckning
1dc33bdbb6
28 ändrade filer med 656 tillägg och 156 borttagningar
  1. 17 17
      app/src/main/AndroidManifest.xml
  2. 11 0
      app/src/main/java/com/grkj/iscs_mars/util/AppUtils.kt
  3. 6 1
      app/src/main/java/com/grkj/iscs_mars/view/activity/HomeActivity.kt
  4. 1 1
      app/src/main/java/com/grkj/iscs_mars/view/adapter/TwoFragmentAdapter.kt
  5. 7 1
      app/src/main/java/com/grkj/iscs_mars/view/dialog/LoginDialog.kt
  6. 7 13
      app/src/main/java/com/grkj/iscs_mars/view/fragment/LoginFragment.kt
  7. 10 15
      app/src/main/java/com/grkj/iscs_mars/view/fragment/SwitchStatusFragment.kt
  8. 95 0
      app/src/main/res/layout-land/activity_home.xml
  9. 38 0
      app/src/main/res/layout-land/common_dialog_loading_progress.xml
  10. 82 0
      app/src/main/res/layout-land/dialog_login.xml
  11. 50 0
      app/src/main/res/layout-land/fragment_login.xml
  12. 99 0
      app/src/main/res/layout-land/fragment_switch_status.xml
  13. 38 0
      app/src/main/res/layout-land/item_rv_login.xml
  14. 19 0
      app/src/main/res/layout-land/item_rv_menu.xml
  15. 64 52
      app/src/main/res/layout/activity_home.xml
  16. 8 4
      app/src/main/res/layout/common_dialog_loading_progress.xml
  17. 17 10
      app/src/main/res/layout/dialog_login.xml
  18. 33 7
      app/src/main/res/layout/fragment_login.xml
  19. 15 14
      app/src/main/res/layout/fragment_switch_status.xml
  20. 13 12
      app/src/main/res/layout/item_rv_login.xml
  21. 10 5
      app/src/main/res/layout/item_rv_menu.xml
  22. 1 1
      app/src/main/res/values-en/strings.xml
  23. 4 0
      app/src/main/res/values-sw450dp/dimens.xml
  24. 4 0
      app/src/main/res/values-sw600dp/dimens.xml
  25. 1 1
      app/src/main/res/values-zh/strings.xml
  26. 4 1
      app/src/main/res/values/dimens.xml
  27. 1 1
      app/src/main/res/values/strings.xml
  28. 1 0
      app/src/main/res/values/themes.xml

+ 17 - 17
app/src/main/AndroidManifest.xml

@@ -40,25 +40,25 @@
         tools:targetApi="31">
         <activity
             android:name=".view.activity.test.face.arcsoft.ArcsoftTestActivity"
-
-            android:exported="false" />
+            android:exported="false"
+            android:screenOrientation="portrait" />
         <activity
             android:name=".view.activity.test.face.FaceActivity"
-
+            android:screenOrientation="portrait"
             android:exported="false" />
         <activity
             android:name=".view.activity.test.fingerprint.FingerPrintActivity"
-
+            android:screenOrientation="portrait"
             android:exported="false" />
         <activity
             android:name=".view.activity.HomeActivity"
             android:exported="false"
-
+            android:screenOrientation="portrait"
             android:windowSoftInputMode="adjustPan|adjustResize" />
         <activity
             android:name=".view.activity.LoginActivity"
             android:exported="true"
-
+            android:screenOrientation="portrait"
             android:launchMode="singleTask"
             android:windowSoftInputMode="stateHidden|adjustPan">
             <intent-filter>
@@ -69,39 +69,39 @@
         </activity>
         <activity
             android:name=".view.activity.CreateTicketActivity"
-
+            android:screenOrientation="portrait"
             android:exported="false" />
         <activity
             android:name=".presentation.CurrentTicketActivity"
-
+            android:screenOrientation="portrait"
             android:exported="false" />
         <activity
             android:name=".presentation.LockerActivity"
-
+            android:screenOrientation="portrait"
             android:exported="false" />
         <activity
             android:name=".presentation.LockerTogetherActivity"
-
+            android:screenOrientation="portrait"
             android:exported="false" />
         <activity
             android:name=".presentation.PresentationLoginActivity"
-
+            android:screenOrientation="portrait"
             android:exported="false" />
         <activity
             android:name=".presentation.PresentationActivity"
-
+            android:screenOrientation="portrait"
             android:exported="false" />
         <activity
             android:name=".view.activity.test.WidgetTestActivity"
-
+            android:screenOrientation="portrait"
             android:exported="false" />
         <activity
             android:name=".view.activity.test.RfidActivity"
-
+            android:screenOrientation="portrait"
             android:exported="false" />
         <activity
             android:name=".view.activity.test.WebSocketActivity"
-
+            android:screenOrientation="portrait"
             android:exported="false" />
 
         <service
@@ -118,11 +118,11 @@
 
         <activity
             android:name=".view.activity.test.ModbusActivity"
-
+            android:screenOrientation="portrait"
             android:exported="false" />
         <activity
             android:name=".view.activity.MainActivity"
-
+            android:screenOrientation="portrait"
             android:exported="true" />
 
         <receiver

+ 11 - 0
app/src/main/java/com/grkj/iscs_mars/util/AppUtils.kt

@@ -1,7 +1,9 @@
 package com.grkj.iscs_mars.util
 
+import android.app.Activity
 import android.content.Context
 import android.content.pm.PackageManager
+import android.content.res.Configuration
 
 /**
  * App工具类
@@ -40,4 +42,13 @@ object AppUtils {
             -1
         }
     }
+
+
+    /**
+     * 校验当前屏幕是否竖屏
+     */
+    fun Activity?.isPortrait(): Boolean {
+        if (this == null) return false
+        return resources.configuration.orientation == Configuration.ORIENTATION_PORTRAIT
+    }
 }

+ 6 - 1
app/src/main/java/com/grkj/iscs_mars/view/activity/HomeActivity.kt

@@ -5,6 +5,8 @@ import android.view.KeyEvent
 import android.widget.ImageView
 import androidx.lifecycle.MutableLiveData
 import androidx.lifecycle.Observer
+import androidx.recyclerview.widget.LinearLayoutManager
+import androidx.recyclerview.widget.RecyclerView
 import com.grkj.iscs_mars.BusinessManager
 import com.grkj.iscs_mars.R
 import com.grkj.iscs_mars.databinding.ActivityHomeBinding
@@ -23,6 +25,7 @@ import com.grkj.iscs_mars.model.eventmsg.DeviceExceptionMsg
 import com.grkj.iscs_mars.model.eventmsg.MsgEvent
 import com.grkj.iscs_mars.model.eventmsg.MsgEventConstants.MSG_EVENT_DEVICE_EXCEPTION
 import com.grkj.iscs_mars.model.vo.user.UserInfoRespVO
+import com.grkj.iscs_mars.util.AppUtils.isPortrait
 import com.grkj.iscs_mars.util.ToastUtils
 import com.grkj.iscs_mars.util.log.LogUtil
 import com.grkj.iscs_mars.view.adapter.MenuAdapter
@@ -135,7 +138,9 @@ class HomeActivity : BaseMvpActivity<IHomeView, HomePresenter, ActivityHomeBindi
         mBinding?.vp?.isUserInputEnabled = false
         mBinding?.vp?.offscreenPageLimit = mMenuList.size
         mBinding?.vp?.adapter = MenuAdapter(supportFragmentManager, lifecycle, mMenuList)
-
+        // 根据横竖屏配置列表的方向
+        val orientation = if (!isPortrait()) RecyclerView.VERTICAL else RecyclerView.HORIZONTAL
+        mBinding?.rvMenu?.layoutManager = LinearLayoutManager(this, orientation, false)
         mBinding?.rvMenu?.adapter =
             object : CommonAdapter<Menu>(this, R.layout.item_rv_menu, mMenuList) {
                 override fun convert(holder: ViewHolder, data: Menu, position: Int) {

+ 1 - 1
app/src/main/java/com/grkj/iscs_mars/view/adapter/TwoFragmentAdapter.kt

@@ -9,5 +9,5 @@ import com.grkj.iscs_mars.view.fragment.SwitchStatusFragment
 class TwoFragmentAdapter(activity: FragmentActivity) : FragmentStateAdapter(activity) {
     override fun getItemCount() = 2
     override fun createFragment(position: Int): Fragment =
-        if (position == 0) SwitchStatusFragment.newInstance() else LoginFragment.newInstance()
+        if (position == 0) LoginFragment.newInstance() else SwitchStatusFragment.newInstance()
 }

+ 7 - 1
app/src/main/java/com/grkj/iscs_mars/view/dialog/LoginDialog.kt

@@ -20,6 +20,7 @@ import com.grkj.iscs_mars.util.log.LogUtil
 import com.grkj.iscs_mars.view.base.BaseDialog
 import com.grkj.iscs_mars.view.presenter.LoginPresenter
 import com.sik.sikcore.thread.ThreadUtils
+import kotlinx.coroutines.delay
 
 class LoginDialog(
     val presenter: LoginPresenter?,
@@ -66,7 +67,7 @@ class LoginDialog(
      */
     fun showByType(loginType: Int) {
         mLoginType = loginType
-        if (loginType == 3) {
+        if (loginType == R.mipmap.login_account) {
             mBinding?.llAccountContainer?.visibility = View.VISIBLE
             mBinding?.llEasyContainer?.visibility = View.GONE
         } else {
@@ -167,6 +168,11 @@ class LoginDialog(
 
     override fun dismiss() {
         super.dismiss()
+        ThreadUtils.runOnMain {
+            delay(100)
+            // 隐藏键盘
+            KeyboardUtils.hideSoftKeyboard()
+        }
         when (mLoginType) {
             0 -> {
                 ArcSoftUtil.stop()

+ 7 - 13
app/src/main/java/com/grkj/iscs_mars/view/fragment/LoginFragment.kt

@@ -2,15 +2,11 @@ package com.grkj.iscs_mars.view.fragment
 
 import android.content.Intent
 import android.widget.ImageView
-import androidx.lifecycle.lifecycleScope
 import androidx.viewpager2.widget.ViewPager2
 import com.arcsoft.face.FaceEngine
 import com.arcsoft.face.model.ActiveDeviceInfo
 import com.grkj.iscs_mars.BusinessManager
 import com.grkj.iscs_mars.R
-import com.grkj.iscs_mars.ble.BleCmdManager
-import com.grkj.iscs_mars.ble.BleConnectionManager
-import com.grkj.iscs_mars.ble.BleSendDispatcher
 import com.grkj.iscs_mars.databinding.FragmentLoginBinding
 import com.grkj.iscs_mars.extentions.serialNo
 import com.grkj.iscs_mars.model.vo.user.UserInfoRespVO
@@ -27,8 +23,6 @@ import com.sik.sikcore.extension.setDebouncedClickListener
 import com.sik.sikcore.shell.ShellUtils
 import com.zhy.adapter.recyclerview.CommonAdapter
 import com.zhy.adapter.recyclerview.base.ViewHolder
-import kotlinx.coroutines.Dispatchers
-import kotlinx.coroutines.launch
 
 class LoginFragment :
     BaseMvpFragment<ILoginView, LoginPresenter, FragmentLoginBinding>() {
@@ -65,11 +59,9 @@ class LoginFragment :
             UrlConfigDialog(requireContext()).show()
         }
 
-        mBinding?.main?.setBackgroundResource(R.mipmap.login_bg)
-
         val pairList = mutableListOf(
-            Pair(getString(R.string.login_face), R.mipmap.login_face),
-            Pair(getString(R.string.login_fingerprint), R.mipmap.login_fingerprint),
+            // Pair(getString(R.string.login_face), R.mipmap.login_face),
+            // Pair(getString(R.string.login_fingerprint), R.mipmap.login_fingerprint),
             Pair(getString(R.string.login_card), R.mipmap.login_card),
             Pair(getString(R.string.login_account), R.mipmap.login_account)
         )
@@ -81,12 +73,14 @@ class LoginFragment :
                 pairList
             ) {
                 override fun convert(holder: ViewHolder, pair: Pair<String, Int>, position: Int) {
-                    holder.setVisible(R.id.iv_dot, position == 1 || position == 2)
+                    val showDot = listOf(R.mipmap.login_face, R.mipmap.login_fingerprint, R.mipmap.login_card).contains(pair.second)
+                    holder.setVisible(R.id.iv_dot, showDot)
                     holder.setText(R.id.tv_name, pair.first)
                     holder.getView<ImageView>(R.id.iv_icon).setImageResource(pair.second)
                     holder.setOnClickListener(R.id.root) {
-                        if (position == 0 || position == 3) {
-                            showLoginDialog(position)
+                        val showDialog = listOf(R.mipmap.login_face, R.mipmap.login_account).contains(pair.second)
+                        if (showDialog) {
+                            showLoginDialog(pair.second)
                         }
                     }
                 }

+ 10 - 15
app/src/main/java/com/grkj/iscs_mars/view/fragment/SwitchStatusFragment.kt

@@ -1,13 +1,10 @@
 package com.grkj.iscs_mars.view.fragment
 
-import android.bluetooth.BluetoothGatt
-import android.util.Log
 import android.view.GestureDetector
 import android.view.Gravity
 import android.view.MotionEvent
 import android.widget.LinearLayout
 import androidx.core.view.isVisible
-import androidx.lifecycle.lifecycleScope
 import androidx.recyclerview.widget.LinearLayoutManager
 import androidx.viewpager2.widget.ViewPager2
 import com.drake.brv.BindingAdapter
@@ -18,10 +15,6 @@ import com.drake.brv.utils.models
 import com.drake.brv.utils.setup
 import com.grkj.iscs_mars.BusinessManager
 import com.grkj.iscs_mars.R
-import com.grkj.iscs_mars.ble.BleSendDispatcher
-import com.grkj.iscs_mars.ble.BleUtil
-import com.grkj.iscs_mars.ble.CustomBleGattCallback
-import com.grkj.iscs_mars.ble.CustomBleScanCallback
 import com.grkj.iscs_mars.databinding.FragmentSwitchStatusBinding
 import com.grkj.iscs_mars.databinding.ItemMapBinding
 import com.grkj.iscs_mars.databinding.ItemSwitchBinding
@@ -31,19 +24,16 @@ import com.grkj.iscs_mars.model.eventmsg.MsgEventConstants
 import com.grkj.iscs_mars.model.vo.map.LotoSwitchMapPageRespVO
 import com.grkj.iscs_mars.model.vo.map.MotorMapInfoRespVO
 import com.grkj.iscs_mars.model.vo.map.MotorMapInfoRespVO.IsMotorMapPoint
+import com.grkj.iscs_mars.util.AppUtils.isPortrait
 import com.grkj.iscs_mars.util.CommonUtils
 import com.grkj.iscs_mars.view.base.BaseMvpFragment
 import com.grkj.iscs_mars.view.dialog.SwitchInfoDialog
 import com.grkj.iscs_mars.view.iview.ISwitchStatusView
 import com.grkj.iscs_mars.view.presenter.SwitchStatusPresenter
 import com.grkj.iscs_mars.view.widget.CustomSwitchStationLayer
-import com.huyuhui.fastble.data.BleDevice
-import com.huyuhui.fastble.exception.BleException
 import com.onlylemi.mapview.library.MapViewListener
 import com.sik.sikcore.extension.setDebouncedClickListener
 import com.sik.sikcore.thread.ThreadUtils
-import kotlinx.coroutines.Dispatchers
-import kotlinx.coroutines.launch
 
 class SwitchStatusFragment :
     BaseMvpFragment<ISwitchStatusView, SwitchStatusPresenter, FragmentSwitchStatusBinding>() {
@@ -79,20 +69,20 @@ class SwitchStatusFragment :
                 }
             })
         mBinding?.cbLogin?.setDebouncedClickListener {
-              vp2?.currentItem = 1
+            vp2?.currentItem = 1
         }
         mBinding?.cbShow?.setDebouncedClickListener {
             if (mBinding?.pointList?.isVisible == true) {
                 mBinding?.pointList?.isVisible = false
-                mBinding?.cbShow?.rotation = 0f
+                mBinding?.cbShow?.rotation = if (requireActivity().isPortrait()) 90f else 0f
             } else {
                 mBinding?.pointList?.isVisible = true
-                mBinding?.cbShow?.rotation = 180f
+                mBinding?.cbShow?.rotation = if (requireActivity().isPortrait()) 270f else 180f
             }
         }
         mBinding?.mapview?.setBackgroundColorInt(requireContext().getColor(R.color.color_map_base))
         mBinding?.rvList?.linear()?.dividerSpace(10, DividerOrientation.GRID)?.setup {
-            addType<MotorMapInfoRespVO.IsMotorMapPoint>(R.layout.item_switch)
+            addType<IsMotorMapPoint>(R.layout.item_switch)
             onBind { onRVListBinding() }
         }
         mBinding?.mapRv?.linear(LinearLayout.HORIZONTAL)?.dividerSpace(10, DividerOrientation.GRID)
@@ -137,10 +127,12 @@ class SwitchStatusFragment :
                 itemBinding.switchStatus.setBackgroundResource(R.drawable.bg_switch_off)
                 itemBinding.switchStatus.text = CommonUtils.getStr(R.string.switch_close)
             }
+
             true -> {
                 itemBinding.switchStatus.setBackgroundResource(R.drawable.bg_switch_on)
                 itemBinding.switchStatus.text = CommonUtils.getStr(R.string.switch_open)
             }
+
             else -> {
                 itemBinding.switchStatus.setBackgroundResource(R.drawable.bg_switch_alarm)
                 itemBinding.switchStatus.text = CommonUtils.getStr(R.string.switch_alarm)
@@ -254,9 +246,12 @@ class SwitchStatusFragment :
             override fun onMapLoadSuccess() {
                 mBinding?.mapview?.post {
                     mBinding?.mapview?.currentRotateDegrees = 0f
+                    // 如果是竖屏 设置默认方法比例
+                    if (requireActivity().isPortrait()) mBinding?.mapview?.currentZoom = 1.2f
                     mBinding?.mapview?.refresh()
                 }
             }
+
             override fun onMapLoadFail() = Unit
         })
     }

+ 95 - 0
app/src/main/res/layout-land/activity_home.xml

@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:id="@+id/main"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:background="@mipmap/main_bg"
+    tools:context=".view.activity.HomeActivity">
+
+    <RelativeLayout
+        android:id="@+id/rl_menu"
+        android:layout_width="0dp"
+        android:layout_height="0dp"
+        android:padding="@dimen/menu_padding"
+        android:background="@color/home_menu_bg"
+        app:layout_constraintBottom_toBottomOf="parent"
+        app:layout_constraintHorizontal_weight="267"
+        app:layout_constraintLeft_toLeftOf="parent"
+        app:layout_constraintRight_toLeftOf="@id/rl_page"
+        app:layout_constraintTop_toTopOf="parent">
+
+        <ImageView
+            android:id="@+id/iv_logo"
+            android:layout_width="match_parent"
+            android:layout_height="12dp"
+            android:layout_centerHorizontal="true"
+            android:background="@mipmap/logo_inside"/>
+
+        <TextView
+            android:id="@+id/tv_app_title"
+            style="@style/CommonTextView"
+            android:layout_centerHorizontal="true"
+            android:text="@string/app_title"
+            android:textSize="@dimen/common_text_size_big"
+            android:textStyle="bold"
+            android:layout_below="@id/iv_logo"/>
+
+        <View
+            android:id="@+id/v_divider_title"
+            android:layout_width="match_parent"
+            android:layout_height="@dimen/divider_line_width"
+            android:layout_below="@id/tv_app_title"
+            android:layout_marginVertical="@dimen/divider_line_margin"
+            android:background="@color/white" />
+
+        <TextClock
+            android:id="@+id/tc_time"
+            style="@style/CommonTextView"
+            android:layout_alignParentBottom="true"
+            android:layout_centerHorizontal="true"
+            android:format12Hour="yyyy-MM-dd\nhh:mm"
+            android:format24Hour="yyyy-MM-dd\nhh:mm" />
+
+        <View
+            android:id="@+id/v_divider_time"
+            android:layout_width="match_parent"
+            android:layout_height="@dimen/divider_line_width"
+            android:layout_above="@id/tc_time"
+            android:layout_marginVertical="@dimen/divider_line_margin"
+            android:background="@color/white" />
+
+        <include
+            android:id="@+id/item_setting"
+            layout="@layout/item_rv_menu"
+            android:layout_width="@dimen/item_rv_menu_size"
+            android:layout_height="@dimen/item_rv_menu_height"
+            android:layout_above="@id/v_divider_time" />
+
+        <androidx.recyclerview.widget.RecyclerView
+            android:id="@+id/rv_menu"
+            style="@style/CommonRecyclerView"
+            android:layout_height="wrap_content"
+            android:layout_above="@id/item_setting"
+            android:layout_below="@id/v_divider_title"
+            tools:listitem="@layout/item_rv_menu" />
+    </RelativeLayout>
+
+    <RelativeLayout
+        android:id="@+id/rl_page"
+        android:layout_width="0dp"
+        android:layout_height="0dp"
+        app:layout_constraintBottom_toBottomOf="parent"
+        app:layout_constraintHorizontal_weight="1653"
+        app:layout_constraintLeft_toRightOf="@id/rl_menu"
+        app:layout_constraintRight_toRightOf="parent"
+        app:layout_constraintTop_toTopOf="parent"
+        android:padding="@dimen/page_padding">
+
+        <androidx.viewpager2.widget.ViewPager2
+            android:id="@+id/vp"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent" />
+    </RelativeLayout>
+</androidx.constraintlayout.widget.ConstraintLayout>

+ 38 - 0
app/src/main/res/layout-land/common_dialog_loading_progress.xml

@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    android:gravity="center_horizontal"
+    android:orientation="vertical"
+    android:paddingHorizontal="20dp"
+    android:paddingVertical="3dp"
+    tools:background="@android:color/darker_gray">
+
+    <TextView
+        android:id="@+id/tv_common_title"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:textColor="@android:color/white"
+        android:visibility="gone"
+        tools:text="标题"
+        tools:visibility="visible" />
+
+    <com.wang.avi.AVLoadingIndicatorView
+        android:id="@+id/avliv_common"
+        style="@style/AVLoadingIndicatorView.Large"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        app:indicatorColor="@android:color/white"
+        app:indicatorName="PacmanIndicator" />
+
+    <TextView
+        android:id="@+id/tv_common_progress"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:textColor="@android:color/white"
+        android:visibility="gone"
+        tools:text="副标题"
+        tools:visibility="visible" />
+</LinearLayout>

+ 82 - 0
app/src/main/res/layout-land/dialog_login.xml

@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="utf-8"?>
+<com.google.android.material.card.MaterialCardView xmlns:android="http://schemas.android.com/apk/res/android"
+xmlns:app="http://schemas.android.com/apk/res-auto"
+android:layout_width="wrap_content"
+android:layout_height="wrap_content"
+android:gravity="center"
+app:cardBackgroundColor="@color/dialog_card_login_bg"
+app:strokeColor="@color/common_transparent">
+
+<LinearLayout
+    android:id="@+id/ll_easy_container"
+    android:layout_width="165dp"
+    android:layout_height="146dp"
+    android:layout_gravity="center"
+    android:gravity="center"
+    android:orientation="vertical"
+    android:visibility="gone">
+
+    <ImageView
+        android:id="@+id/iv_icon"
+        android:layout_width="100dp"
+        android:layout_height="100dp"
+        android:layout_marginBottom="5dp" />
+
+    <TextView
+        android:id="@+id/tv_tip"
+        style="@style/CommonTextView"
+        android:textSize="@dimen/common_text_size_big" />
+</LinearLayout>
+
+<FrameLayout
+    android:layout_width="165dp"
+    android:layout_height="146dp">
+
+    <TextureView
+        android:id="@+id/preview"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:visibility="invisible" />
+</FrameLayout>
+
+<LinearLayout
+    android:id="@+id/ll_account_container"
+    android:layout_width="165dp"
+    android:layout_height="wrap_content"
+    android:layout_gravity="center"
+    android:gravity="center"
+    android:orientation="vertical"
+    android:padding="20dp">
+
+    <EditText
+        android:id="@+id/et_account"
+        style="@style/CommonEdit"
+        android:layout_width="match_parent"
+        android:layout_marginBottom="10dp"
+        android:hint="@string/please_input_account" />
+
+    <EditText
+        android:id="@+id/et_password"
+        style="@style/CommonEdit"
+        android:layout_width="match_parent"
+        android:layout_marginBottom="10dp"
+        android:inputType="textPassword"
+        android:hint="@string/please_input_password" />
+
+    <TextView
+        android:id="@+id/tv_login"
+        style="@style/CommonBtn"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginBottom="10dp"
+        android:text="@string/login" />
+
+    <TextView
+        android:id="@+id/tv_cancel"
+        style="@style/CommonBtn"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:background="@drawable/white_stroke_bg"
+        android:text="@string/cancel" />
+</LinearLayout>
+</com.google.android.material.card.MaterialCardView>

+ 50 - 0
app/src/main/res/layout-land/fragment_login.xml

@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:id="@+id/main"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:padding="@dimen/page_padding"
+    tools:context=".view.activity.LoginActivity">
+
+    <androidx.recyclerview.widget.RecyclerView
+        android:id="@+id/rv_type"
+        style="@style/CommonRecyclerView"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_centerInParent="true"
+        android:orientation="horizontal" />
+
+    <TextView
+        android:id="@+id/main_title"
+        style="@style/CommonTextView"
+        android:layout_above="@id/rv_type"
+        android:layout_centerHorizontal="true"
+        android:layout_marginBottom="25dp"
+        android:text="@string/loto"
+        android:textSize="30sp" />
+
+    <com.grkj.iscs_mars.view.widget.CommonBtn
+        android:id="@+id/cb_motor"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_above="@+id/login_tip"
+        android:layout_centerHorizontal="true"
+        android:layout_marginVertical="@dimen/common_spacing"
+        app:btn_bg="@drawable/common_btn_blue_bg"
+        app:btn_name="@string/motor_map" />
+
+    <TextView
+        android:id="@+id/login_tip"
+        style="@style/CommonTextView"
+        android:layout_alignParentBottom="true"
+        android:layout_centerHorizontal="true"
+        android:text="@string/login_method_tip" />
+
+    <TextView
+        android:id="@+id/tv_version"
+        style="@style/CommonTextView"
+        android:layout_alignParentRight="true"
+        android:layout_alignParentBottom="true" />
+</RelativeLayout>

+ 99 - 0
app/src/main/res/layout-land/fragment_switch_status.xml

@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:background="@color/white"
+    android:divider="@drawable/divider_horizontal"
+    android:orientation="vertical"
+    android:showDividers="middle">
+
+    <TextView
+        android:id="@+id/map_title"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_centerHorizontal="true"
+        android:layout_marginVertical="@dimen/common_text_padding"
+        android:background="@drawable/bg_switch_title"
+        android:gravity="center"
+        android:minWidth="200dp"
+        android:paddingHorizontal="@dimen/common_spacing"
+        android:textColor="@color/white"
+        android:textSize="@dimen/map_title_text_size"
+        tools:text="123" />
+
+    <FrameLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:layout_below="@+id/map_title"
+        android:divider="@drawable/divider_horizontal"
+        android:orientation="horizontal"
+        android:showDividers="middle">
+
+        <com.onlylemi.mapview.library.MapView
+            android:id="@+id/mapview"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent" />
+    </FrameLayout>
+
+    <androidx.constraintlayout.widget.ConstraintLayout
+        android:layout_width="wrap_content"
+        android:layout_height="match_parent"
+        android:layout_alignParentRight="true">
+
+        <LinearLayout
+            android:id="@+id/point_list"
+            android:layout_width="240dp"
+            android:layout_height="match_parent"
+            android:layout_marginLeft="12dp"
+            android:background="@drawable/common_layout_bg"
+            android:minWidth="200dp"
+            android:orientation="vertical"
+            android:padding="@dimen/common_spacing"
+            android:visibility="gone"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toStartOf="@id/cb_show"
+            app:layout_constraintTop_toTopOf="parent">
+
+            <com.grkj.iscs_mars.view.widget.CommonBtn
+                android:id="@+id/cb_login"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_gravity="right"
+                android:layout_marginVertical="@dimen/common_spacing_small"
+                app:btn_bg="@drawable/common_btn_blue_bg"
+                app:btn_name="@string/login" />
+
+            <View
+                android:layout_width="match_parent"
+                android:layout_height="1dp"
+                android:background="@color/color_d7d2d2" />
+
+            <androidx.recyclerview.widget.RecyclerView
+                android:id="@+id/map_rv"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="@dimen/common_spacing" />
+
+            <androidx.recyclerview.widget.RecyclerView
+                android:id="@+id/rv_list"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:layout_marginTop="@dimen/common_spacing"
+                android:minWidth="200dp"
+                android:paddingHorizontal="10dp" />
+        </LinearLayout>
+
+        <ImageView
+            android:id="@+id/cb_show"
+            android:layout_width="24dp"
+            android:layout_height="24dp"
+            android:src="@drawable/icon_chevron_left"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toTopOf="parent" />
+
+    </androidx.constraintlayout.widget.ConstraintLayout>
+</RelativeLayout>

+ 38 - 0
app/src/main/res/layout-land/item_rv_login.xml

@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:id="@+id/root"
+    android:layout_width="@dimen/item_rv_login_width"
+    android:layout_height="@dimen/item_rv_login_height"
+    android:layout_margin="@dimen/item_rv_login_margin"
+    android:background="@drawable/item_rv_login_bg">
+
+    <ImageView
+        android:id="@+id/iv_icon"
+        android:layout_width="@dimen/item_rv_login_icon_size"
+        android:layout_height="@dimen/item_rv_login_icon_size"
+        app:layout_constraintBottom_toTopOf="@id/tv_name"
+        app:layout_constraintLeft_toLeftOf="parent"
+        app:layout_constraintRight_toRightOf="parent"
+        app:layout_constraintTop_toTopOf="parent" />
+
+    <TextView
+        android:id="@+id/tv_name"
+        style="@style/CommonTextView"
+        android:layout_marginTop="8dp"
+        android:textSize="@dimen/common_text_size_big"
+        app:layout_constraintBottom_toBottomOf="parent"
+        app:layout_constraintLeft_toLeftOf="parent"
+        app:layout_constraintRight_toRightOf="parent"
+        app:layout_constraintTop_toBottomOf="@id/iv_icon" />
+
+    <ImageView
+        android:id="@+id/iv_dot"
+        android:layout_width="8dp"
+        android:layout_height="8dp"
+        android:layout_marginTop="@dimen/common_spacing"
+        android:layout_marginRight="@dimen/common_spacing"
+        android:background="@drawable/login_item_dot_bg"
+        app:layout_constraintRight_toRightOf="parent"
+        app:layout_constraintTop_toTopOf="parent" />
+</androidx.constraintlayout.widget.ConstraintLayout>

+ 19 - 0
app/src/main/res/layout-land/item_rv_menu.xml

@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/root"
+    android:layout_width="@dimen/item_rv_menu_size"
+    android:layout_height="@dimen/item_rv_menu_height"
+    android:gravity="center"
+    android:orientation="vertical">
+
+    <ImageView
+        android:id="@+id/iv_icon"
+        android:layout_width="@dimen/item_rv_menu_icon_size"
+        android:layout_height="@dimen/item_rv_menu_icon_size"
+        android:tint="@color/color_d7d2d2" />
+
+    <TextView
+        android:id="@+id/tv_name"
+        style="@style/CommonTextView"
+        android:layout_marginTop="4dp" />
+</LinearLayout>

+ 64 - 52
app/src/main/res/layout/activity_home.xml

@@ -9,87 +9,99 @@
     tools:context=".view.activity.HomeActivity">
 
     <RelativeLayout
-        android:id="@+id/rl_menu"
-        android:layout_width="0dp"
+        android:id="@+id/top_view"
+        android:layout_width="match_parent"
         android:layout_height="0dp"
-        android:padding="@dimen/menu_padding"
-        android:background="@color/home_menu_bg"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintHorizontal_weight="267"
-        app:layout_constraintLeft_toLeftOf="parent"
-        app:layout_constraintRight_toLeftOf="@id/rl_page"
-        app:layout_constraintTop_toTopOf="parent">
+        app:layout_constraintBottom_toTopOf="@+id/rl_page"
+        android:paddingLeft="10dp"
+        android:paddingRight="10dp"
+        app:layout_constraintHeight_percent="0.05">
 
         <ImageView
             android:id="@+id/iv_logo"
+            android:layout_width="150dp"
+            android:layout_height="20dp"
+            android:layout_centerVertical="true"
+            android:background="@mipmap/logo_inside" />
+
+        <View
+            android:id="@+id/v_divider_time"
+            android:visibility="gone"
+            android:layout_width="1dp"
+            android:layout_height="match_parent"
+            android:layout_above="@id/tc_time"
+            android:layout_marginVertical="@dimen/divider_line_margin"
+            android:background="@color/white" />
+
+        <TextClock
+            android:id="@+id/tc_time"
+            style="@style/CommonTextView"
+            android:layout_centerVertical="true"
+            android:textSize="20sp"
+            android:layout_alignParentEnd="true"
+            android:format12Hour="yyyy-MM-dd hh:mm:ss"
+            android:format24Hour="yyyy-MM-dd hh:mm:ss" />
+
+    </RelativeLayout>
+
+    <RelativeLayout
+        android:id="@+id/rl_page"
+        android:layout_width="match_parent"
+        android:layout_height="0dp"
+        android:padding="@dimen/page_padding"
+        app:layout_constraintBottom_toTopOf="@+id/rl_menu"
+        app:layout_constraintHeight_percent="0.85"
+        app:layout_constraintLeft_toRightOf="parent"
+        app:layout_constraintRight_toRightOf="parent">
+
+        <androidx.viewpager2.widget.ViewPager2
+            android:id="@+id/vp"
             android:layout_width="match_parent"
-            android:layout_height="12dp"
-            android:layout_centerHorizontal="true"
-            android:background="@mipmap/logo_inside"/>
+            android:layout_height="match_parent" />
+
+    </RelativeLayout>
+
+    <RelativeLayout
+        android:id="@+id/rl_menu"
+        android:layout_width="match_parent"
+        android:layout_height="0dp"
+        android:background="@color/home_menu_bg"
+        app:layout_constraintBottom_toBottomOf="parent"
+        app:layout_constraintHeight_percent="0.1">
 
         <TextView
             android:id="@+id/tv_app_title"
             style="@style/CommonTextView"
+            android:layout_below="@id/iv_logo"
             android:layout_centerHorizontal="true"
+            android:visibility="gone"
             android:text="@string/app_title"
             android:textSize="@dimen/common_text_size_big"
-            android:textStyle="bold"
-            android:layout_below="@id/iv_logo"/>
+            android:textStyle="bold" />
 
         <View
             android:id="@+id/v_divider_title"
             android:layout_width="match_parent"
+            android:visibility="gone"
             android:layout_height="@dimen/divider_line_width"
             android:layout_below="@id/tv_app_title"
             android:layout_marginVertical="@dimen/divider_line_margin"
             android:background="@color/white" />
 
-        <TextClock
-            android:id="@+id/tc_time"
-            style="@style/CommonTextView"
-            android:layout_alignParentBottom="true"
-            android:layout_centerHorizontal="true"
-            android:format12Hour="yyyy-MM-dd\nhh:mm"
-            android:format24Hour="yyyy-MM-dd\nhh:mm" />
-
-        <View
-            android:id="@+id/v_divider_time"
-            android:layout_width="match_parent"
-            android:layout_height="@dimen/divider_line_width"
-            android:layout_above="@id/tc_time"
-            android:layout_marginVertical="@dimen/divider_line_margin"
-            android:background="@color/white" />
-
         <include
             android:id="@+id/item_setting"
             layout="@layout/item_rv_menu"
-            android:layout_width="@dimen/item_rv_menu_size"
-            android:layout_height="@dimen/item_rv_menu_height"
-            android:layout_above="@id/v_divider_time" />
+            android:layout_width="110dp"
+            android:layout_height="match_parent"
+            android:layout_alignParentEnd="true" />
 
         <androidx.recyclerview.widget.RecyclerView
             android:id="@+id/rv_menu"
             style="@style/CommonRecyclerView"
-            android:layout_height="wrap_content"
-            android:layout_above="@id/item_setting"
-            android:layout_below="@id/v_divider_title"
+            android:layout_toLeftOf="@id/item_setting"
+            android:layout_height="match_parent"
             tools:listitem="@layout/item_rv_menu" />
-    </RelativeLayout>
-
-    <RelativeLayout
-        android:id="@+id/rl_page"
-        android:layout_width="0dp"
-        android:layout_height="0dp"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintHorizontal_weight="1653"
-        app:layout_constraintLeft_toRightOf="@id/rl_menu"
-        app:layout_constraintRight_toRightOf="parent"
-        app:layout_constraintTop_toTopOf="parent"
-        android:padding="@dimen/page_padding">
 
-        <androidx.viewpager2.widget.ViewPager2
-            android:id="@+id/vp"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent" />
     </RelativeLayout>
+
 </androidx.constraintlayout.widget.ConstraintLayout>

+ 8 - 4
app/src/main/res/layout/common_dialog_loading_progress.xml

@@ -6,8 +6,8 @@
     android:layout_height="wrap_content"
     android:gravity="center_horizontal"
     android:orientation="vertical"
-    android:paddingHorizontal="20dp"
-    android:paddingVertical="3dp"
+    android:paddingHorizontal="40dp"
+    android:paddingVertical="10dp"
     tools:background="@android:color/darker_gray">
 
     <TextView
@@ -15,8 +15,9 @@
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:textColor="@android:color/white"
+        android:textSize="18sp"
         android:visibility="gone"
-        tools:text="title"
+        tools:text="标题"
         tools:visibility="visible" />
 
     <com.wang.avi.AVLoadingIndicatorView
@@ -24,6 +25,8 @@
         style="@style/AVLoadingIndicatorView.Large"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
+        android:scaleX="1.6"
+        android:scaleY="1.5"
         app:indicatorColor="@android:color/white"
         app:indicatorName="PacmanIndicator" />
 
@@ -32,7 +35,8 @@
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:textColor="@android:color/white"
+        android:textSize="20sp"
         android:visibility="gone"
-        tools:text="adjfksadfj"
+        tools:text="副标题"
         tools:visibility="visible" />
 </LinearLayout>

+ 17 - 10
app/src/main/res/layout/dialog_login.xml

@@ -4,7 +4,7 @@
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:gravity="center"
-    app:cardBackgroundColor="@color/dialog_card_login_bg"
+    app:cardBackgroundColor="@color/dialog_card_login_bg_no_alpha"
     app:strokeColor="@color/common_transparent">
 
     <LinearLayout
@@ -41,35 +41,41 @@
 
     <LinearLayout
         android:id="@+id/ll_account_container"
-        android:layout_width="165dp"
+        android:layout_width="450dp"
         android:layout_height="wrap_content"
         android:layout_gravity="center"
         android:gravity="center"
         android:orientation="vertical"
-        android:padding="20dp">
+        android:paddingLeft="80dp"
+        android:paddingTop="40dp"
+        android:paddingRight="80dp"
+        android:paddingBottom="40dp">
 
         <EditText
             android:id="@+id/et_account"
             style="@style/CommonEdit"
             android:layout_width="match_parent"
-            android:layout_marginBottom="10dp"
-            android:hint="@string/please_input_account" />
+            android:layout_marginBottom="20dp"
+            android:hint="@string/please_input_account"
+            android:textSize="20sp" />
 
         <EditText
             android:id="@+id/et_password"
             style="@style/CommonEdit"
             android:layout_width="match_parent"
-            android:layout_marginBottom="10dp"
+            android:layout_marginBottom="20dp"
+            android:hint="@string/please_input_password"
             android:inputType="textPassword"
-            android:hint="@string/please_input_password" />
+            android:textSize="20sp" />
 
         <TextView
             android:id="@+id/tv_login"
             style="@style/CommonBtn"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:layout_marginBottom="10dp"
-            android:text="@string/login" />
+            android:layout_marginBottom="20dp"
+            android:text="@string/login"
+            android:textSize="20sp" />
 
         <TextView
             android:id="@+id/tv_cancel"
@@ -77,6 +83,7 @@
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:background="@drawable/white_stroke_bg"
-            android:text="@string/cancel" />
+            android:text="@string/cancel"
+            android:textSize="20sp" />
     </LinearLayout>
 </com.google.android.material.card.MaterialCardView>

+ 33 - 7
app/src/main/res/layout/fragment_login.xml

@@ -5,9 +5,13 @@
     android:id="@+id/main"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    android:padding="@dimen/page_padding"
     tools:context=".view.activity.LoginActivity">
 
+    <ImageView
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:background="@mipmap/main_bg" />
+
     <androidx.recyclerview.widget.RecyclerView
         android:id="@+id/rv_type"
         style="@style/CommonRecyclerView"
@@ -18,12 +22,16 @@
 
     <TextView
         android:id="@+id/main_title"
-        style="@style/CommonTextView"
-        android:layout_above="@id/rv_type"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
         android:layout_centerHorizontal="true"
-        android:layout_marginBottom="25dp"
+        android:layout_marginLeft="40dp"
+        android:layout_marginTop="100dp"
+        android:layout_marginRight="40dp"
+        android:gravity="center"
         android:text="@string/loto"
-        android:textSize="30sp" />
+        android:textColor="@color/white"
+        android:textSize="46sp" />
 
     <com.grkj.iscs_mars.view.widget.CommonBtn
         android:id="@+id/cb_motor"
@@ -32,19 +40,37 @@
         android:layout_above="@+id/login_tip"
         android:layout_centerHorizontal="true"
         android:layout_marginVertical="@dimen/common_spacing"
+        android:visibility="gone"
         app:btn_bg="@drawable/common_btn_blue_bg"
         app:btn_name="@string/motor_map" />
 
     <TextView
         android:id="@+id/login_tip"
         style="@style/CommonTextView"
+        android:layout_above="@+id/copyright"
+        android:layout_centerHorizontal="true"
+        android:layout_marginBottom="40dp"
+        android:paddingLeft="20dp"
+        android:paddingRight="20dp"
+        android:text="@string/login_method_tip"
+        android:textSize="20sp" />
+
+    <TextView
+        android:id="@+id/copyright"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
         android:layout_alignParentBottom="true"
         android:layout_centerHorizontal="true"
-        android:text="@string/login_method_tip" />
+        android:layout_marginBottom="@dimen/page_padding"
+        android:text="温州博士安全⽤品有限公司"
+        android:textColor="@color/white"
+        android:textSize="18sp" />
 
     <TextView
         android:id="@+id/tv_version"
         style="@style/CommonTextView"
         android:layout_alignParentRight="true"
-        android:layout_alignParentBottom="true" />
+        android:padding="@dimen/page_padding"
+        android:textSize="14sp" />
+
 </RelativeLayout>

+ 15 - 14
app/src/main/res/layout/fragment_switch_status.xml

@@ -21,7 +21,7 @@
         android:paddingHorizontal="@dimen/common_spacing"
         android:textColor="@color/white"
         android:textSize="@dimen/map_title_text_size"
-        tools:text="123" />
+        tools:text="图示" />
 
     <FrameLayout
         android:layout_width="match_parent"
@@ -38,24 +38,22 @@
     </FrameLayout>
 
     <androidx.constraintlayout.widget.ConstraintLayout
-        android:layout_width="wrap_content"
+        android:layout_width="match_parent"
         android:layout_height="match_parent"
-        android:layout_alignParentRight="true">
+        android:layout_alignParentBottom="true">
 
         <LinearLayout
             android:id="@+id/point_list"
-            android:layout_width="240dp"
-            android:layout_height="match_parent"
-            android:layout_marginLeft="12dp"
+            android:layout_width="match_parent"
+            android:layout_height="0dp"
             android:background="@drawable/common_layout_bg"
-            android:minWidth="200dp"
             android:orientation="vertical"
             android:padding="@dimen/common_spacing"
             android:visibility="gone"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintStart_toStartOf="@id/cb_show"
-            app:layout_constraintTop_toTopOf="parent">
+            app:layout_constraintHeight_percent="0.3"
+            app:layout_constraintStart_toStartOf="@id/cb_show">
 
             <com.grkj.iscs_mars.view.widget.CommonBtn
                 android:id="@+id/cb_login"
@@ -82,18 +80,21 @@
                 android:layout_width="match_parent"
                 android:layout_height="match_parent"
                 android:layout_marginTop="@dimen/common_spacing"
-                android:minWidth="200dp"
+                android:minWidth="@dimen/login_list_min"
                 android:paddingHorizontal="10dp" />
         </LinearLayout>
 
         <ImageView
             android:id="@+id/cb_show"
-            android:layout_width="24dp"
-            android:layout_height="24dp"
+            android:layout_width="0dp"
+            android:layout_height="0dp"
+            android:rotation="90"
             android:src="@drawable/icon_chevron_left"
-            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintBottom_toTopOf="@id/point_list"
+            app:layout_constraintDimensionRatio="1:1"
+            app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toTopOf="parent" />
+            app:layout_constraintWidth_percent="0.08" />
 
     </androidx.constraintlayout.widget.ConstraintLayout>
 </RelativeLayout>

+ 13 - 12
app/src/main/res/layout/item_rv_login.xml

@@ -2,16 +2,17 @@
 <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
     android:id="@+id/root"
-    android:layout_width="@dimen/item_rv_login_width"
-    android:layout_height="@dimen/item_rv_login_height"
-    android:layout_margin="@dimen/item_rv_login_margin"
+    android:layout_width="180dp"
+    android:layout_height="220dp"
+    android:layout_margin="12dp"
     android:background="@drawable/item_rv_login_bg">
 
     <ImageView
         android:id="@+id/iv_icon"
-        android:layout_width="@dimen/item_rv_login_icon_size"
-        android:layout_height="@dimen/item_rv_login_icon_size"
-        app:layout_constraintBottom_toTopOf="@id/tv_name"
+        android:layout_width="64dp"
+        android:layout_height="64dp"
+        android:layout_marginTop="-40dp"
+        app:layout_constraintBottom_toBottomOf="parent"
         app:layout_constraintLeft_toLeftOf="parent"
         app:layout_constraintRight_toRightOf="parent"
         app:layout_constraintTop_toTopOf="parent" />
@@ -19,20 +20,20 @@
     <TextView
         android:id="@+id/tv_name"
         style="@style/CommonTextView"
-        android:layout_marginTop="8dp"
-        android:textSize="@dimen/common_text_size_big"
+        android:textSize="16sp"
+        android:layout_marginBottom="20dp"
         app:layout_constraintBottom_toBottomOf="parent"
         app:layout_constraintLeft_toLeftOf="parent"
-        app:layout_constraintRight_toRightOf="parent"
-        app:layout_constraintTop_toBottomOf="@id/iv_icon" />
+        app:layout_constraintRight_toRightOf="parent" />
 
     <ImageView
         android:id="@+id/iv_dot"
-        android:layout_width="8dp"
-        android:layout_height="8dp"
+        android:layout_width="15dp"
+        android:layout_height="15dp"
         android:layout_marginTop="@dimen/common_spacing"
         android:layout_marginRight="@dimen/common_spacing"
         android:background="@drawable/login_item_dot_bg"
         app:layout_constraintRight_toRightOf="parent"
         app:layout_constraintTop_toTopOf="parent" />
+
 </androidx.constraintlayout.widget.ConstraintLayout>

+ 10 - 5
app/src/main/res/layout/item_rv_menu.xml

@@ -1,19 +1,24 @@
 <?xml version="1.0" encoding="utf-8"?>
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+id/root"
-    android:layout_width="@dimen/item_rv_menu_size"
-    android:layout_height="@dimen/item_rv_menu_height"
+    android:layout_width="110dp"
+    android:layout_height="match_parent"
+    android:layout_marginEnd="10dp"
     android:gravity="center"
     android:orientation="vertical">
 
     <ImageView
         android:id="@+id/iv_icon"
-        android:layout_width="@dimen/item_rv_menu_icon_size"
-        android:layout_height="@dimen/item_rv_menu_icon_size"
+        android:layout_width="40dp"
+        android:layout_height="40dp"
         android:tint="@color/color_d7d2d2" />
 
     <TextView
         android:id="@+id/tv_name"
         style="@style/CommonTextView"
-        android:layout_marginTop="4dp" />
+        android:layout_marginTop="10dp"
+        android:ellipsize="middle"
+        android:maxLines="1"
+        android:singleLine="true"
+        android:textSize="18sp" />
 </LinearLayout>

+ 1 - 1
app/src/main/res/values-en/strings.xml

@@ -102,7 +102,7 @@
 
 
     <!--  Design  -->
-    <string name="loto">Intelligent Lockout Tagout System</string>
+    <string name="loto">Intelligent Lock Control Cabinet</string>
     <string name="app_title">Intelligent LOTO</string>
     <string name="job_management">Job Management</string>
     <string name="settings">Settings</string>

+ 4 - 0
app/src/main/res/values-sw450dp/dimens.xml

@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+    <dimen name="common_text_size">20sp</dimen>
+</resources>

+ 4 - 0
app/src/main/res/values-sw600dp/dimens.xml

@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+    <dimen name="common_text_size">130sp</dimen>
+</resources>

+ 1 - 1
app/src/main/res/values-zh/strings.xml

@@ -102,7 +102,7 @@
 
 
     <!--  设计图  -->
-    <string name="loto">智能锁控系统</string>
+    <string name="loto">智能锁控</string>
     <string name="app_title">智能锁控</string>
     <string name="job_management">作业管理</string>
     <string name="settings">设置</string>

+ 4 - 1
app/src/main/res/values/dimens.xml

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <resources>
-    <dimen name="common_text_size">10dp</dimen>
+    <dimen name="common_text_size">12sp</dimen>
     <dimen name="common_text_size_big">14dp</dimen>
     <dimen name="common_text_size_small">8dp</dimen>
     <dimen name="common_text_padding">5dp</dimen>
@@ -19,6 +19,9 @@
     <dimen name="common_btn_width">150dp</dimen>
     <dimen name="common_btn_height">50dp</dimen>
 
+    <dimen name="login_list_min">200dp</dimen>
+    <dimen name="login_list_show">24dp</dimen>
+
     <dimen name="title_bar_height">50dp</dimen>
     <dimen name="title_bar_padding">7dp</dimen>
     <dimen name="title_bar_title_text_size">20dp</dimen>

+ 1 - 1
app/src/main/res/values/strings.xml

@@ -102,7 +102,7 @@
 
 
     <!--  设计图  -->
-    <string name="loto">智能锁控系统</string>
+    <string name="loto">智能锁控</string>
     <string name="app_title">智能锁控</string>
     <string name="job_management">作业管理</string>
     <string name="settings">设置</string>

+ 1 - 0
app/src/main/res/values/themes.xml

@@ -1,6 +1,7 @@
 <resources xmlns:tools="http://schemas.android.com/tools">
     <!-- Base application theme. -->
     <style name="Base.Theme.ISCS" parent="Theme.Material3.DayNight.NoActionBar">
+        <item name="android:windowFullscreen">true</item>
     </style>
 
     <style name="Theme.ISCS" parent="Base.Theme.ISCS" />