浏览代码

启动页、引导图、登录页调整

zhanghongrui 1 周之前
父节点
当前提交
3c2fa28913
共有 26 个文件被更改,包括 513 次插入204 次删除
  1. 3 0
      app/src/main/AndroidManifest.xml
  2. 119 0
      app/src/main/java/com/sjkj/appthreefloor_tsgz/activity/GuidePageActivity.java
  3. 21 7
      app/src/main/java/com/sjkj/appthreefloor_tsgz/activity/SplashActivity.java
  4. 16 0
      app/src/main/java/com/sjkj/appthreefloor_tsgz/activity/viewModel/GuideModel.java
  5. 43 0
      app/src/main/java/com/sjkj/appthreefloor_tsgz/adapter/GuideAdapter.java
  6. 7 6
      app/src/main/java/com/sjkj/appthreefloor_tsgz/login/LoginActivity.java
  7. 二进制
      app/src/main/res/drawable-xxhdpi/icon_guide1.png
  8. 二进制
      app/src/main/res/drawable-xxhdpi/icon_guide2.png
  9. 二进制
      app/src/main/res/drawable-xxhdpi/icon_loginbg.png
  10. 二进制
      app/src/main/res/drawable-xxhdpi/icon_password_small.png
  11. 二进制
      app/src/main/res/drawable-xxhdpi/icon_username_account_small.png
  12. 9 0
      app/src/main/res/drawable/bg_login.xml
  13. 5 0
      app/src/main/res/drawable/gp_indicator_drawable.xml
  14. 7 0
      app/src/main/res/drawable/gp_skip_background.xml
  15. 8 0
      app/src/main/res/drawable/shape_point1.xml
  16. 9 0
      app/src/main/res/drawable/shape_point2.xml
  17. 78 0
      app/src/main/res/layout/activity_guidepage.xml
  18. 110 185
      app/src/main/res/layout/activity_login.xml
  19. 二进制
      app/src/main/res/mipmap-xxhdpi/bg_login_siping_tsgz.png
  20. 二进制
      app/src/main/res/mipmap-xxhdpi/bg_splash_tsgz.jpg
  21. 二进制
      app/src/main/res/mipmap-xxhdpi/bg_splash_tsgz.png
  22. 2 1
      app/src/main/res/values/colors.xml
  23. 25 0
      app/src/main/res/values/dimens.xml
  24. 33 2
      app/src/main/res/values/styles.xml
  25. 9 0
      base-lib/src/main/java/com/sjkj/base_lib/utils/AppTools.java
  26. 9 3
      base-lib/src/main/res/drawable/shape_fillet_bg_blue.xml

+ 3 - 0
app/src/main/AndroidManifest.xml

@@ -125,6 +125,9 @@
             android:name="com.sjkj.appthreefloor_tsgz.login.ConfigActivity"
             android:name="com.sjkj.appthreefloor_tsgz.login.ConfigActivity"
             android:screenOrientation="portrait" />
             android:screenOrientation="portrait" />
         <activity
         <activity
+            android:name="com.sjkj.appthreefloor_tsgz.activity.GuidePageActivity"
+            android:screenOrientation="portrait" />
+        <activity
             android:name="com.sjkj.appthreefloor_tsgz.activity.MonitoringCenterActivity"
             android:name="com.sjkj.appthreefloor_tsgz.activity.MonitoringCenterActivity"
             android:screenOrientation="portrait" />
             android:screenOrientation="portrait" />
         <activity
         <activity

+ 119 - 0
app/src/main/java/com/sjkj/appthreefloor_tsgz/activity/GuidePageActivity.java

