瀏覽代碼

登录页和刷卡弹框根据高保真进行修改

Frankensteinly 10 月之前
父節點
當前提交
c5d3999322

+ 43 - 0
app/src/main/java/com/grkj/iscs/util/AppUtils.kt

@@ -0,0 +1,43 @@
+package com.grkj.iscs.util
+
+import android.content.Context
+import android.content.pm.PackageManager
+
+/**
+ * App工具类
+ */
+object AppUtils {
+
+    /**
+     * 获取版本号
+     *
+     * @return 当前应用的VersionName
+     */
+    fun getPkgVerName(context: Context): String? {
+        return try {
+            val manager: PackageManager = context.packageManager
+            val info =
+                manager.getPackageInfo(context.packageName!!, 0) //PackageManager.GET_CONFIGURATIONS
+            info.versionName
+        } catch (e: Exception) {
+            e.printStackTrace()
+            null
+        }
+    }
+
+    /**
+     * 获取VersionCode
+     *
+     * @return 当前应用的VersionCode
+     */
+    fun getPkgVerCode(context: Context): Int {
+        return try {
+            val manager: PackageManager = context.packageManager
+            val info = manager.getPackageInfo(context.packageName!!, 0)
+            info.versionCode
+        } catch (e: Exception) {
+            e.printStackTrace()
+            -1
+        }
+    }
+}

+ 1 - 3
app/src/main/java/com/grkj/iscs/view/activity/HomeActivity.kt

@@ -17,8 +17,6 @@ import com.zhy.adapter.recyclerview.base.ViewHolder
  */
 class HomeActivity : BaseMvpActivity<IHomeView, HomePresenter, ActivityHomeBinding>() {
 
-    private lateinit var mMenuList: MutableList<Menu>
-
     override val viewBinding: ActivityHomeBinding
         get() = ActivityHomeBinding.inflate(layoutInflater)
 
@@ -29,7 +27,7 @@ class HomeActivity : BaseMvpActivity<IHomeView, HomePresenter, ActivityHomeBindi
 
         }
 