@@ -0,0 +1,119 @@
+package com.sjkj.appthreefloor_tsgz.activity;
+
+import android.content.Intent;
+import android.view.View;
+import android.widget.ImageView;
+
+import androidx.lifecycle.ViewModelProvider;
+import androidx.viewpager.widget.ViewPager;
+
+import com.gyf.immersionbar.ImmersionBar;
+import com.sjkj.appthreefloor_tsgz.R;
+import com.sjkj.appthreefloor_tsgz.activity.viewModel.GuideModel;
+import com.sjkj.appthreefloor_tsgz.adapter.GuideAdapter;
+import com.sjkj.appthreefloor_tsgz.databinding.ActivityGuidepageBinding;
+import com.sjkj.appthreefloor_tsgz.login.LoginActivity;
+import com.sjkj.base_lib.utils.AppTools;
+import com.sjkj.base_lib.view.BaseActivity;
+
+import java.util.ArrayList;
+
+public class GuidePageActivity extends BaseActivity {
+    private GuideModel model;
+    private ActivityGuidepageBinding binding;
+    private int[] mImageIds = new int[]{R.drawable.icon_guide1, R.drawable.icon_guide2};
+    private ArrayList<ImageView> mImageViewList;
+    private int mPaintDis;
+
+    @Override
+    public void initBinding() {
+        binding = (ActivityGuidepageBinding) getViewDataBinding();
+        model = new ViewModelProvider(this, new ViewModelProvider.NewInstanceFactory()).get(GuideModel.class);
+        binding.setLifecycleOwner(this);
+    }
+
+    @Override
+    protected int initLayout() {
+        return R.layout.activity_guidepage;
+    }
+
+    @Override
+    public void initView() {
+        super.initView();
+        ImmersionBar.with(this).init();
+        getTitleLayoutView().setVisibility(View.GONE);
+        getSupportActionBar().setBackgroundDrawable(getResources().getDrawable(R.color.transparent_click));
+        binding.startBtn.setVisibility(View.GONE);
+        mImageViewList = new ArrayList<>();
+        for (int i = 0; i < mImageIds.length; i++) {
+            //创建ImageView把mImgaeViewIds放进去
+            ImageView view = new ImageView(this);
+            view.setBackgroundResource(mImageIds[i]);
+            //添加到ImageView的集合中
+            mImageViewList.add(view);
+
+        }
+        GuideAdapter adapter = new GuideAdapter(mImageViewList);
+        binding.viewPager.setAdapter(adapter);
+
+        binding.tvSkip.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                Intent intent = new Intent(GuidePageActivity.this, LoginActivity.class);
+                startActivity(intent);
+                AppTools.setIsFirstUse(false);
+                finish();
+            }
+        });
+        binding.startBtn.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                Intent intent = new Intent(GuidePageActivity.this, LoginActivity.class);
+                startActivity(intent);
+                AppTools.setIsFirstUse(false);
+                finish();
+            }
+        });
+
+
+        //ViewPager滑动Pager监听
+        binding.viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
+            @Override
+            public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
+
+            }
+
+            /**
+             * 设置按钮最后一页显示,其他页面隐藏
+             * @param position
+             */
+            @Override
+            public void onPageSelected(int position) {
+                if (position == mImageViewList.size() - 1) {
+                    binding.ivRed2.setVisibility(View.VISIBLE);
+                    binding.ivRed1.setVisibility(View.GONE);
+                    binding.startBtn.setVisibility(View.VISIBLE);
+                } else {
+                    binding.ivRed1.setVisibility(View.VISIBLE);
+                    binding.ivRed2.setVisibility(View.GONE);
+                     binding.startBtn.setVisibility(View.GONE);
+                }
+            }
+
+            @Override
+            public void onPageScrollStateChanged(int state) {
+
+            }
+        });
+    }
+
+
+    @Override
+    public void loadData() {
+        super.loadData();
+
+
+    }
+
+
+}

+ 21 - 7
app/src/main/java/com/sjkj/appthreefloor_tsgz/activity/SplashActivity.java

@@ -8,6 +8,7 @@ import android.os.Handler;
 import androidx.annotation.Nullable;
 import androidx.annotation.Nullable;
 import androidx.appcompat.app.AppCompatActivity;
 import androidx.appcompat.app.AppCompatActivity;
 
 
+import com.gyf.immersionbar.ImmersionBar;
 import com.hjq.permissions.OnPermissionCallback;
 import com.hjq.permissions.OnPermissionCallback;
 import com.hjq.permissions.Permission;
 import com.hjq.permissions.Permission;
 import com.hjq.permissions.XXPermissions;
 import com.hjq.permissions.XXPermissions;
@@ -15,6 +16,7 @@ import com.sjkj.appthreefloor_tsgz.R;
 import com.sjkj.appthreefloor_tsgz.login.LoginActivity;
 import com.sjkj.appthreefloor_tsgz.login.LoginActivity;
 import com.sjkj.base_lib.permission.PermissionInterceptor;
 import com.sjkj.base_lib.permission.PermissionInterceptor;
 import com.sjkj.base_lib.permission.PermissionNameConvert;
 import com.sjkj.base_lib.permission.PermissionNameConvert;
+import com.sjkj.base_lib.utils.AppTools;
 import com.sjkj.base_lib.utils.ToastUtils;
 import com.sjkj.base_lib.utils.ToastUtils;
 
 
 import java.util.ArrayList;
 import java.util.ArrayList;
@@ -24,6 +26,8 @@ public class SplashActivity extends AppCompatActivity {
     private List<String> permissions = new ArrayList<>();
     private List<String> permissions = new ArrayList<>();
     private Handler handler = new Handler();
     private Handler handler = new Handler();
     private boolean isFirst = true;
     private boolean isFirst = true;
+    //是否是第一次使用
+    private boolean isFirstUse;
     private Runnable runnable = new Runnable() {
     private Runnable runnable = new Runnable() {
         @Override
         @Override
         public void run() {
         public void run() {
@@ -35,12 +39,17 @@ public class SplashActivity extends AppCompatActivity {
                         @Override
                         @Override
                         public void onGranted(List<String> permissions, boolean allGranted) {
                         public void onGranted(List<String> permissions, boolean allGranted) {
                             if (allGranted) {
                             if (allGranted) {
-                                ToastUtils.show(String.format(getString(R.string.demo_obtain_permission_success_hint), PermissionNameConvert.getPermissionString(SplashActivity.this, permissions)));
-                                Intent intent = new Intent(SplashActivity.this, LoginActivity.class);
-                                startActivity(intent);
+
+                                if (AppTools.getIsFirstUse()) {
+                                    startActivity(new Intent(SplashActivity.this, GuidePageActivity.class));
+                                } else {
+                                   // ToastUtils.show(String.format(getString(R.string.demo_obtain_permission_success_hint), PermissionNameConvert.getPermissionString(SplashActivity.this, permissions)));
+                                    Intent intent = new Intent(SplashActivity.this, LoginActivity.class);
+                                    startActivity(intent);
+                                }
                                 finish();
                                 finish();
                             } else {
                             } else {
-                                jumpPermissionPage();
+                                ToastUtils.show("获取部分权限成功,但部分权限未正常授予");
                             }
                             }
 
 
 
 
@@ -50,10 +59,10 @@ public class SplashActivity extends AppCompatActivity {
                         public void onDenied(List<String> permissions, boolean never) {
                         public void onDenied(List<String> permissions, boolean never) {
                             if (never) {
                             if (never) {
                                 ToastUtils.show("被永久拒绝授权,请手动授予权限");
                                 ToastUtils.show("被永久拒绝授权,请手动授予权限");
-                                jumpPermissionPage();
+                                //jumpPermissionPage();
                             } else {
                             } else {
                                 ToastUtils.show("获取权限失败");
                                 ToastUtils.show("获取权限失败");
-                                jumpPermissionPage();
+                                // jumpPermissionPage();
                             }
                             }
                         }
                         }
                     });
                     });
@@ -74,7 +83,10 @@ public class SplashActivity extends AppCompatActivity {
     protected void onCreate(@Nullable Bundle savedInstanceState) {
     protected void onCreate(@Nullable Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_splash);
         setContentView(R.layout.activity_splash);
-
+        ImmersionBar.with(SplashActivity.this)
+                .fitsSystemWindows(true)  //使用该属性,必须指定状态栏颜色
+                .statusBarDarkFont(true, 0.2f)
+                .init();
         permissions.add(Permission.CAMERA);
         permissions.add(Permission.CAMERA);
         permissions.add(Permission.CALL_PHONE);
         permissions.add(Permission.CALL_PHONE);
         permissions.add(Permission.ACCESS_COARSE_LOCATION);
         permissions.add(Permission.ACCESS_COARSE_LOCATION);
@@ -88,6 +100,8 @@ public class SplashActivity extends AppCompatActivity {
             permissions.add(Permission.READ_EXTERNAL_STORAGE);
             permissions.add(Permission.READ_EXTERNAL_STORAGE);
         }
         }
         handler.postDelayed(runnable, 2000);
         handler.postDelayed(runnable, 2000);
+
+
     }
     }
 
 
     @Override
     @Override

+ 16 - 0
app/src/main/java/com/sjkj/appthreefloor_tsgz/activity/viewModel/GuideModel.java

@@ -0,0 +1,16 @@
+package com.sjkj.appthreefloor_tsgz.activity.viewModel;
+
+import android.annotation.SuppressLint;
+import android.app.Activity;
+import android.webkit.WebView;
+
+import com.sjkj.base_lib.vm.BaseViewModel;
+
+public class GuideModel extends BaseViewModel {
+
+    @SuppressLint("JavascriptInterface")
+    protected void initWebView(Activity activity, WebView view) {
+
+
+    }
+}

+ 43 - 0
app/src/main/java/com/sjkj/appthreefloor_tsgz/adapter/GuideAdapter.java

@@ -0,0 +1,43 @@
+package com.sjkj.appthreefloor_tsgz.adapter;
+
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ImageView;
+
+import androidx.viewpager.widget.PagerAdapter;
+
+import java.util.ArrayList;
+
+public class GuideAdapter extends PagerAdapter {
+
+    private ArrayList<ImageView> mImageViewList;
+
+    public GuideAdapter(ArrayList<ImageView> mImageViewList) {
+        this.mImageViewList = mImageViewList;
+    }
+
+    //item的个数
+    @Override
+    public int getCount() {
+        return mImageViewList.size();
+    }
+
+    @Override
+    public boolean isViewFromObject(View view, Object object) {
+        return view == object;
+    }
+
+    //初始化item布局
+    @Override
+    public Object instantiateItem(ViewGroup container, int position) {
+        ImageView view = mImageViewList.get(position);
+        container.addView(view);
+        return view;
+    }
+
+    //销毁item
+    @Override
+    public void destroyItem(ViewGroup container, int position, Object object) {
+        container.removeView((View) object);
+    }
+}

+ 7 - 6
app/src/main/java/com/sjkj/appthreefloor_tsgz/login/LoginActivity.java

@@ -3,22 +3,20 @@ package com.sjkj.appthreefloor_tsgz.login;
 import android.content.Intent;
 import android.content.Intent;
 import android.os.Handler;
 import android.os.Handler;
 import android.text.TextUtils;
 import android.text.TextUtils;
-import android.util.Log;
 import android.view.View;
 import android.view.View;
+import android.view.ViewGroup;
 
 
 import androidx.lifecycle.ViewModelProvider;
 import androidx.lifecycle.ViewModelProvider;
 
 
+import com.gyf.immersionbar.ImmersionBar;
 import com.sjkj.appthreefloor_tsgz.BuildConfig;
 import com.sjkj.appthreefloor_tsgz.BuildConfig;
 import com.sjkj.appthreefloor_tsgz.R;
 import com.sjkj.appthreefloor_tsgz.R;
 import com.sjkj.appthreefloor_tsgz.activity.MainActivity;
 import com.sjkj.appthreefloor_tsgz.activity.MainActivity;
 import com.sjkj.appthreefloor_tsgz.app.App;
 import com.sjkj.appthreefloor_tsgz.app.App;
 import com.sjkj.appthreefloor_tsgz.bean.LogInRsaBean;
 import com.sjkj.appthreefloor_tsgz.bean.LogInRsaBean;
-import com.sjkj.appthreefloor_tsgz.bean.LoginBean;
-import com.sjkj.appthreefloor_tsgz.bean.MenuMainItemBean;
 import com.sjkj.appthreefloor_tsgz.databinding.ActivityLoginBinding;
 import com.sjkj.appthreefloor_tsgz.databinding.ActivityLoginBinding;
 import com.sjkj.appthreefloor_tsgz.net.LoginGetKeyRequest;
 import com.sjkj.appthreefloor_tsgz.net.LoginGetKeyRequest;
 import com.sjkj.appthreefloor_tsgz.net.LoginRequest;
 import com.sjkj.appthreefloor_tsgz.net.LoginRequest;
-import com.sjkj.appthreefloor_tsgz.utils.AppSystemUtils;
 import com.sjkj.appthreefloor_tsgz.utils.LongClickUtils;
 import com.sjkj.appthreefloor_tsgz.utils.LongClickUtils;
 import com.sjkj.appthreefloor_tsgz.utils.RSAUtils;
 import com.sjkj.appthreefloor_tsgz.utils.RSAUtils;
 import com.sjkj.base_lib.app.AppManager;
 import com.sjkj.base_lib.app.AppManager;
@@ -29,8 +27,6 @@ import com.sjkj.base_lib.utils.ToastUtils;
 import com.sjkj.base_lib.view.BaseLoginActivity;
 import com.sjkj.base_lib.view.BaseLoginActivity;
 import com.sjkj.base_lib.weight.LoadingDialog;
 import com.sjkj.base_lib.weight.LoadingDialog;
 
 
-import java.util.ArrayList;
-
 public class LoginActivity extends BaseLoginActivity {
 public class LoginActivity extends BaseLoginActivity {
 
 
     private ActivityLoginBinding binding;
     private ActivityLoginBinding binding;
@@ -56,6 +52,11 @@ public class LoginActivity extends BaseLoginActivity {
     @Override
     @Override
     public void initView() {
     public void initView() {
         super.initView();
         super.initView();
+        ImmersionBar.with(this).titleBar(binding.toolbar)
+                .init();
+        ViewGroup.LayoutParams params = binding.toolbar.getLayoutParams();
+        params.height = ImmersionBar.getStatusBarHeight(this);
+        binding.toolbar.setLayoutParams(params);
         binding.configTv.setVisibility(BuildConfig.DEBUG ? View.VISIBLE : View.INVISIBLE);
         binding.configTv.setVisibility(BuildConfig.DEBUG ? View.VISIBLE : View.INVISIBLE);
         if (BuildConfig.DEBUG) {
         if (BuildConfig.DEBUG) {
             binding.configTv.setOnClickListener(new View.OnClickListener() {
             binding.configTv.setOnClickListener(new View.OnClickListener() {

二进制
app/src/main/res/drawable-xxhdpi/icon_guide1.png


二进制
app/src/main/res/drawable-xxhdpi/icon_guide2.png


二进制
app/src/main/res/drawable-xxhdpi/icon_loginbg.png


二进制
app/src/main/res/drawable-xxhdpi/icon_password_small.png


二进制
app/src/main/res/drawable-xxhdpi/icon_username_account_small.png


+ 9 - 0
app/src/main/res/drawable/bg_login.xml

@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+    <solid android:color="#F4F5F9"/> <!-- 背景颜色 -->
+    <corners
+        android:topLeftRadius="50dp"
+        android:topRightRadius="50dp"
+        android:bottomLeftRadius="50dp"
+        android:bottomRightRadius="50dp"/>
+</shape>

+ 5 - 0
app/src/main/res/drawable/gp_indicator_drawable.xml

@@ -0,0 +1,5 @@
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="oval">
+    <solid
+        android:color="@color/gp_indicator_color"/>
+</shape>

+ 7 - 0
app/src/main/res/drawable/gp_skip_background.xml

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="rectangle">
+    <corners android:radius="30dp"/>
+    <solid android:color="#3396D8FF"/>
+    <stroke android:color="#50B7F3" android:width="1dp"/>
+</shape>

+ 8 - 0
app/src/main/res/drawable/shape_point1.xml

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="oval">
+    <solid android:color="#969696" />
+    <size
+        android:width="5dp"
+        android:height="5dp" />
+</shape>

+ 9 - 0
app/src/main/res/drawable/shape_point2.xml

@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+    <solid android:color="#969696" />
+    <size
+        android:width="20dp"
+        android:height="5dp" />
+    <!-- 边角圆弧的半径 -->
+    <corners android:radius="10dp" />
+</shape>

+ 78 - 0
app/src/main/res/layout/activity_guidepage.xml

@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="utf-8"?>
+<layout xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <data>
+
+        <variable
+            name="viewModel"
+            type="com.sjkj.appthreefloor_tsgz.activity.viewModel.GuideModel" />
+    </data>
+
+    <RelativeLayout
+        android:id="@+id/activity_guide"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent">
+
+        <androidx.viewpager.widget.ViewPager
+            android:id="@+id/view_pager"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent" />
+
+        <TextView
+            android:id="@+id/tvSkip"
+            style="@style/GuidePage.SkipStyle" />
+
+        <Button
+            android:id="@+id/start_btn"
+            android:layout_width="130dp"
+            android:layout_height="40dp"
+            android:layout_alignParentBottom="true"
+            android:layout_centerHorizontal="true"
+            android:layout_marginBottom="100dp"
+            android:background="@drawable/shape_fillet_bg_blue"
+            android:gravity="center"
+            android:text="立即体验"
+            android:textColor="@color/white"
+            android:textSize="14dp"
+            android:visibility="invisible" />
+
+        <LinearLayout
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_alignParentBottom="true"
+            android:layout_centerHorizontal="true"
+            android:layout_marginBottom="60dp">
+
+            <ImageView
+                android:id="@+id/iv_red1"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginRight="5dp"
+                android:background="@drawable/shape_point1" />
+
+            <ImageView
+                android:id="@+id/iv_red"
+                android:layout_width="wrap_content"
+                android:layout_height="5dp"
+                android:background="@drawable/shape_point2" />
+
+            <ImageView
+                android:id="@+id/iv_red2"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="5dp"
+                android:background="@drawable/shape_point1"
+                android:visibility="gone" />
+
+            <LinearLayout
+                android:id="@+id/ll_container"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:orientation="horizontal"></LinearLayout>
+
+
+        </LinearLayout>
+
+
+    </RelativeLayout>
+</layout>

+ 110 - 185
app/src/main/res/layout/activity_login.xml

@@ -15,214 +15,139 @@
         android:orientation="vertical">
         android:orientation="vertical">
 
 
         <androidx.core.widget.NestedScrollView
         <androidx.core.widget.NestedScrollView
+            android:layout_height="match_parent"
             android:layout_width="match_parent"
             android:layout_width="match_parent"
-            android:layout_height="0dp"
-            android:layout_weight="1">
+            android:fillViewport="true">
 
 
             <LinearLayout
             <LinearLayout
+                android:layout_height="match_parent"
                 android:layout_width="match_parent"
                 android:layout_width="match_parent"
-                android:layout_height="wrap_content"
+                android:background="@mipmap/bg_login_siping_tsgz"
                 android:orientation="vertical">
                 android:orientation="vertical">
 
 
-                <View
+                <androidx.appcompat.widget.Toolbar
+                    android:id="@+id/toolbar"
                     android:layout_width="match_parent"
                     android:layout_width="match_parent"
-                    android:layout_height="390dp"
-                    android:background="@mipmap/bg_login_siping_tsgz" />
-
-                <!--            <RelativeLayout-->
-                <!--                android:id="@+id/rl_scan"-->
-                <!--                android:layout_width="30dp"-->
-                <!--                android:layout_height="30dp"-->
-                <!--                android:layout_alignParentRight="true"-->
-                <!--                android:layout_marginStart="10dp"-->
-                <!--                android:layout_marginTop="10dp"-->
-                <!--                android:layout_marginEnd="10dp"-->
-                <!--                android:layout_marginBottom="10dp"-->
-                <!--                android:background="@drawable/ic_scan2"-->
-                <!--                android:visibility="gone">-->
-
-                <!--            </RelativeLayout>-->
-
-                <!--            <View-->
-                <!--                android:id="@+id/view_setting"-->
-                <!--                android:layout_width="30dp"-->
-                <!--                android:layout_height="30dp"-->
-                <!--                android:layout_alignParentRight="true"-->
-                <!--                android:layout_centerVertical="true"-->
-                <!--                android:background="@null" />-->
-
-                <!--        </View>-->
-
-                <LinearLayout
-                    android:layout_width="match_parent"
-                    android:layout_height="match_parent"
-                    android:orientation="vertical"
-                    android:padding="30dp">
+                    android:layout_height="?actionBarSize"
+                    android:fitsSystemWindows="true"
+                    android:gravity="center_horizontal">
 
 
-                    <TextView
-                        android:id="@+id/username_tv"
-                        android:layout_width="wrap_content"
-                        android:layout_height="wrap_content"
-                        android:layout_marginLeft="15dp"
-                        android:layout_marginTop="15dp"
-                        android:text="用户名"
-                        android:textColor="@color/color_black_text"
-                        android:textSize="12dp" />
 
 
-                    <LinearLayout
-                        android:layout_width="match_parent"
-                        android:layout_height="wrap_content"
-                        android:layout_marginTop="8dp"
-                        android:gravity="center_vertical"
-                        android:orientation="horizontal">
+                </androidx.appcompat.widget.Toolbar>
 
 
-                        <EditText
-                            android:id="@+id/userName_et"
-                            android:layout_width="match_parent"
-                            android:layout_height="wrap_content"
-                            android:background="@null"
-                            android:drawableLeft="@drawable/icon_username_account_small"
-                            android:drawablePadding="15dp"
-                            android:hint="请输入用户名"
-                            android:inputType="textNoSuggestions"
-                            android:padding="15dp"
-                            android:text="@={viewModel.username}"
-                            android:textColor="@color/color_gray_text"
-                            android:textColorHint="@color/color_gray_text"
-                            android:textSize="12dp"
-                            tools:ignore="TouchTargetSizeCheck" />
-
-                    </LinearLayout>
 
 
-                    <View
-                        style="@style/gray_line"
-                        android:layout_marginTop="8dp" />
-
-                    <TextView
-                        android:id="@+id/password_tv"
-                        android:layout_width="wrap_content"
-                        android:layout_height="wrap_content"
-                        android:layout_marginLeft="15dp"
-                        android:layout_marginTop="15dp"
-                        android:text="密码"
-                        android:textColor="@color/color_black_text"
-                        android:textSize="12dp" />
+                <RelativeLayout
+                    android:layout_height="match_parent"
+                    android:layout_width="match_parent"
+                    android:layout_marginTop="50dp">
 
 
                     <LinearLayout
                     <LinearLayout
                         android:layout_width="match_parent"
                         android:layout_width="match_parent"
-                        android:layout_height="wrap_content"
-                        android:layout_marginTop="8dp"
-                        android:gravity="center_vertical"
-                        android:orientation="horizontal">
+                        android:layout_marginLeft="15dp"
+                        android:layout_marginRight="15dp"
+                        android:layout_height="480dp"
+                        android:layout_centerInParent="true"
+                        android:background="@drawable/icon_loginbg"
+                        android:orientation="vertical">
 
 
 
 
-                        <EditText
-                            android:id="@+id/userPassword_et"
+                        <LinearLayout
                             android:layout_width="match_parent"
                             android:layout_width="match_parent"
                             android:layout_height="wrap_content"
                             android:layout_height="wrap_content"
-                            android:background="@null"
-                            android:drawableLeft="@drawable/icon_password_small"
-                            android:drawablePadding="15dp"
-                            android:hint="请输入6-16密码"
-                            android:inputType="textPassword"
-                            android:padding="15dp"
-                            android:text="@={viewModel.password}"
-                            android:textColor="@color/color_gray_text"
-                            android:textColorHint="@color/color_gray_text"
-                            android:textSize="12dp"
-                            tools:ignore="TouchTargetSizeCheck" />
+                            android:layout_marginTop="140dp"
+                            android:gravity="center_vertical"
+                            android:orientation="horizontal">
+
+                            <EditText
+                                android:id="@+id/userName_et"
+                                android:layout_width="match_parent"
+                                android:layout_height="wrap_content"
+                                android:layout_marginLeft="15dp"
+                                android:layout_marginRight="15dp"
+                                android:background="@drawable/bg_login"
+                                android:drawableLeft="@drawable/icon_username_account_small"
+                                android:drawablePadding="15dp"
+                                android:hint="请输入账号"
+                                android:inputType="textNoSuggestions"
+                                android:paddingLeft="20dp"
+                                android:paddingTop="15dp"
+                                android:paddingBottom="15dp"
+                                android:text="@={viewModel.username}"
+                                android:textColor="#97989A"
+                                android:textColorHint="#97989A"
+                                android:textSize="14dp"
+                                tools:ignore="TouchTargetSizeCheck" />
+
+                        </LinearLayout>
+
+
+                        <LinearLayout
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:layout_marginTop="20dp"
+                            android:gravity="center_vertical"
+                            android:orientation="horizontal">
+
+
+                            <EditText
+                                android:id="@+id/userPassword_et"
+                                android:layout_width="match_parent"
+                                android:layout_height="wrap_content"
+                                android:layout_marginLeft="15dp"
+                                android:layout_marginRight="15dp"
+                                android:background="@drawable/bg_login"
+                                android:drawableLeft="@drawable/icon_password_small"
+                                android:drawablePadding="15dp"
+                                android:hint="请输入密码"
+                                android:inputType="textPassword"
+                                android:paddingLeft="20dp"
+                                android:paddingTop="15dp"
+                                android:paddingBottom="15dp"
+                                android:text="@={viewModel.password}"
+                                android:textColor="#97989A"
+                                android:textColorHint="#97989A"
+                                android:textSize="14dp"
+                                tools:ignore="TouchTargetSizeCheck" />
+
+                        </LinearLayout>
+
+
+                        <TextView
+                            android:id="@+id/config_tv"
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_gravity="right"
+                            android:layout_marginTop="10dp"
+                            android:layout_marginRight="20dp"
+                            android:drawableLeft="@drawable/icon_setting_small"
+                            android:drawablePadding="5dp"
+                            android:text="配置"
+                            android:textColor="#8a8a8a"
+                            android:textSize="12dp" />
+
+
+                        <TextView
+                            android:id="@+id/submit"
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:layout_marginLeft="22dp"
+                            android:layout_marginTop="50dp"
+                            android:layout_marginRight="22dp"
+                            android:layout_marginBottom="20dp"
+                            android:background="@drawable/shape_fillet_bg_blue"
+                            android:gravity="center"
+                            android:paddingTop="10dp"
+                            android:paddingBottom="10dp"
+                            android:text="登录"
+                            android:textColor="@color/color_white"
+                            android:textSize="15dp" />
 
 
                     </LinearLayout>
                     </LinearLayout>
+                </RelativeLayout>
 
 
-                    <View
-                        style="@style/gray_line"
-                        android:layout_marginTop="8dp" />
-
-                    <!--                    <TextView-->
-                    <!--                        android:id="@+id/forget_pwd_tv"-->
-                    <!--                        android:layout_width="wrap_content"-->
-                    <!--                        android:layout_height="wrap_content"-->
-                    <!--                        android:layout_marginTop="10dp"-->
-                    <!--                        android:layout_gravity="right"-->
-                    <!--                        android:drawablePadding="5dp"-->
-                    <!--                        android:text="忘记密码 ?"-->
-                    <!--                        android:textColor="#8a8a8a"-->
-                    <!--                        android:textSize="12dp"/>-->
-=======
-<!--                    <TextView-->
-<!--                        android:id="@+id/forget_pwd_tv"-->
-<!--                        android:layout_width="wrap_content"-->
-<!--                        android:layout_height="wrap_content"-->
-<!--                        android:layout_marginTop="10dp"-->
-<!--                        android:layout_gravity="right"-->
-<!--                        android:drawablePadding="5dp"-->
-<!--                        android:text="忘记密码 ?"-->
-<!--                        android:textColor="#8a8a8a"-->
-<!--                        android:textSize="12dp"/>-->
->>>>>>> 0d1bdea6e8e3fd210d3de0280363f663d60405bc
-
-                    <TextView
-                        android:id="@+id/config_tv"
-                        android:layout_width="wrap_content"
-                        android:layout_height="wrap_content"
-                        android:layout_marginTop="10dp"
-                        android:layout_gravity="right"
-                        android:drawableLeft="@drawable/icon_setting_small"
-                        android:drawablePadding="5dp"
-                        android:text="配置"
-                        android:textColor="#8a8a8a"
-                        android:textSize="12dp" />
-
-                    <View
-                        android:layout_width="match_parent"
-                        android:layout_height="wrap_content"
-                        android:minHeight="300dp" />
-
-                    <!--            <RadioGroup-->
-                    <!--                android:id="@+id/radioGroup"-->
-                    <!--                android:layout_gravity="right"-->
-                    <!--                android:layout_marginTop="10dp"-->
-                    <!--                android:orientation="vertical"-->
-                    <!--                android:layout_width="wrap_content"-->
-                    <!--                android:layout_height="wrap_content">-->
-                    <!--                <RadioButton-->
-                    <!--                    android:id="@+id/radio_01"-->
-                    <!--                    android:text="航管局身份"-->
-                    <!--                    android:checked="false"-->
-                    <!--                    android:textColor="@color/color_black_text"-->
-                    <!--                    android:textSize="12dp"-->
-                    <!--                    android:layout_width="wrap_content"-->
-                    <!--                    android:layout_height="wrap_content"/>-->
-                    <!--                <RadioButton-->
-                    <!--                    android:id="@+id/radio_02"-->
-                    <!--                    android:text="领导身份"-->
-                    <!--                    android:checked="false"-->
-                    <!--                    android:textColor="@color/color_black_text"-->
-                    <!--                    android:textSize="12dp"-->
-                    <!--                    android:layout_width="wrap_content"-->
-                    <!--                    android:layout_height="wrap_content"/>-->
-                    <!--            </RadioGroup>-->
-
-
-                </LinearLayout>
             </LinearLayout>
             </LinearLayout>
         </androidx.core.widget.NestedScrollView>
         </androidx.core.widget.NestedScrollView>
 
 
-        <TextView
-            android:id="@+id/submit"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:layout_gravity="bottom"
-            android:layout_marginLeft="22dp"
-            android:layout_marginTop="10dp"
-            android:layout_marginRight="22dp"
-            android:layout_marginBottom="20dp"
-            android:background="@drawable/shape_fillet_bg_blue"
-            android:gravity="center"
-            android:paddingTop="10dp"
-            android:paddingBottom="10dp"
-            android:text="登录"
-            android:textColor="@color/color_white"
-            android:textSize="15dp" />
+
     </LinearLayout>
     </LinearLayout>
 </layout>
 </layout>

二进制
app/src/main/res/mipmap-xxhdpi/bg_login_siping_tsgz.png


二进制
app/src/main/res/mipmap-xxhdpi/bg_splash_tsgz.jpg


二进制
app/src/main/res/mipmap-xxhdpi/bg_splash_tsgz.png


+ 2 - 1
app/src/main/res/values/colors.xml

@@ -70,5 +70,6 @@
     <color name="event_tab_color">#202022</color>
     <color name="event_tab_color">#202022</color>
     <color name="recyclerview_left_select">#F7F7F7</color>
     <color name="recyclerview_left_select">#F7F7F7</color>
     <color name="recyclerview_lefttext_select">#4D4D4D</color>
     <color name="recyclerview_lefttext_select">#4D4D4D</color>
-
+    <color name="gp_indicator_color">#969696</color>
+    <color name="gp_skip_background">#3F000000</color>
 </resources>
 </resources>

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

@@ -3,4 +3,29 @@
     <dimen name="shifting_height_top_padding_active" tools:override="true">70dp</dimen>
     <dimen name="shifting_height_top_padding_active" tools:override="true">70dp</dimen>
 
 
     <dimen name="toolbar_padding_top">0dp</dimen>
     <dimen name="toolbar_padding_top">0dp</dimen>
+    <!-- Indicator相关配置,如果dimens相关满足不了需求,请通过覆盖的方式使用styles中的GuidePage.DoneStyle配置来自定义 -->
+    <dimen name="gp_indicator_marginLeft">16dp</dimen>
+    <dimen name="gp_indicator_marginTop">16dp</dimen>
+    <dimen name="gp_indicator_marginRight">16dp</dimen>
+    <dimen name="gp_indicator_marginBottom">60dp</dimen>
+
+    <!-- Done相关配置,如果dimens相关满足不了需求,请通过覆盖的方式使用styles中的GuidePage.DoneStyle配置来自定义 -->
+    <dimen name="gp_done_marginLeft">16dp</dimen>
+    <dimen name="gp_done_marginTop">90dp</dimen>
+    <dimen name="gp_done_margiRight">16dp</dimen>
+    <dimen name="gp_done_marginBottom">90dp</dimen>
+
+    <!-- Skip相关配置,如果dimens相关满足不了需求,请通过覆盖的方式使用styles中的GuidePage.SkipStyle配置来自定义 -->
+    <dimen name="gp_skip_marginLeft">16dp</dimen>
+    <dimen name="gp_skip_marginTop">30dp</dimen>
+    <dimen name="gp_skip_margiRight">16dp</dimen>
+    <dimen name="gp_skip_marginBottom">30dp</dimen>
+
+    <dimen name="gp_skip_paddingLeft">15dp</dimen>
+    <dimen name="gp_skip_paddingTop">6dp</dimen>
+    <dimen name="gp_skip_paddingRight">15dp</dimen>
+    <dimen name="gp_skip_paddingBottom">6dp</dimen>
+
+    <dimen name="gp_skip_textSize">14sp</dimen>
+    <dimen name="gp_skip_background_radius">8dp</dimen>
 </resources>
 </resources>

+ 33 - 2
app/src/main/res/values/styles.xml

@@ -19,9 +19,9 @@
 
 
     <style name="SplashTheme" parent="@style/Theme.AppCompat.Light.NoActionBar">
     <style name="SplashTheme" parent="@style/Theme.AppCompat.Light.NoActionBar">
         <!-- 将splash图片设置在这,这样这张图片取代白屏或黑屏 -->
         <!-- 将splash图片设置在这,这样这张图片取代白屏或黑屏 -->
-        <!--        <item name="android:windowNoTitle">true</item>-->
+<!--                <item name="android:windowNoTitle">true</item>-->
         <!--        <item name="android:windowBackground">@mipmap/bg_splash_tsgz</item>-->
         <!--        <item name="android:windowBackground">@mipmap/bg_splash_tsgz</item>-->
-        <!--        <item name="android:windowFullscreen">true</item>-->
+<!--                <item name="android:windowFullscreen">true</item>-->
         <item name="android:windowBackground">@mipmap/bg_splash_tsgz</item>
         <item name="android:windowBackground">@mipmap/bg_splash_tsgz</item>
 
 
     </style>
     </style>
@@ -204,4 +204,35 @@
         <item name="android:textAlignment">gravity</item>
         <item name="android:textAlignment">gravity</item>
     </style>
     </style>
 
 
+    <style name="GuidePage.IndicatorStyle" parent="AppTheme">
+        <item name="android:layout_width">match_parent</item>
+        <item name="android:layout_height">wrap_content</item>
+        <item name="android:layout_centerHorizontal">true</item>
+        <item name="android:layout_alignParentBottom">true</item>
+        <item name="android:layout_marginLeft">@dimen/gp_indicator_marginLeft</item>
+        <item name="android:layout_marginTop">@dimen/gp_indicator_marginTop</item>
+        <item name="android:layout_marginRight">@dimen/gp_indicator_marginRight</item>
+        <item name="android:layout_marginBottom">@dimen/gp_indicator_marginBottom</item>
+    </style>
+
+    <style name="GuidePage.SkipStyle"  parent="AppTheme">
+        <item name="android:layout_width">wrap_content</item>
+        <item name="android:layout_height">wrap_content</item>
+        <item name="android:text">跳过</item>
+        <item name="android:background">@drawable/gp_skip_background</item>
+        <item name="android:layout_alignParentRight">true</item>
+        <item name="android:paddingLeft">@dimen/gp_skip_paddingLeft</item>
+        <item name="android:paddingTop">@dimen/gp_skip_paddingTop</item>
+        <item name="android:paddingRight">@dimen/gp_skip_paddingRight</item>
+        <item name="android:paddingBottom">@dimen/gp_skip_paddingBottom</item>
+        <item name="android:layout_marginLeft">@dimen/gp_skip_marginLeft</item>
+        <item name="android:layout_marginTop">@dimen/gp_skip_marginTop</item>
+        <item name="android:layout_marginRight">@dimen/gp_skip_margiRight</item>
+        <item name="android:layout_marginBottom">@dimen/gp_skip_marginBottom</item>
+        <item name="android:textAppearance">@style/GuidePage.SkipTextAppearance</item>
+    </style>
+    <style name="GuidePage.SkipTextAppearance"  parent="TextAppearance.AppCompat">
+        <item name="android:textSize">@dimen/gp_skip_textSize</item>
+        <item name="android:textColor">#53C0FF</item>
+    </style>
 </resources>
 </resources>

+ 9 - 0
base-lib/src/main/java/com/sjkj/base_lib/utils/AppTools.java

@@ -675,4 +675,13 @@ public class AppTools {
     public static boolean isGhb() {
     public static boolean isGhb() {
         return mmkv.decodeBool("isGhb", false);
         return mmkv.decodeBool("isGhb", false);
     }
     }
+
+
+    public static void setIsFirstUse(boolean isFirstUse) {
+        mmkv.encode("isFirstUse", isFirstUse);
+    }
+
+    public static boolean getIsFirstUse() {
+        return mmkv.decodeBool("isFirstUse", true);
+    }
 }
 }

+ 9 - 3
base-lib/src/main/res/drawable/shape_fillet_bg_blue.xml

@@ -1,5 +1,11 @@
 <?xml version="1.0" encoding="utf-8"?>
 <?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android">
-    <solid android:color="@color/color_blue" />
-    <corners android:radius="28dp" />
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="rectangle">
+    <corners android:radius="50dp" />
+    <gradient
+        android:angle="45"
+        android:startColor="#52BAF3"
+        android:endColor="#2E6FFF"
+
+        android:type="linear" />
 </shape>
 </shape>