-        mMenuList = mutableListOf(
+        val mMenuList = mutableListOf(
             Menu(getString(R.string.job_management), R.mipmap.job_management, JobManagementFragment()),
             Menu(getString(R.string.material_management), R.mipmap.material_management, MaterialManagementFragment())
         )

+ 22 - 20
app/src/main/java/com/grkj/iscs/view/activity/LoginActivity.kt

@@ -1,12 +1,15 @@
 package com.grkj.iscs.view.activity
 
-import android.content.Intent
-import com.grkj.iscs.view.base.BaseMvpActivity
+import com.grkj.iscs.R
 import com.grkj.iscs.databinding.ActivityLoginBinding
+import com.grkj.iscs.util.AppUtils
+import com.grkj.iscs.view.base.BaseMvpActivity
 import com.grkj.iscs.view.dialog.CardLoginDialog
 import com.grkj.iscs.view.iview.ILoginView
 import com.grkj.iscs.view.presenter.LoginPresenter
-import com.grkj.iscs.util.passwordStyle
+import com.manu.mdatepicker.BuildConfig
+import com.zhy.adapter.recyclerview.CommonAdapter
+import com.zhy.adapter.recyclerview.base.ViewHolder
 
 class LoginActivity : BaseMvpActivity<ILoginView, LoginPresenter, ActivityLoginBinding>() {
 
@@ -16,20 +19,25 @@ class LoginActivity : BaseMvpActivity<ILoginView, LoginPresenter, ActivityLoginB
         get() = ActivityLoginBinding.inflate(layoutInflater)
 
     override fun initView() {
-        mBinding?.btnConfirm?.setOnClickListener {
-            presenter?.login(this, mBinding?.etAccount?.text.toString(), mBinding?.etPassword?.text.toString()) { itLoginRst, itCardInfo ->
-                if (itLoginRst) {
-                    val intent = Intent(this, CustomHomeActivity::class.java)
-                    if (itCardInfo != null) {
-                        intent.putExtra("cardInfo", itCardInfo)
-                    }
-                    startActivity(intent)
+        mBinding?.tvVersion?.text = "v${AppUtils.getPkgVerName(this)}"
+
+        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_card), R.mipmap.login_card),
+            Pair(getString(R.string.login_account), R.mipmap.login_account))
+
+
+        mBinding?.rvType?.adapter = object : CommonAdapter<Pair<String, Int>>(this, R.layout.item_rv_login, pairList) {
+            override fun convert(holder: ViewHolder, pair: Pair<String, Int>, position: Int) {
+                holder.setText(R.id.tv_name, pair.first)
+                holder.setBackgroundRes(R.id.iv_icon, pair.second)
+                holder.setOnClickListener(R.id.root) {
+                    CardLoginDialog(this@LoginActivity).show()
                 }
             }
         }
-        mBinding?.ivEyes?.setOnClickListener {
-            passwordStyle(mBinding?.etPassword, mBinding?.ivEyes!!)
-        }
+
 
         // TODO 只适配armeabi-v7a
 //        handleLoading(true, resources.getString(R.string.device_is_initializing))
@@ -51,16 +59,10 @@ class LoginActivity : BaseMvpActivity<ILoginView, LoginPresenter, ActivityLoginB
 //                }
 //            }
 //        }
-
-        mBinding?.tvCardLogin?.setOnClickListener {
-            cardLoginDialog?.show()
-        }
     }
 
     override fun onResume() {
         super.onResume()
-        mBinding?.etAccount?.setText("")
-        mBinding?.etPassword?.setText("")
         presenter?.registerListener()
         cardLoginDialog?.show()
     }

+ 1 - 3
app/src/main/java/com/grkj/iscs/view/fragment/JobManagementFragment.kt

@@ -16,13 +16,11 @@ import com.zhy.adapter.recyclerview.base.ViewHolder
 class JobManagementFragment :
     BaseMvpFragment<IJobManagementView, JobManagementPresenter, FragmentJobManagementBinding>() {
 
-    private lateinit var mMenuList: MutableList<Menu>
-
     override val viewBinding: FragmentJobManagementBinding
         get() = FragmentJobManagementBinding.inflate(layoutInflater)
 
     override fun initView() {
-        mMenuList = mutableListOf(
+        val mMenuList = mutableListOf(
             Menu(getString(R.string.workshop), fragment = WorkshopFragment()),
             Menu(getString(R.string.technology_sop), fragment = TechnologySopFragment()),
             Menu(getString(R.string.job_execution), fragment = JobExecutionFragment())

+ 6 - 0
app/src/main/res/drawable/item_rv_login_bg.xml

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="rectangle">
+    <corners android:radius="@dimen/common_radius" />
+    <solid android:color="@color/common_bg_white_20" />
+</shape>

+ 20 - 53
app/src/main/res/layout/activity_login.xml

@@ -1,65 +1,32 @@
 <?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"
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:tools="http://schemas.android.com/tools"
     android:id="@+id/main"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    android:orientation="vertical"
-    tools:context=".view.activity.LoginActivity"
-    android:background="@color/common_bg_black_30"
-    android:gravity="center">
+    android:background="@mipmap/login_bg"
+    android:padding="@dimen/fragment_padding"
+    tools:context=".view.activity.LoginActivity">
 
-    <TextView
-        style="@style/CommonTextView"
-        android:text="@string/login_tip"
-        android:textColor="@color/main_color" />
-
-    <EditText
-        android:id="@+id/et_account"
-        style="@style/CommonEditNew"
-        android:layout_width="300dp"
-        android:hint="@string/please_input_account" />
-
-    <RelativeLayout
-        android:layout_width="300dp"
-        android:layout_height="wrap_content">
-
-        <EditText
-            android:id="@+id/et_password"
-            style="@style/CommonEditNew"
-            android:layout_width="match_parent"
-            android:inputType="textPassword"
-            android:layout_centerVertical="true"
-            android:hint="@string/please_input_password" />
-
-        <ImageView
-            android:id="@+id/iv_eyes"
-            android:layout_width="@dimen/close_eyes_width"
-            android:layout_height="wrap_content"
-            android:adjustViewBounds="true"
-            android:src="@drawable/pwd_toggle_bg_selector"
-            android:layout_alignParentRight="true"
-            android:layout_centerVertical="true" />
-    </RelativeLayout>
+    <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/btn_confirm"
-        android:layout_width="@dimen/login_btn_width"
-        android:layout_height="@dimen/login_btn_height"
-        android:background="@drawable/login_btn_bg"
-        android:text="@string/confirm"
-        android:gravity="center"
-        android:textSize="@dimen/login_btn_text_size"
-        android:textStyle="bold"
-        android:textColor="@color/white"
-        android:elevation="@dimen/common_common_btn_elevation"
-        android:layout_marginTop="@dimen/login_btn_margin_top"
+        style="@style/CommonTextView"
+        android:layout_above="@id/rv_type"
         android:layout_centerHorizontal="true"
-        android:layout_alignParentBottom="true" />
+        android:layout_marginBottom="25dp"
+        android:text="@string/loto"
+        android:textSize="30sp" />
 
     <TextView
-        android:id="@+id/tv_card_login"
+        android:id="@+id/tv_version"
         style="@style/CommonTextView"
-        android:text="@string/swipe_card_on_machine"/>
-</LinearLayout>
+        android:layout_alignParentRight="true"
+        android:layout_alignParentBottom="true" />
+</RelativeLayout>

+ 25 - 12
app/src/main/res/layout/dialog_card_login.xml

@@ -1,15 +1,28 @@
 <?xml version="1.0" encoding="utf-8"?>
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:gravity="center">
+<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">
 
-    <TextView
-        style="@style/CommonTextView"
-        android:layout_width="@dimen/dialog_card_login_width"
-        android:layout_height="@dimen/dialog_card_login_height"
-        android:background="@color/white"
-        android:textColor="@color/main_color"
-        android:text="@string/swipe_card_on_machine" />
+    <LinearLayout
+        android:layout_width="165dp"
+        android:layout_height="146dp"
+        android:layout_gravity="center"
+        android:gravity="center"
+        android:orientation="vertical">
 
-</RelativeLayout>
+        <ImageView
+            android:layout_width="100dp"
+            android:layout_height="100dp"
+            android:layout_marginBottom="5dp"
+            android:background="@mipmap/swipe_card" />
+
+        <TextView
+            style="@style/CommonTextView"
+            android:text="@string/please_swipe_card"
+            android:textSize="@dimen/common_text_size_big" />
+    </LinearLayout>
+</com.google.android.material.card.MaterialCardView>

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

@@ -0,0 +1,21 @@
+<?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_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"
+    android:gravity="center"
+    android:orientation="vertical">
+
+    <ImageView
+        android:id="@+id/iv_icon"
+        android:layout_width="@dimen/item_rv_login_icon_size"
+        android:layout_height="@dimen/item_rv_login_icon_size" />
+
+    <TextView
+        android:id="@+id/tv_name"
+        style="@style/CommonTextView"
+        android:layout_marginTop="8dp"
+        android:textSize="@dimen/common_text_size_big" />
+</LinearLayout>

二進制
app/src/main/res/mipmap/login_account.png


二進制
app/src/main/res/mipmap/login_bg.png


二進制
app/src/main/res/mipmap/login_card.png


二進制
app/src/main/res/mipmap/login_face.png


二進制
app/src/main/res/mipmap/login_fingerprint.png


二進制
app/src/main/res/mipmap/swipe_card.png


+ 3 - 0
app/src/main/res/values/colors.xml

@@ -11,6 +11,8 @@
     <color name="common_bg_white_30">#4DFFFFFF</color>
     <color name="common_bg_white_60">#99FFFFFF</color>
     <color name="common_bg_white_70">#B3FFFFFF</color>
+    <color name="common_bg_white_80">#CCFFFFFF</color>
+    <color name="common_bg_white_90">#E6FFFFFF</color>
 
     <color name="common_bg_black_30">#4D000000</color>
 
@@ -22,4 +24,5 @@
     <color name="switch_track_off">#E9E9E9</color>
 
     <color name="tab_indicator">#64b0f4</color>
+    <color name="dialog_card_login_bg">#990E57EA</color>
 </resources>

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

@@ -3,7 +3,7 @@
     <dimen name="common_text_size">10sp</dimen>
     <dimen name="common_text_size_big">14sp</dimen>
     <dimen name="common_font_txt_size_page_title">14dp</dimen>
-    <dimen name="common_radius">1dp</dimen>
+    <dimen name="common_radius">10dp</dimen>
 
     <dimen name="common_btn_width">150dp</dimen>
     <dimen name="common_btn_height">50dp</dimen>
@@ -69,4 +69,8 @@
     <dimen name="item_rv_step_height">80dp</dimen>
     <dimen name="item_rv_menu_size">58dp</dimen>
     <dimen name="item_rv_menu_icon_size">20dp</dimen>
+    <dimen name="item_rv_login_width">100dp</dimen>
+    <dimen name="item_rv_login_height">130dp</dimen>
+    <dimen name="item_rv_login_margin">7dp</dimen>
+    <dimen name="item_rv_login_icon_size">40dp</dimen>
 </resources>

+ 6 - 0
app/src/main/res/values/strings.xml

@@ -101,6 +101,7 @@
 
 
     <!--  设计图  -->
+    <string name="loto">智能锁控系统</string>
     <string name="app_title">Mars\n智能锁控</string>
     <string name="job_management">作业管理</string>
     <string name="material_management">物资管理</string>
@@ -126,4 +127,9 @@
     <string name="ensure_power_isolation">能量隔离证实</string>
     <string name="check_before_unlocking">取锁前检查</string>
     <string name="unlock_and_restore_switch">拆锁恢复开关</string>
+    <string name="login_face">人脸登录</string>
+    <string name="login_fingerprint">指纹登录</string>
+    <string name="login_card">工卡登录</string>
+    <string name="login_account">用户名登录</string>
+    <string name="please_swipe_card">请刷卡</string>
 </resources>