From 25b98735c5c0cbe40a07ae91a9fb2b204d9166b7 Mon Sep 17 00:00:00 2001
From: Linjiajia <319408893@qq.com>
Date: 星期一, 20 三月 2023 22:30:08 +0800
Subject: [PATCH] 登录和家大事记

---
 app/src/main/res/drawable-xhdpi/ic_personal_center_selected.png                                                |    0 
 app/src/main/res/drawable/shape_ffd9d9d9_8_stroke.xml                                                          |    5 
 app_base/src/main/java/com/android/app_base/base/adapter/BaseRVAdapter.java                                    |   33 
 app/src/main/res/drawable-xhdpi/ic_function_selected.png                                                       |    0 
 app/src/main/res/drawable-xhdpi/img_lotus.png                                                                  |    0 
 app/src/main/res/drawable/selector_bottom_navigation_home.xml                                                  |    8 
 app/src/main/res/layout/fragment_function.xml                                                                  |  548 +++++++++++
 app/src/main/res/drawable-xhdpi/ic_personal_center_default.png                                                 |    0 
 app/src/main/java/com/application/zhangshi_app_android/ui/personal_center/PersonalCenterFragment.java          |    2 
 app/src/main/res/drawable-xhdpi/ic_password_invisable.png                                                      |    0 
 app/src/main/java/com/application/zhangshi_app_android/ui/login/LoginActivity.java                             |   63 +
 .idea/misc.xml                                                                                                 |    7 
 app/src/main/res/drawable-xhdpi/ic_home_selected.png                                                           |    0 
 app_base/src/main/res/values-sw1440dp/dimens.xml                                                               |  419 ++++++++
 app/src/main/res/layout/activity_main.xml                                                                      |    2 
 app_base/src/main/res/values/arrts.xml                                                                         |   12 
 app/src/main/res/drawable-xhdpi/ic_home_default.png                                                            |    0 
 app/src/main/res/drawable-xxhdpi/ic_personal_center_default.png                                                |    0 
 app/src/main/res/drawable/shape_ff093878_10_solid.xml                                                          |    5 
 app/build.gradle                                                                                               |    5 
 app/src/main/res/drawable/selector_bottom_navigation_personal_center.xml                                       |    8 
 app/src/main/java/com/application/zhangshi_app_android/ui/main/MainActivity.java                               |   27 
 app_base/src/main/java/com/android/app_base/widget/CustomScrollView.java                                       |   67 +
 app/src/main/java/com/application/zhangshi_app_android/ui/home/HomeFragmentViewModel.java                      |    2 
 app/src/main/res/drawable-xxhdpi/bg_login_home.png                                                             |    0 
 app/src/main/res/drawable-xxhdpi/img_sakura.png                                                                |    0 
 app_base/src/main/java/com/android/app_base/base/adapter/BaseVp2FragmentAdapter.java                           |   21 
 app/src/main/res/drawable-xxhdpi/ic_home_selected.png                                                          |    0 
 app_base/src/main/res/values-sw360dp/dimens.xml                                                                |  419 ++++++++
 app/src/main/res/drawable-xxhdpi/ic_function_default.png                                                       |    0 
 app/src/main/res/layout/activity_login.xml                                                                     |  208 ++++
 app_base/src/main/java/com/android/app_base/widget/LinearItemDecoration.java                                   |  100 ++
 app_base/src/main/java/com/android/app_base/utils/ScreenSizeUtils.java                                         |   55 +
 app/src/main/java/com/application/zhangshi_app_android/adapter/FamilyMemorabiliaRvAdapter.java                 |  102 ++
 app/src/main/java/com/application/zhangshi_app_android/ui/function/FamilyMemorabiliaActivityViewModel.java     |   25 
 app/src/main/res/drawable-xxhdpi/ic_play.png                                                                   |    0 
 app/src/main/res/drawable-xxhdpi/img_lotus.png                                                                 |    0 
 app/src/main/res/layout/fragment_personal_center.xml                                                           |    2 
 screenMatch.properties                                                                                         |    2 
 app/src/main/res/drawable-xxhdpi/bg_login_zhang.png                                                            |    0 
 app/src/main/res/drawable-xhdpi/ic_function_default.png                                                        |    0 
 app_base/build.gradle                                                                                          |    4 
 app/src/main/res/values/colors.xml                                                                             |    5 
 app/src/main/res/drawable-xhdpi/bg_login_home.png                                                              |    0 
 app/src/main/java/com/application/zhangshi_app_android/ui/login/LoginActivityViewModel.java                    |   24 
 app/src/main/res/layout/activity_family_memorabilia.xml                                                        |   86 +
 build.gradle                                                                                                   |   10 
 app/src/main/res/drawable-xxhdpi/ic_modify.png                                                                 |    0 
 app/src/main/res/drawable-xxhdpi/ic_personal_center_selected.png                                               |    0 
 app/src/main/java/com/application/zhangshi_app_android/bean/FamilyMemorabiliaBean.java                         |    9 
 app/src/main/res/drawable-xhdpi/bg_login_zhang.png                                                             |    0 
 app/src/main/res/drawable/selector_bottom_navigation_function.xml                                              |    8 
 app/src/main/res/drawable-xxhdpi/ic_password_invisable.png                                                     |    0 
 app/src/main/res/drawable-xxhdpi/ic_delete.png                                                                 |    0 
 app/src/main/res/drawable-xhdpi/ic_delete.png                                                                  |    0 
 app/src/main/java/com/application/zhangshi_app_android/ui/main/MainViewModel.java                              |    2 
 app/src/main/java/com/application/zhangshi_app_android/ui/personal_center/PersonalCenterFragmentViewModel.java |    2 
 app/src/main/res/layout/item_family_memorabilia.xml                                                            |  283 ++++++
 app/src/main/AndroidManifest.xml                                                                               |   32 
 app/src/main/java/com/application/zhangshi_app_android/ui/home/HomeFragment.java                               |    2 
 .idea/deploymentTargetDropDown.xml                                                                             |   17 
 app/src/main/res/layout/fragment_home.xml                                                                      |    2 
 app/src/main/res/drawable-xhdpi/ic_play.png                                                                    |    0 
 app_base/src/main/java/com/android/app_base/widget/CustomTextView.java                                         |   89 +
 app/src/main/java/com/application/zhangshi_app_android/ui/function/FunctionFragment.java                       |   13 
 app/src/main/java/com/application/zhangshi_app_android/ui/function/FunctionFragmentViewModel.java              |    2 
 app_base/src/main/java/com/android/app_base/base/view/BaseActivity.java                                        |   11 
 app/src/main/java/com/application/zhangshi_app_android/ui/function/FamilyMemorabiliaActivity.java              |   58 +
 app/src/main/res/drawable-xxhdpi/ic_home_default.png                                                           |    0 
 app/src/main/res/drawable-xxhdpi/ic_function_selected.png                                                      |    0 
 app/src/main/res/drawable-xhdpi/ic_modify.png                                                                  |    0 
 app/src/main/res/drawable-xhdpi/img_sakura.png                                                                 |    0 
 72 files changed, 2,695 insertions(+), 111 deletions(-)

diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml
new file mode 100644
index 0000000..cb74abd
--- /dev/null
+++ b/.idea/deploymentTargetDropDown.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="deploymentTargetDropDown">
+    <targetSelectedWithDropDown>
+      <Target>
+        <type value="QUICK_BOOT_TARGET" />
+        <deviceKey>
+          <Key>
+            <type value="VIRTUAL_DEVICE_PATH" />
+            <value value="D:\software\Android\.android\avd\Pixel_5_API_30.avd" />
+          </Key>
+        </deviceKey>
+      </Target>
+    </targetSelectedWithDropDown>
+    <timeTargetWasSelectedWithDropDown value="2023-03-20T10:41:31.976173300Z" />
+  </component>
+</project>
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 360e6d4..5895a79 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -7,4 +7,11 @@
   <component name="ProjectType">
     <option name="id" value="Android" />
   </component>
+  <component name="VisualizationToolProject">
+    <option name="state">
+      <ProjectState>
+        <option name="scale" value="0.152" />
+      </ProjectState>
+    </option>
+  </component>
 </project>
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index ce2e22b..c75ca12 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -41,6 +41,7 @@
     }
     buildFeatures{
         dataBinding = true
+        viewBinding true
     }
     compileOptions {
         sourceCompatibility JavaVersion.VERSION_1_8
@@ -52,6 +53,10 @@
 
     implementation 'androidx.appcompat:appcompat:1.6.1'
     implementation 'com.google.android.material:material:1.8.0'
+    implementation 'androidx.constraintlayout:constraintlayout:2.1.3'
+    implementation 'androidx.annotation:annotation:1.3.0'
+    implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.4.1'
+    implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.4.1'
     testImplementation 'junit:junit:4.13.2'
     androidTestImplementation 'androidx.test.ext:junit:1.1.5'
     androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 5934f9e..cf9de1b 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="utf-8"?>
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:tools="http://schemas.android.com/tools">
-    <uses-permission android:name="android.permission.INTERNET" />
 
+    <uses-permission android:name="android.permission.INTERNET" />
 
     <application
         android:name=".MyApplication"
@@ -11,36 +11,42 @@
         android:fullBackupContent="@xml/backup_rules"
         android:icon="@mipmap/ic_launcher"
         android:label="@string/app_name"
+        android:maxAspectRatio="2.4"
+        android:networkSecurityConfig="@xml/network_security_config"
+        android:resizeableActivity="true"
         android:supportsRtl="true"
         android:theme="@style/Theme.Zhangshi_app_android"
         android:usesCleartextTraffic="true"
-        android:networkSecurityConfig="@xml/network_security_config"
-        android:resizeableActivity="true"
-        android:maxAspectRatio="2.4"
-        tools:targetApi="31" >
-
-        <!--娌夋蹈寮忕姸鎬佹爮鍏ㄩ潰灞�-->
+        tools:targetApi="31">
+        <!-- 娌夋蹈寮忕姸鎬佹爮鍏ㄩ潰灞� -->
         <meta-data
             android:name="android.max_aspect"
-            android:value="2.4" />
-        <!--閫傞厤鍗庝负锛坔uawei锛夊垬娴峰睆-->
+            android:value="2.4" /> <!-- 閫傞厤鍗庝负锛坔uawei锛夊垬娴峰睆 -->
         <meta-data
             android:name="android.notch_support"
-            android:value="true"/>
-        <!--閫傞厤灏忕背锛坸iaomi锛夊垬娴峰睆-->
+            android:value="true" /> <!-- 閫傞厤灏忕背锛坸iaomi锛夊垬娴峰睆 -->
         <meta-data
             android:name="notch.config"
             android:value="portrait|landscape" />
 
         <activity
-            android:name=".module.main.MainActivity"
+            android:name=".ui.main.MainActivity"
             android:exported="true">
+        </activity>
+        <activity
+            android:name=".ui.login.LoginActivity"
+            android:exported="true"
+            android:screenOrientation="portrait"
+            >
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
+
                 <category android:name="android.intent.category.LAUNCHER" />
             </intent-filter>
         </activity>
+        <activity
+            android:name=".ui.function.FamilyMemorabiliaActivity"
+            android:exported="false" />
     </application>
-
 
 </manifest>
\ No newline at end of file
diff --git a/app/src/main/java/com/application/zhangshi_app_android/adapter/FamilyMemorabiliaRvAdapter.java b/app/src/main/java/com/application/zhangshi_app_android/adapter/FamilyMemorabiliaRvAdapter.java
new file mode 100644
index 0000000..5df1e45
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/adapter/FamilyMemorabiliaRvAdapter.java
@@ -0,0 +1,102 @@
+package com.application.zhangshi_app_android.adapter;
+
+import android.content.Context;
+import android.view.View;
+import android.view.animation.Animation;
+import android.view.animation.Transformation;
+import android.widget.FrameLayout;
+
+import com.android.app_base.base.adapter.BaseRVAdapter;
+import com.application.zhangshi_app_android.R;
+import com.application.zhangshi_app_android.bean.FamilyMemorabiliaBean;
+import com.application.zhangshi_app_android.databinding.ItemFamilyMemorabiliaBinding;
+
+/**
+ * @author Ljj
+ * @date 2023.03.18. 10:27
+ * @desc 瀹跺ぇ浜嬭 recyclerView 鐨� adapter
+ */
+public class FamilyMemorabiliaRvAdapter extends BaseRVAdapter<FamilyMemorabiliaBean, ItemFamilyMemorabiliaBinding, FamilyMemorabiliaRvAdapter.MyViewHolder> {
+    public FamilyMemorabiliaRvAdapter(Context context) {
+        super(context);
+    }
+
+    @Override
+    protected int getLayoutId() {
+        return R.layout.item_family_memorabilia;
+    }
+
+    @Override
+    protected MyViewHolder getViewHolder(ItemFamilyMemorabiliaBinding itemBind) {
+        return new MyViewHolder(itemBind);
+    }
+
+    @Override
+    protected void onBind(MyViewHolder holder, int position) {
+        if (position % 2 != 0){
+            holder.getBinding().cardView.setCardBackgroundColor(mContext.getColor(R.color.color_card_blue));
+        }else {
+            holder.getBinding().cardView.setCardBackgroundColor(mContext.getColor(R.color.color_card_pink));
+        }
+        holder.getBinding().layoutTitle.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                if (holder.isExpended){
+                    int initialHeight = holder.getBinding().cardView.getMeasuredHeight();
+                    int collapsedHeight = holder.getBinding().layoutTitle.getMeasuredHeight();
+                    int distanceToCollapse = (int) (initialHeight - collapsedHeight);
+
+                    Animation a = new Animation() {
+                        @Override
+                        protected void applyTransformation(float interpolatedTime, Transformation t) {
+                            if (interpolatedTime == 1){
+                            }
+                            holder.getBinding().cardView.getLayoutParams().height = (int) (initialHeight - (distanceToCollapse * interpolatedTime));
+                            holder.getBinding().cardView.requestLayout();
+                        }
+
+                        @Override
+                        public boolean willChangeBounds() {
+                            return true;
+                        }
+                    };
+                    a.setDuration(500);
+                    holder.getBinding().cardView.startAnimation(a);
+                    holder.isExpended = false;
+                }else{
+                    final int initialHeight = holder.getBinding().cardView.getMeasuredHeight();
+                    holder.getBinding().cardView.measure(FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.WRAP_CONTENT);
+                    int targetHeight = holder.getBinding().cardView.getMeasuredHeight();
+                    int distanceToExpand = targetHeight - initialHeight;
+                    Animation a = new Animation() {
+                        @Override
+                        protected void applyTransformation(float interpolatedTime, Transformation t) {
+                            if (interpolatedTime == 1){
+                            }
+                            holder.getBinding().cardView.getLayoutParams().height = (int) (initialHeight + (distanceToExpand * interpolatedTime));
+                            holder.getBinding().cardView.requestLayout();
+                        }
+
+                        @Override
+                        public boolean willChangeBounds() {
+                            return true;
+                        }
+                    };
+                    a.setDuration(500);
+                    holder.getBinding().cardView.startAnimation(a);
+                    holder.isExpended = true;
+                }
+            }
+        });
+    }
+
+
+    public static class MyViewHolder extends BaseViewHolder<ItemFamilyMemorabiliaBinding>{
+        private boolean isExpended;
+
+        public MyViewHolder(ItemFamilyMemorabiliaBinding binding) {
+            super(binding);
+        }
+    }
+}
+
diff --git a/app/src/main/java/com/application/zhangshi_app_android/bean/FamilyMemorabiliaBean.java b/app/src/main/java/com/application/zhangshi_app_android/bean/FamilyMemorabiliaBean.java
new file mode 100644
index 0000000..24bd61d
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/bean/FamilyMemorabiliaBean.java
@@ -0,0 +1,9 @@
+package com.application.zhangshi_app_android.bean;
+
+/**
+ * @author Ljj
+ * @date 2023.03.18. 10:29
+ * @desc 瀹跺ぇ浜嬭 bean 绫�
+ */
+public class FamilyMemorabiliaBean {
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/FamilyMemorabiliaActivity.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/FamilyMemorabiliaActivity.java
new file mode 100644
index 0000000..f073c3f
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/FamilyMemorabiliaActivity.java
@@ -0,0 +1,58 @@
+package com.application.zhangshi_app_android.ui.function;
+
+import com.android.app_base.base.view.BaseActivity;
+import com.android.app_base.widget.LinearItemDecoration;
+import com.application.zhangshi_app_android.BR;
+import com.application.zhangshi_app_android.R;
+import com.application.zhangshi_app_android.adapter.FamilyMemorabiliaRvAdapter;
+import com.application.zhangshi_app_android.bean.FamilyMemorabiliaBean;
+import com.application.zhangshi_app_android.databinding.ActivityFamilyMemorabiliaBinding;
+/**
+ * @author Ljj
+ * @date 2023.03.18. 10:00
+ * @desc 瀹跺ぇ浜嬭 Activity
+ */
+public class FamilyMemorabiliaActivity extends BaseActivity<ActivityFamilyMemorabiliaBinding,FamilyMemorabiliaActivityViewModel> {
+
+    FamilyMemorabiliaRvAdapter adapter;
+
+    @Override
+    public int getLayoutId() {
+        return R.layout.activity_family_memorabilia;
+    }
+
+    @Override
+    public int getVariableId() {
+        return BR.viewModel;
+    }
+
+    @Override
+    public void initParam() {
+
+    }
+
+    @Override
+    public void initView() {
+        adapter = new FamilyMemorabiliaRvAdapter(this);
+        LinearItemDecoration itemDecoration = new LinearItemDecoration();
+        itemDecoration.setBottomSpace((int) getResources().getDimension(com.android.app_base.R.dimen.dp_12));
+        itemDecoration.setHorizontalSpace((int) getResources().getDimension(com.android.app_base.R.dimen.dp_20));
+        itemDecoration.setFirstTop((int) getResources().getDimension(com.android.app_base.R.dimen.dp_20));
+        binding.recyclerView.addItemDecoration(itemDecoration);
+        binding.recyclerView.setAdapter(adapter);
+    }
+
+    @Override
+    public void initData() {
+        adapter.addItem(new FamilyMemorabiliaBean());
+        adapter.addItem(new FamilyMemorabiliaBean());
+        adapter.addItem(new FamilyMemorabiliaBean());
+        adapter.addItem(new FamilyMemorabiliaBean());
+        adapter.addItem(new FamilyMemorabiliaBean());
+    }
+
+    @Override
+    public void initLiveDataObserve() {
+
+    }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/FamilyMemorabiliaActivityViewModel.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/FamilyMemorabiliaActivityViewModel.java
new file mode 100644
index 0000000..1e180b5
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/FamilyMemorabiliaActivityViewModel.java
@@ -0,0 +1,25 @@
+package com.application.zhangshi_app_android.ui.function;
+
+import android.app.Application;
+
+import androidx.annotation.NonNull;
+
+import com.android.app_base.base.viewmodel.BaseViewModel;
+import com.application.zhangshi_app_android.data.DataRepository;
+
+/**
+ * @author Ljj
+ * @date 2023.03.18. 10:00
+ * @desc 瀹跺ぇ浜嬭 viewmodel
+ */
+public class FamilyMemorabiliaActivityViewModel extends BaseViewModel<DataRepository> {
+
+    public FamilyMemorabiliaActivityViewModel(@NonNull Application application) {
+        super(application);
+    }
+
+    @Override
+    protected DataRepository initModel() {
+        return DataRepository.getInstance();
+    }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/module/function/FunctionFragment.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/FunctionFragment.java
similarity index 74%
rename from app/src/main/java/com/application/zhangshi_app_android/module/function/FunctionFragment.java
rename to app/src/main/java/com/application/zhangshi_app_android/ui/function/FunctionFragment.java
index 5366273..6c08b27 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/module/function/FunctionFragment.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/FunctionFragment.java
@@ -1,8 +1,10 @@
-package com.application.zhangshi_app_android.module.function;
+package com.application.zhangshi_app_android.ui.function;
 
 import android.os.Bundle;
+import android.view.View;
 
 import com.android.app_base.base.view.BaseFragment;
+import com.android.app_base.manager.AppManager;
 import com.application.zhangshi_app_android.BR;
 import com.application.zhangshi_app_android.R;
 import com.application.zhangshi_app_android.databinding.FragmentFunctionBinding;
@@ -39,7 +41,12 @@
 
     @Override
     protected void initView() {
-
+        binding.layoutFamilyMemorabilia.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                AppManager.getAppManager().startActivity(FamilyMemorabiliaActivity.class);
+            }
+        });
     }
 
     @Override
@@ -56,4 +63,6 @@
     protected boolean isStatusBarImmersionEnabled() {
         return true;
     }
+
+
 }
diff --git a/app/src/main/java/com/application/zhangshi_app_android/module/function/FunctionFragmentViewModel.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/FunctionFragmentViewModel.java
similarity index 90%
rename from app/src/main/java/com/application/zhangshi_app_android/module/function/FunctionFragmentViewModel.java
rename to app/src/main/java/com/application/zhangshi_app_android/ui/function/FunctionFragmentViewModel.java
index dc8748f..ce11e3e 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/module/function/FunctionFragmentViewModel.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/FunctionFragmentViewModel.java
@@ -1,4 +1,4 @@
-package com.application.zhangshi_app_android.module.function;
+package com.application.zhangshi_app_android.ui.function;
 
 import android.app.Application;
 
diff --git a/app/src/main/java/com/application/zhangshi_app_android/module/home/HomeFragment.java b/app/src/main/java/com/application/zhangshi_app_android/ui/home/HomeFragment.java
similarity index 94%
rename from app/src/main/java/com/application/zhangshi_app_android/module/home/HomeFragment.java
rename to app/src/main/java/com/application/zhangshi_app_android/ui/home/HomeFragment.java
index 25f22a2..b2a9383 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/module/home/HomeFragment.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/home/HomeFragment.java
@@ -1,4 +1,4 @@
-package com.application.zhangshi_app_android.module.home;
+package com.application.zhangshi_app_android.ui.home;
 
 import android.os.Bundle;
 
diff --git a/app/src/main/java/com/application/zhangshi_app_android/module/home/HomeFragmentViewModel.java b/app/src/main/java/com/application/zhangshi_app_android/ui/home/HomeFragmentViewModel.java
similarity index 90%
rename from app/src/main/java/com/application/zhangshi_app_android/module/home/HomeFragmentViewModel.java
rename to app/src/main/java/com/application/zhangshi_app_android/ui/home/HomeFragmentViewModel.java
index fbf2b7c..d6ec79c 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/module/home/HomeFragmentViewModel.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/home/HomeFragmentViewModel.java
@@ -1,4 +1,4 @@
-package com.application.zhangshi_app_android.module.home;
+package com.application.zhangshi_app_android.ui.home;
 
 import android.app.Application;
 
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/login/LoginActivity.java b/app/src/main/java/com/application/zhangshi_app_android/ui/login/LoginActivity.java
new file mode 100644
index 0000000..5b5f313
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/login/LoginActivity.java
@@ -0,0 +1,63 @@
+package com.application.zhangshi_app_android.ui.login;
+
+import android.view.View;
+
+import androidx.annotation.NonNull;
+
+import com.android.app_base.base.view.BaseActivity;
+import com.android.app_base.manager.AppManager;
+import com.android.app_base.utils.ScreenSizeUtils;
+import com.application.zhangshi_app_android.BR;
+import com.application.zhangshi_app_android.R;
+import com.application.zhangshi_app_android.databinding.ActivityLoginBinding;
+import com.application.zhangshi_app_android.ui.main.MainActivity;
+import com.gyf.immersionbar.ImmersionBar;
+
+/**
+ * @author Ljj
+ * @date 2023.03.18. 17:44
+ * @desc 鐧诲綍娉ㄥ唽 Activity
+ */
+public class LoginActivity extends BaseActivity<ActivityLoginBinding,LoginActivityViewModel> {
+    @Override
+    public int getLayoutId() {
+        return R.layout.activity_login;
+    }
+
+    @Override
+    public int getVariableId() {
+        return BR.viewModel;
+    }
+
+    @Override
+    public void initParam() {
+
+    }
+
+    @Override
+    public void initView() {
+       binding.tvLogin.setOnClickListener(new View.OnClickListener() {
+           @Override
+           public void onClick(View view) {
+               AppManager.getAppManager().startActivity(MainActivity.class);
+           }
+       });
+    }
+
+    @Override
+    public void initData() {
+
+    }
+
+    @Override
+    public void initLiveDataObserve() {
+
+    }
+
+    @NonNull
+    @Override
+    protected ImmersionBar createStatusBarConfig() {
+        return super.createStatusBarConfig().fitsSystemWindows(true)  //浣跨敤璇ュ睘鎬�,蹇呴』鎸囧畾鐘舵�佹爮棰滆壊
+                .statusBarColor(R.color.color_normal_background);
+    }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/login/LoginActivityViewModel.java b/app/src/main/java/com/application/zhangshi_app_android/ui/login/LoginActivityViewModel.java
new file mode 100644
index 0000000..8306c41
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/login/LoginActivityViewModel.java
@@ -0,0 +1,24 @@
+package com.application.zhangshi_app_android.ui.login;
+
+import android.app.Application;
+
+import androidx.annotation.NonNull;
+
+import com.android.app_base.base.viewmodel.BaseViewModel;
+import com.application.zhangshi_app_android.data.DataRepository;
+
+/**
+ * @author Ljj
+ * @date 2023.03.18. 17:47
+ * @desc 鐧诲綍娉ㄥ唽ViewModel
+ */
+public class LoginActivityViewModel extends BaseViewModel<DataRepository> {
+    public LoginActivityViewModel(@NonNull Application application) {
+        super(application);
+    }
+
+    @Override
+    protected DataRepository initModel() {
+        return DataRepository.getInstance();
+    }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/module/main/MainActivity.java b/app/src/main/java/com/application/zhangshi_app_android/ui/main/MainActivity.java
similarity index 78%
rename from app/src/main/java/com/application/zhangshi_app_android/module/main/MainActivity.java
rename to app/src/main/java/com/application/zhangshi_app_android/ui/main/MainActivity.java
index 3aea357..d81ca89 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/module/main/MainActivity.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/main/MainActivity.java
@@ -1,4 +1,4 @@
-package com.application.zhangshi_app_android.module.main;
+package com.application.zhangshi_app_android.ui.main;
 
 
 import android.view.MenuItem;
@@ -6,18 +6,18 @@
 import androidx.annotation.NonNull;
 import androidx.viewpager2.widget.ViewPager2;
 
-import com.android.app_base.base.adapter.BaseFragmentAdapter;
+import com.android.app_base.base.adapter.BaseVp2FragmentAdapter;
 import com.android.app_base.base.view.BaseActivity;
 import com.android.app_base.base.view.BaseFragment;
 import com.android.app_base.helper.DoubleClickHelper;
 import com.android.app_base.manager.AppManager;
-import com.android.app_base.utils.ToastUtils;
 import com.application.zhangshi_app_android.BR;
 import com.application.zhangshi_app_android.R;
 import com.application.zhangshi_app_android.databinding.ActivityMainBinding;
-import com.application.zhangshi_app_android.module.function.FunctionFragment;
-import com.application.zhangshi_app_android.module.home.HomeFragment;
-import com.application.zhangshi_app_android.module.personal_center.PersonalCenterFragment;
+import com.application.zhangshi_app_android.ui.function.FunctionFragment;
+import com.application.zhangshi_app_android.ui.home.HomeFragment;
+import com.application.zhangshi_app_android.ui.personal_center.PersonalCenterFragment;
+import com.blankj.utilcode.util.ToastUtils;
 import com.google.android.material.navigation.NavigationBarView;
 
 /**
@@ -42,28 +42,19 @@
 
     @Override
     public void initView() {
-        BaseFragmentAdapter<BaseFragment> mPagerAdapter = new BaseFragmentAdapter<>(this);
+        BaseVp2FragmentAdapter<BaseFragment> mPagerAdapter = new BaseVp2FragmentAdapter<>(this);
         mPagerAdapter.addFragment(HomeFragment.newInstance());
         mPagerAdapter.addFragment(FunctionFragment.newInstance());
         mPagerAdapter.addFragment(PersonalCenterFragment.newInstance());
         binding.mainVp.setAdapter(mPagerAdapter);
         binding.mainVp.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback() {
             @Override
-            public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
-                super.onPageScrolled(position, positionOffset, positionOffsetPixels);
-            }
-
-            @Override
             public void onPageSelected(int position) {
-                super.onPageSelected(position);
                 binding.mainBnv.setSelectedItemId(binding.mainBnv.getMenu().getItem(position).getItemId());
-            }
-
-            @Override
-            public void onPageScrollStateChanged(int state) {
-                super.onPageScrollStateChanged(state);
+                super.onPageSelected(position);
             }
         });
+
         // 涓嶄娇鐢ㄥ浘鏍囬粯璁ゅ彉鑹�
         binding.mainBnv.setItemIconTintList(null);
         binding.mainBnv.setOnItemSelectedListener(new NavigationBarView.OnItemSelectedListener() {
diff --git a/app/src/main/java/com/application/zhangshi_app_android/module/main/MainViewModel.java b/app/src/main/java/com/application/zhangshi_app_android/ui/main/MainViewModel.java
similarity index 88%
rename from app/src/main/java/com/application/zhangshi_app_android/module/main/MainViewModel.java
rename to app/src/main/java/com/application/zhangshi_app_android/ui/main/MainViewModel.java
index 4bc5e0f..4b494b7 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/module/main/MainViewModel.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/main/MainViewModel.java
@@ -1,4 +1,4 @@
-package com.application.zhangshi_app_android.module.main;
+package com.application.zhangshi_app_android.ui.main;
 
 import android.app.Application;
 
diff --git a/app/src/main/java/com/application/zhangshi_app_android/module/personal_center/PersonalCenterFragment.java b/app/src/main/java/com/application/zhangshi_app_android/ui/personal_center/PersonalCenterFragment.java
similarity index 94%
rename from app/src/main/java/com/application/zhangshi_app_android/module/personal_center/PersonalCenterFragment.java
rename to app/src/main/java/com/application/zhangshi_app_android/ui/personal_center/PersonalCenterFragment.java
index 7b72f4a..80065c4 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/module/personal_center/PersonalCenterFragment.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/personal_center/PersonalCenterFragment.java
@@ -1,4 +1,4 @@
-package com.application.zhangshi_app_android.module.personal_center;
+package com.application.zhangshi_app_android.ui.personal_center;
 
 import android.os.Bundle;
 
diff --git a/app/src/main/java/com/application/zhangshi_app_android/module/personal_center/PersonalCenterFragmentViewModel.java b/app/src/main/java/com/application/zhangshi_app_android/ui/personal_center/PersonalCenterFragmentViewModel.java
similarity index 89%
rename from app/src/main/java/com/application/zhangshi_app_android/module/personal_center/PersonalCenterFragmentViewModel.java
rename to app/src/main/java/com/application/zhangshi_app_android/ui/personal_center/PersonalCenterFragmentViewModel.java
index ccb8c5e..028002a 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/module/personal_center/PersonalCenterFragmentViewModel.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/personal_center/PersonalCenterFragmentViewModel.java
@@ -1,4 +1,4 @@
-package com.application.zhangshi_app_android.module.personal_center;
+package com.application.zhangshi_app_android.ui.personal_center;
 
 import android.app.Application;
 
diff --git a/app/src/main/res/drawable-xhdpi/bg_login_home.png b/app/src/main/res/drawable-xhdpi/bg_login_home.png
new file mode 100644
index 0000000..ec00633
--- /dev/null
+++ b/app/src/main/res/drawable-xhdpi/bg_login_home.png
Binary files differ
diff --git a/app/src/main/res/drawable-xhdpi/bg_login_zhang.png b/app/src/main/res/drawable-xhdpi/bg_login_zhang.png
new file mode 100644
index 0000000..06e7791
--- /dev/null
+++ b/app/src/main/res/drawable-xhdpi/bg_login_zhang.png
Binary files differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_delete.png b/app/src/main/res/drawable-xhdpi/ic_delete.png
new file mode 100644
index 0000000..1447496
--- /dev/null
+++ b/app/src/main/res/drawable-xhdpi/ic_delete.png
Binary files differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_function_default.png b/app/src/main/res/drawable-xhdpi/ic_function_default.png
new file mode 100644
index 0000000..e1a5bc6
--- /dev/null
+++ b/app/src/main/res/drawable-xhdpi/ic_function_default.png
Binary files differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_function_selected.png b/app/src/main/res/drawable-xhdpi/ic_function_selected.png
new file mode 100644
index 0000000..a49fba1
--- /dev/null
+++ b/app/src/main/res/drawable-xhdpi/ic_function_selected.png
Binary files differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_home_default.png b/app/src/main/res/drawable-xhdpi/ic_home_default.png
new file mode 100644
index 0000000..ae5c242
--- /dev/null
+++ b/app/src/main/res/drawable-xhdpi/ic_home_default.png
Binary files differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_home_selected.png b/app/src/main/res/drawable-xhdpi/ic_home_selected.png
new file mode 100644
index 0000000..4566758
--- /dev/null
+++ b/app/src/main/res/drawable-xhdpi/ic_home_selected.png
Binary files differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_modify.png b/app/src/main/res/drawable-xhdpi/ic_modify.png
new file mode 100644
index 0000000..03fd582
--- /dev/null
+++ b/app/src/main/res/drawable-xhdpi/ic_modify.png
Binary files differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_password_invisable.png b/app/src/main/res/drawable-xhdpi/ic_password_invisable.png
new file mode 100644
index 0000000..9dcfde2
--- /dev/null
+++ b/app/src/main/res/drawable-xhdpi/ic_password_invisable.png
Binary files differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_personal_center_default.png b/app/src/main/res/drawable-xhdpi/ic_personal_center_default.png
new file mode 100644
index 0000000..222ed8d
--- /dev/null
+++ b/app/src/main/res/drawable-xhdpi/ic_personal_center_default.png
Binary files differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_personal_center_selected.png b/app/src/main/res/drawable-xhdpi/ic_personal_center_selected.png
new file mode 100644
index 0000000..12410eb
--- /dev/null
+++ b/app/src/main/res/drawable-xhdpi/ic_personal_center_selected.png
Binary files differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_play.png b/app/src/main/res/drawable-xhdpi/ic_play.png
new file mode 100644
index 0000000..377c02d
--- /dev/null
+++ b/app/src/main/res/drawable-xhdpi/ic_play.png
Binary files differ
diff --git a/app/src/main/res/drawable-xhdpi/img_lotus.png b/app/src/main/res/drawable-xhdpi/img_lotus.png
new file mode 100644
index 0000000..a10bb88
--- /dev/null
+++ b/app/src/main/res/drawable-xhdpi/img_lotus.png
Binary files differ
diff --git a/app/src/main/res/drawable-xhdpi/img_sakura.png b/app/src/main/res/drawable-xhdpi/img_sakura.png
new file mode 100644
index 0000000..fb75891
--- /dev/null
+++ b/app/src/main/res/drawable-xhdpi/img_sakura.png
Binary files differ
diff --git a/app/src/main/res/drawable-xxhdpi/bg_login_home.png b/app/src/main/res/drawable-xxhdpi/bg_login_home.png
new file mode 100644
index 0000000..6cebcfc
--- /dev/null
+++ b/app/src/main/res/drawable-xxhdpi/bg_login_home.png
Binary files differ
diff --git a/app/src/main/res/drawable-xxhdpi/bg_login_zhang.png b/app/src/main/res/drawable-xxhdpi/bg_login_zhang.png
new file mode 100644
index 0000000..baac0b2
--- /dev/null
+++ b/app/src/main/res/drawable-xxhdpi/bg_login_zhang.png
Binary files differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_delete.png b/app/src/main/res/drawable-xxhdpi/ic_delete.png
new file mode 100644
index 0000000..12cdc73
--- /dev/null
+++ b/app/src/main/res/drawable-xxhdpi/ic_delete.png
Binary files differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_function_default.png b/app/src/main/res/drawable-xxhdpi/ic_function_default.png
new file mode 100644
index 0000000..e7aff91
--- /dev/null
+++ b/app/src/main/res/drawable-xxhdpi/ic_function_default.png
Binary files differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_function_selected.png b/app/src/main/res/drawable-xxhdpi/ic_function_selected.png
new file mode 100644
index 0000000..b5d9f5d
--- /dev/null
+++ b/app/src/main/res/drawable-xxhdpi/ic_function_selected.png
Binary files differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_home_default.png b/app/src/main/res/drawable-xxhdpi/ic_home_default.png
new file mode 100644
index 0000000..093c909
--- /dev/null
+++ b/app/src/main/res/drawable-xxhdpi/ic_home_default.png
Binary files differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_home_selected.png b/app/src/main/res/drawable-xxhdpi/ic_home_selected.png
new file mode 100644
index 0000000..03b3cfd
--- /dev/null
+++ b/app/src/main/res/drawable-xxhdpi/ic_home_selected.png
Binary files differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_modify.png b/app/src/main/res/drawable-xxhdpi/ic_modify.png
new file mode 100644
index 0000000..1ed0ac2
--- /dev/null
+++ b/app/src/main/res/drawable-xxhdpi/ic_modify.png
Binary files differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_password_invisable.png b/app/src/main/res/drawable-xxhdpi/ic_password_invisable.png
new file mode 100644
index 0000000..1a9e029
--- /dev/null
+++ b/app/src/main/res/drawable-xxhdpi/ic_password_invisable.png
Binary files differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_personal_center_default.png b/app/src/main/res/drawable-xxhdpi/ic_personal_center_default.png
new file mode 100644
index 0000000..a4f046b
--- /dev/null
+++ b/app/src/main/res/drawable-xxhdpi/ic_personal_center_default.png
Binary files differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_personal_center_selected.png b/app/src/main/res/drawable-xxhdpi/ic_personal_center_selected.png
new file mode 100644
index 0000000..414fc57
--- /dev/null
+++ b/app/src/main/res/drawable-xxhdpi/ic_personal_center_selected.png
Binary files differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_play.png b/app/src/main/res/drawable-xxhdpi/ic_play.png
new file mode 100644
index 0000000..371a9ed
--- /dev/null
+++ b/app/src/main/res/drawable-xxhdpi/ic_play.png
Binary files differ
diff --git a/app/src/main/res/drawable-xxhdpi/img_lotus.png b/app/src/main/res/drawable-xxhdpi/img_lotus.png
new file mode 100644
index 0000000..d4b2df0
--- /dev/null
+++ b/app/src/main/res/drawable-xxhdpi/img_lotus.png
Binary files differ
diff --git a/app/src/main/res/drawable-xxhdpi/img_sakura.png b/app/src/main/res/drawable-xxhdpi/img_sakura.png
new file mode 100644
index 0000000..2671d35
--- /dev/null
+++ b/app/src/main/res/drawable-xxhdpi/img_sakura.png
Binary files differ
diff --git a/app/src/main/res/drawable/selector_bottom_navigation_function.xml b/app/src/main/res/drawable/selector_bottom_navigation_function.xml
index 1474d79..146c26f 100644
--- a/app/src/main/res/drawable/selector_bottom_navigation_function.xml
+++ b/app/src/main/res/drawable/selector_bottom_navigation_function.xml
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="utf-8"?>
 <selector xmlns:android="http://schemas.android.com/apk/res/android">
-<!--    &lt;!&ndash; 鎸夊帇鐘舵�� &ndash;&gt;-->
-<!--    <item android:drawable="@drawable/ic_function_selected" android:state_checked="true" />-->
+    <!-- 鎸夊帇鐘舵�� -->
+    <item android:drawable="@drawable/ic_function_selected" android:state_checked="true" />
 
-<!--    &lt;!&ndash; 榛樿鐘舵�� &ndash;&gt;-->
-<!--    <item android:drawable="@drawable/ic_function_default" />-->
+    <!-- 榛樿鐘舵�� -->
+    <item android:drawable="@drawable/ic_function_default" />
 </selector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/selector_bottom_navigation_home.xml b/app/src/main/res/drawable/selector_bottom_navigation_home.xml
index 641575b..05281a4 100644
--- a/app/src/main/res/drawable/selector_bottom_navigation_home.xml
+++ b/app/src/main/res/drawable/selector_bottom_navigation_home.xml
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="utf-8"?>
 <selector xmlns:android="http://schemas.android.com/apk/res/android">
-<!--    &lt;!&ndash; 鎸夊帇鐘舵�� &ndash;&gt;-->
-<!--    <item android:drawable="@drawable/ic_home_selected" android:state_checked="true" />-->
+    <!-- 鎸夊帇鐘舵�� -->
+    <item android:drawable="@drawable/ic_home_selected" android:state_checked="true" />
 
-<!--    &lt;!&ndash; 榛樿鐘舵�� &ndash;&gt;-->
-<!--    <item android:drawable="@drawable/ic_home_default" />-->
+    <!-- 榛樿鐘舵�� -->
+    <item android:drawable="@drawable/ic_home_default" />
 </selector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/selector_bottom_navigation_personal_center.xml b/app/src/main/res/drawable/selector_bottom_navigation_personal_center.xml
index 130ac73..01bc631 100644
--- a/app/src/main/res/drawable/selector_bottom_navigation_personal_center.xml
+++ b/app/src/main/res/drawable/selector_bottom_navigation_personal_center.xml
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="utf-8"?>
 <selector xmlns:android="http://schemas.android.com/apk/res/android">
-<!--    &lt;!&ndash; 鎸夊帇鐘舵�� &ndash;&gt;-->
-<!--    <item android:drawable="@drawable/ic_personal_center_selected" android:state_checked="true" />-->
+    <!-- 鎸夊帇鐘舵�� -->
+    <item android:drawable="@drawable/ic_personal_center_selected" android:state_checked="true" />
 
-<!--    &lt;!&ndash; 榛樿鐘舵�� &ndash;&gt;-->
-<!--    <item android:drawable="@drawable/ic_personal_center_default" />-->
+    <!-- 榛樿鐘舵�� -->
+    <item android:drawable="@drawable/ic_personal_center_default" />
 </selector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/shape_ff093878_10_solid.xml b/app/src/main/res/drawable/shape_ff093878_10_solid.xml
new file mode 100644
index 0000000..437666e
--- /dev/null
+++ b/app/src/main/res/drawable/shape_ff093878_10_solid.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+    <corners android:radius="@dimen/dp_10"/>
+    <solid android:color="#FF093878"/>
+</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/shape_ffd9d9d9_8_stroke.xml b/app/src/main/res/drawable/shape_ffd9d9d9_8_stroke.xml
new file mode 100644
index 0000000..d296538
--- /dev/null
+++ b/app/src/main/res/drawable/shape_ffd9d9d9_8_stroke.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+    <corners android:radius="@dimen/dp_8"/>
+    <stroke android:color="#FFD9D9D9" android:width="@dimen/dp_1"/>
+</shape>
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_family_memorabilia.xml b/app/src/main/res/layout/activity_family_memorabilia.xml
new file mode 100644
index 0000000..f4dbcf2
--- /dev/null
+++ b/app/src/main/res/layout/activity_family_memorabilia.xml
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="utf-8"?>
+<layout 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">
+
+    <data>
+        <variable
+            name="viewModel"
+            type="com.application.zhangshi_app_android.ui.function.FamilyMemorabiliaActivityViewModel"/>
+    </data>
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        tools:context=".ui.function.FamilyMemorabiliaActivity"
+        android:orientation="vertical">
+
+
+        <com.hjq.bar.TitleBar
+            android:id="@+id/titleBar"
+            android:layout_width="match_parent"
+            android:layout_height="@dimen/dp_55"
+            app:layout_constraintTop_toTopOf="parent"
+            android:background="@color/color_title_bar_background"
+            android:paddingHorizontal="@dimen/dp_16"
+            app:leftIcon="@null"
+            app:rightIcon="@null"
+            >
+            <LinearLayout
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_gravity="start|center_vertical"
+                android:orientation="horizontal" >
+
+                <ImageView
+                    android:id="@+id/menu"
+                    android:layout_width="@dimen/dp_24"
+                    android:layout_height="@dimen/dp_24"
+                    android:background="@drawable/ic_menu"
+                    android:layout_gravity="center"
+                    />
+
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginStart="@dimen/dp_32"
+                    android:text="瀹跺ぇ浜嬭"
+                    android:textColor="@color/white"
+                    android:textSize="@dimen/sp_20"
+                    />
+
+            </LinearLayout>
+
+            <LinearLayout
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_gravity="end|center_vertical"
+                android:orientation="horizontal" >
+
+                <ImageView
+                    android:layout_width="@dimen/dp_24"
+                    android:layout_height="@dimen/dp_24"
+                    android:background="@drawable/ic_search"
+                    />
+
+                <ImageView
+                    android:layout_width="@dimen/dp_24"
+                    android:layout_height="@dimen/dp_24"
+                    android:background="@drawable/ic_operate"
+                    android:layout_marginStart="@dimen/dp_16"
+                    />
+
+            </LinearLayout>
+        </com.hjq.bar.TitleBar>
+
+        <androidx.recyclerview.widget.RecyclerView
+            android:id="@+id/recyclerView"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:background="@color/color_normal_background"
+            tools:listitem="@layout/item_family_memorabilia"
+            tools:itemCount="20"
+            />
+
+    </LinearLayout>
+</layout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_login.xml b/app/src/main/res/layout/activity_login.xml
new file mode 100644
index 0000000..9edab23
--- /dev/null
+++ b/app/src/main/res/layout/activity_login.xml
@@ -0,0 +1,208 @@
+<?xml version="1.0" encoding="utf-8"?>
+<layout xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <data>
+        <variable
+            name="viewModel"
+            type="com.application.zhangshi_app_android.ui.login.LoginActivityViewModel" />
+    </data>
+
+    <androidx.constraintlayout.widget.ConstraintLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:background="@color/color_normal_background"
+        >
+        <LinearLayout
+            android:layout_width="0dp"
+            android:layout_height="wrap_content"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toTopOf="parent"
+            app:layout_constraintBottom_toBottomOf="parent"
+            android:layout_marginHorizontal="@dimen/dp_30"
+            android:orientation="vertical"
+            >
+            <ImageView
+                android:id="@+id/iv_bg_home"
+                android:layout_width="match_parent"
+                android:layout_height="@dimen/dp_165"
+                android:background="@drawable/bg_login_home"
+                />
+            <androidx.cardview.widget.CardView
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                app:cardCornerRadius="@dimen/dp_15"
+                app:cardElevation="0dp"
+                app:layout_constraintBottom_toBottomOf="parent"
+                app:layout_constraintEnd_toEndOf="@+id/iv_bg_home"
+                app:layout_constraintStart_toStartOf="@+id/iv_bg_home"
+                app:layout_constraintTop_toBottomOf="@+id/iv_bg_home"
+                >
+
+                <RelativeLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="match_parent">
+
+                    <ImageView
+                        android:id="@+id/iv_bg_zhang"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_marginTop="@dimen/dp_20"
+                        android:background="@drawable/bg_login_zhang"
+                        android:layout_centerHorizontal="true"
+                        />
+
+                    <TextView
+                        android:id="@+id/tv_welcome"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_marginHorizontal="@dimen/dp_25"
+                        android:text="娆㈣繋鏉ュ埌寮犳皬APP"
+                        android:textColor="@color/black"
+                        android:textSize="@dimen/sp_20"
+                        android:textStyle="bold"
+                        android:layout_centerHorizontal="true"
+                        android:layout_marginVertical="@dimen/dp_20"
+                        />
+
+                    <LinearLayout
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:layout_marginHorizontal="@dimen/dp_27"
+                        android:orientation="vertical"
+                        android:layout_below="@id/tv_welcome"
+                        >
+                        <TextView
+                            android:id="@+id/tv_account"
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:text="璐﹀彿"
+                            android:textColor="#FF484848"
+                            android:textSize="@dimen/sp_12"
+                            />
+                        <LinearLayout
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:layout_marginTop="@dimen/dp_10"
+                            android:background="@drawable/shape_ffd9d9d9_8_stroke"
+                            android:paddingVertical="@dimen/dp_12"
+                            >
+                            <EditText
+                                android:layout_width="match_parent"
+                                android:layout_height="wrap_content"
+                                android:layout_gravity="center"
+                                android:layout_marginStart="@dimen/dp_16"
+                                android:background="@null"
+                                android:hint="璇疯緭鍏ヨ处鍙�"
+                                android:textColor="#FF093878"
+                                android:textSize="@dimen/sp_16"
+                                android:textColorHint="#FF8F9090"
+                                />
+                        </LinearLayout>
+                        <TextView
+                            android:id="@+id/tv_password"
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_marginTop="@dimen/dp_20"
+                            android:text="瀵嗙爜"
+                            android:textColor="#FF484848"
+                            android:textSize="@dimen/sp_12"
+                            />
+                        <LinearLayout
+                            android:id="@+id/layout_password"
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:layout_marginTop="@dimen/dp_7"
+                            android:paddingVertical="@dimen/dp_12"
+                            android:background="@drawable/shape_ffd9d9d9_8_stroke"
+                            android:gravity="center"
+                            android:orientation="horizontal"
+                            >
+                            <EditText
+                                android:layout_width="0dp"
+                                android:layout_height="wrap_content"
+                                android:layout_marginStart="@dimen/dp_16"
+                                android:layout_weight="1"
+                                android:background="@null"
+                                android:textColor="#FF093878"
+                                android:textSize="@dimen/sp_16"
+                                android:hint="璇疯緭鍏ヨ处鍙�"
+                                android:textColorHint="#FF8F9090"
+                                />
+
+                            <ImageView
+                                android:layout_width="@dimen/dp_16"
+                                android:layout_height="@dimen/dp_20"
+                                android:layout_marginEnd="@dimen/dp_12"
+                                android:background="@drawable/ic_password_invisable" />
+                        </LinearLayout>
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:text="楠岃瘉鐮�"
+                            android:textColor="#FF484848"
+                            android:textSize="@dimen/sp_12"
+                            android:layout_marginTop="@dimen/dp_20"
+                            />
+                        <LinearLayout
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:orientation="horizontal"
+                            android:layout_marginTop="@dimen/dp_10"
+                            >
+                            <LinearLayout
+                                android:layout_width="0dp"
+                                android:layout_height="wrap_content"
+                                android:background="@drawable/shape_ffd9d9d9_8_stroke"
+                                android:paddingVertical="@dimen/dp_12"
+                                android:layout_weight="6"
+                                >
+                                <EditText
+                                    android:layout_width="match_parent"
+                                    android:layout_height="wrap_content"
+                                    android:layout_gravity="center"
+                                    android:layout_marginStart="@dimen/dp_16"
+                                    android:background="@null"
+                                    android:hint="璇疯緭鍏ラ獙璇佺爜"
+                                    android:textColor="#FF093878"
+                                    android:textSize="@dimen/sp_16"
+                                    android:textColorHint="#FF8F9090"
+                                    />
+                            </LinearLayout>
+
+                            <ImageView
+                                android:layout_width="0dp"
+                                android:layout_height="match_parent"
+                                android:layout_weight="4"
+                                android:layout_marginStart="@dimen/dp_6"
+                                />
+                        </LinearLayout>
+                        <TextView
+                            android:id="@+id/tv_login"
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:background="@drawable/shape_ff093878_10_solid"
+                            android:text="娉ㄥ唽/鐧诲綍"
+                            android:textColor="@color/white"
+                            android:gravity="center"
+                            android:paddingVertical="@dimen/dp_10"
+                            android:paddingHorizontal="@dimen/dp_77"
+                            android:textSize="@dimen/sp_12"
+                            android:layout_marginVertical="@dimen/dp_27"
+                            android:layout_gravity="center"
+                            />
+
+
+                    </LinearLayout>
+
+
+                </RelativeLayout>
+            </androidx.cardview.widget.CardView>
+
+        </LinearLayout>
+
+
+
+    </androidx.constraintlayout.widget.ConstraintLayout>
+</layout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index 201a214..152a8ec 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -6,7 +6,7 @@
     <data>
         <variable
             name="viewModel"
-            type="com.application.zhangshi_app_android.module.main.MainViewModel" />
+            type="com.application.zhangshi_app_android.ui.main.MainViewModel" />
     </data>
 
     <androidx.constraintlayout.widget.ConstraintLayout
diff --git a/app/src/main/res/layout/fragment_function.xml b/app/src/main/res/layout/fragment_function.xml
index c1375ea..1750aa7 100644
--- a/app/src/main/res/layout/fragment_function.xml
+++ b/app/src/main/res/layout/fragment_function.xml
@@ -5,51 +5,561 @@
     <data>
         <variable
             name="viewModel"
-            type="com.application.zhangshi_app_android.module.function.FunctionFragmentViewModel" />
+            type="com.application.zhangshi_app_android.ui.function.FunctionFragmentViewModel" />
     </data>
 
     <androidx.constraintlayout.widget.ConstraintLayout
         android:layout_width="match_parent"
-        android:layout_height="match_parent">
+        android:layout_height="match_parent"
+        android:background="@color/color_normal_background"
+        android:orientation="vertical"
+        >
 
         <com.hjq.bar.TitleBar
+            android:id="@+id/titleBar"
             android:layout_width="match_parent"
             android:layout_height="@dimen/dp_55"
-            app:layout_constraintTop_toTopOf="parent"
-            android:background="@color/color_title_background"
+            android:background="@color/color_title_bar_background"
             android:paddingHorizontal="@dimen/dp_16"
-            app:leftIcon="@drawable/ic_menu"
-            app:leftTitle="鍔熻兘"
-            app:leftTitleSize="@dimen/sp_20"
-            app:leftTitleColor="@color/white"
-            app:leftIconWidth="@dimen/dp_24"
-            app:leftIconHeight="@dimen/dp_24"
-            app:leftIconPadding="@dimen/dp_32"
-            app:leftHorizontalPadding="@dimen/dp_0"
-            app:rightIcon="@null"
-            >
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toTopOf="parent"
+            app:leftIcon="@null"
+            app:rightIcon="@null">
+
+            <LinearLayout
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_gravity="start|center_vertical"
+                android:orientation="horizontal">
+
+                <ImageView
+                    android:id="@+id/menu"
+                    android:layout_width="@dimen/dp_24"
+                    android:layout_height="@dimen/dp_24"
+                    android:layout_gravity="center"
+                    android:background="@drawable/ic_menu" />
+
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginStart="@dimen/dp_32"
+                    android:text="@string/title_function"
+                    android:textColor="@color/white"
+                    android:textSize="@dimen/sp_20" />
+
+            </LinearLayout>
+
             <LinearLayout
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_gravity="end|center_vertical"
-                android:orientation="horizontal" >
+                android:orientation="horizontal">
 
                 <ImageView
                     android:layout_width="@dimen/dp_24"
                     android:layout_height="@dimen/dp_24"
-                    android:background="@drawable/ic_search"
-                    />
+                    android:background="@drawable/ic_search" />
 
                 <ImageView
                     android:layout_width="@dimen/dp_24"
                     android:layout_height="@dimen/dp_24"
-                    android:background="@drawable/ic_operate"
                     android:layout_marginStart="@dimen/dp_16"
-                    />
+                    android:background="@drawable/ic_operate" />
 
             </LinearLayout>
         </com.hjq.bar.TitleBar>
 
+        <ImageView
+            android:id="@+id/iv_group_photo"
+            android:layout_width="match_parent"
+            android:layout_height="@dimen/dp_200"
+            android:background="@drawable/img_sakura"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toBottomOf="@id/titleBar"
+            />
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="0dp"
+            android:orientation="vertical"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintTop_toBottomOf="@id/iv_group_photo"
+            >
+            <androidx.core.widget.NestedScrollView
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                >
+                <androidx.constraintlayout.widget.ConstraintLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:paddingBottom="@dimen/dp_10"
+                    >
+                    <androidx.constraintlayout.widget.Guideline
+                        android:id="@+id/gl_v_0.5"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:orientation="vertical"
+                        app:layout_constraintGuide_percent="0.5"
+                        />
+                    <androidx.constraintlayout.widget.Guideline
+                        android:id="@+id/gl_v_0.75"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:orientation="vertical"
+                        app:layout_constraintGuide_percent="0.75"
+                        />
+                    <androidx.constraintlayout.widget.Guideline
+                        android:id="@+id/gl_v_0.25"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:orientation="vertical"
+                        app:layout_constraintGuide_percent="0.25"
+                        />
+
+                    <TextView
+                        android:id="@+id/tv_core_module"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_marginStart="@dimen/dp_20"
+                        android:layout_marginTop="@dimen/dp_20"
+                        android:text="鏍稿績妯″潡"
+                        android:textColor="@color/black"
+                        android:textSize="@dimen/sp_18"
+                        android:textStyle="bold"
+                        app:layout_constraintStart_toStartOf="parent"
+                        app:layout_constraintTop_toTopOf="parent" />
+
+                    <LinearLayout
+                        android:id="@+id/layout_home_root_net"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_marginTop="@dimen/dp_15"
+                        android:gravity="center"
+                        android:orientation="vertical"
+                        app:layout_constraintEnd_toStartOf="@+id/gl_v_0.25"
+                        app:layout_constraintStart_toStartOf="parent"
+                        app:layout_constraintTop_toBottomOf="@id/tv_core_module">
+
+                        <ImageView
+                            android:layout_width="@dimen/dp_24"
+                            android:layout_height="@dimen/dp_24"
+                            android:background="@drawable/ic_delete" />
+
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_marginTop="@dimen/dp_4"
+                            android:text="瀹舵牴缃�"
+                            android:textColor="@color/black"
+                            android:textSize="@dimen/sp_14" />
+                    </LinearLayout>
+                    <LinearLayout
+                        android:id="@+id/layout_family_memorabilia"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:gravity="center"
+                        android:orientation="vertical"
+                        app:layout_constraintEnd_toStartOf="@+id/gl_v_0.5"
+                        app:layout_constraintStart_toStartOf="@+id/gl_v_0.25"
+                        app:layout_constraintTop_toTopOf="@id/layout_home_root_net">
+
+                        <ImageView
+                            android:layout_width="@dimen/dp_24"
+                            android:layout_height="@dimen/dp_24"
+                            android:background="@drawable/ic_delete" />
+
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_marginTop="@dimen/dp_4"
+                            android:text="瀹跺ぇ浜嬭"
+                            android:textColor="@color/black"
+                            android:textSize="@dimen/sp_14" />
+                    </LinearLayout>
+                    <LinearLayout
+                        android:id="@+id/layout_family_assets"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:gravity="center"
+                        android:orientation="vertical"
+                        app:layout_constraintEnd_toStartOf="@+id/gl_v_0.75"
+                        app:layout_constraintStart_toStartOf="@+id/gl_v_0.5"
+                        app:layout_constraintTop_toTopOf="@id/layout_home_root_net">
+
+                        <ImageView
+                            android:layout_width="@dimen/dp_24"
+                            android:layout_height="@dimen/dp_24"
+                            android:background="@drawable/ic_delete" />
+
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_marginTop="@dimen/dp_4"
+                            android:text="瀹跺涵璧勪骇"
+                            android:textColor="@color/black"
+                            android:textSize="@dimen/sp_14" />
+                    </LinearLayout>
+                    <LinearLayout
+                        android:id="@+id/layout_honor_collection"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:gravity="center"
+                        android:orientation="vertical"
+                        app:layout_constraintEnd_toEndOf="parent"
+                        app:layout_constraintStart_toStartOf="@+id/gl_v_0.75"
+                        app:layout_constraintTop_toTopOf="@id/layout_home_root_net">
+
+                        <ImageView
+                            android:layout_width="@dimen/dp_24"
+                            android:layout_height="@dimen/dp_24"
+                            android:background="@drawable/ic_delete" />
+
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_marginTop="@dimen/dp_4"
+                            android:text="鑽h獕鏀惰棌"
+                            android:textColor="@color/black"
+                            android:textSize="@dimen/sp_14" />
+                    </LinearLayout>
+
+                    <LinearLayout
+                        android:id="@+id/layout_little_doctor"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:orientation="vertical"
+                        app:layout_constraintStart_toStartOf="@id/layout_home_root_net"
+                        app:layout_constraintEnd_toEndOf="@id/layout_home_root_net"
+                        app:layout_constraintTop_toBottomOf="@id/layout_home_root_net"
+                        android:layout_marginTop="@dimen/dp_20"
+                        android:gravity="center"
+                        >
+
+                        <ImageView
+                            android:layout_width="@dimen/dp_24"
+                            android:layout_height="@dimen/dp_24"
+                            android:background="@drawable/ic_delete"
+                            />
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_marginTop="@dimen/dp_4"
+                            android:textSize="@dimen/sp_14"
+                            android:text="灏忓尰鐢�"
+                            android:textColor="@color/black"
+                            />
+                    </LinearLayout>
+                    <LinearLayout
+                        android:id="@+id/layout_clean_storage"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:orientation="vertical"
+                        app:layout_constraintStart_toStartOf="@id/layout_family_memorabilia"
+                        app:layout_constraintEnd_toEndOf="@id/layout_family_memorabilia"
+                        app:layout_constraintTop_toTopOf="@id/layout_little_doctor"
+                        android:gravity="center"
+                        >
+
+                        <ImageView
+                            android:layout_width="@dimen/dp_24"
+                            android:layout_height="@dimen/dp_24"
+                            android:background="@drawable/ic_delete"
+                            />
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_marginTop="@dimen/dp_4"
+                            android:textSize="@dimen/sp_14"
+                            android:text="淇濇磥鏀剁撼"
+                            android:textColor="@color/black"
+                            />
+                    </LinearLayout>
+                    <LinearLayout
+                        android:id="@+id/layout_contacts"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:gravity="center"
+                        android:orientation="vertical"
+                        app:layout_constraintEnd_toEndOf="@+id/layout_family_assets"
+                        app:layout_constraintStart_toStartOf="@+id/layout_family_assets"
+                        app:layout_constraintTop_toTopOf="@id/layout_little_doctor">
+
+                        <ImageView
+                            android:layout_width="@dimen/dp_24"
+                            android:layout_height="@dimen/dp_24"
+                            android:background="@drawable/ic_delete" />
+
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_marginTop="@dimen/dp_4"
+                            android:text="閫氳褰�"
+                            android:textColor="@color/black"
+                            android:textSize="@dimen/sp_14" />
+                    </LinearLayout>
+                    <LinearLayout
+                        android:id="@+id/layout_pet"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:gravity="center"
+                        android:orientation="vertical"
+                        app:layout_constraintEnd_toEndOf="@+id/layout_honor_collection"
+                        app:layout_constraintStart_toStartOf="@+id/layout_honor_collection"
+                        app:layout_constraintTop_toTopOf="@id/layout_little_doctor">
+
+                        <ImageView
+                            android:layout_width="@dimen/dp_24"
+                            android:layout_height="@dimen/dp_24"
+                            android:background="@drawable/ic_delete" />
+
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_marginTop="@dimen/dp_4"
+                            android:text="榄呭疇"
+                            android:textColor="@color/black"
+                            android:textSize="@dimen/sp_14" />
+                    </LinearLayout>
+
+                    <LinearLayout
+                        android:id="@+id/layout_income_and_expenses"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:gravity="center"
+                        android:orientation="vertical"
+                        android:layout_marginTop="@dimen/dp_20"
+                        app:layout_constraintEnd_toEndOf="@+id/layout_little_doctor"
+                        app:layout_constraintStart_toStartOf="@+id/layout_little_doctor"
+                        app:layout_constraintTop_toBottomOf="@+id/layout_little_doctor">
+
+                        <ImageView
+                            android:layout_width="@dimen/dp_24"
+                            android:layout_height="@dimen/dp_24"
+                            android:background="@drawable/ic_delete" />
+
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_marginTop="@dimen/dp_4"
+                            android:text="鏀舵敮鍙拌处"
+                            android:textColor="@color/black"
+                            android:textSize="@dimen/sp_14" />
+                    </LinearLayout>
+
+                    <TextView
+                        android:id="@+id/tv_personal_module"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_marginTop="@dimen/dp_20"
+                        android:text="涓汉妯″潡"
+                        android:textColor="@color/black"
+                        android:textSize="@dimen/sp_18"
+                        android:textStyle="bold"
+                        app:layout_constraintStart_toStartOf="@+id/tv_core_module"
+                        app:layout_constraintTop_toBottomOf="@+id/layout_income_and_expenses" />
+
+                    <LinearLayout
+                        android:id="@+id/layout_growing_up"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_marginTop="@dimen/dp_15"
+                        android:gravity="center"
+                        android:orientation="vertical"
+                        app:layout_constraintEnd_toStartOf="@+id/gl_v_0.25"
+                        app:layout_constraintStart_toStartOf="parent"
+                        app:layout_constraintTop_toBottomOf="@id/tv_personal_module">
+
+                        <ImageView
+                            android:layout_width="@dimen/dp_24"
+                            android:layout_height="@dimen/dp_24"
+                            android:background="@drawable/ic_delete" />
+
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_marginTop="@dimen/dp_4"
+                            android:text="鎴愰暱缁忓巻"
+                            android:textColor="@color/black"
+                            android:textSize="@dimen/sp_14" />
+                    </LinearLayout>
+                    <LinearLayout
+                        android:id="@+id/layout_marriage"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:gravity="center"
+                        android:orientation="vertical"
+                        app:layout_constraintEnd_toStartOf="@+id/gl_v_0.5"
+                        app:layout_constraintStart_toStartOf="@+id/gl_v_0.25"
+                        app:layout_constraintTop_toTopOf="@id/layout_growing_up">
+
+                        <ImageView
+                            android:layout_width="@dimen/dp_24"
+                            android:layout_height="@dimen/dp_24"
+                            android:background="@drawable/ic_delete" />
+
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_marginTop="@dimen/dp_4"
+                            android:text="濠氬Щ"
+                            android:textColor="@color/black"
+                            android:textSize="@dimen/sp_14" />
+                    </LinearLayout>
+
+                    <LinearLayout
+                        android:id="@+id/layout_property"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:gravity="center"
+                        android:orientation="vertical"
+                        app:layout_constraintEnd_toStartOf="@+id/gl_v_0.75"
+                        app:layout_constraintStart_toStartOf="@+id/gl_v_0.5"
+                        app:layout_constraintTop_toTopOf="@+id/layout_growing_up">
+
+                        <ImageView
+                            android:layout_width="@dimen/dp_24"
+                            android:layout_height="@dimen/dp_24"
+                            android:background="@drawable/ic_delete" />
+
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_marginTop="@dimen/dp_4"
+                            android:text="璐骇"
+                            android:textColor="@color/black"
+                            android:textSize="@dimen/sp_14" />
+                    </LinearLayout>
+                    <LinearLayout
+                        android:id="@+id/layout_hundred_wish"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:gravity="center"
+                        android:orientation="vertical"
+                        app:layout_constraintEnd_toEndOf="parent"
+                        app:layout_constraintStart_toStartOf="@+id/gl_v_0.75"
+                        app:layout_constraintTop_toTopOf="@+id/layout_growing_up">
+
+                        <ImageView
+                            android:layout_width="@dimen/dp_24"
+                            android:layout_height="@dimen/dp_24"
+                            android:background="@drawable/ic_delete" />
+
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_marginTop="@dimen/dp_4"
+                            android:text="鐧惧勾蹇冩効"
+                            android:textColor="@color/black"
+                            android:textSize="@dimen/sp_14" />
+                    </LinearLayout>
+
+                    <LinearLayout
+                        android:id="@+id/layout_tourism"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_marginTop="@dimen/dp_20"
+                        android:gravity="center"
+                        android:orientation="vertical"
+                        app:layout_constraintEnd_toStartOf="@+id/gl_v_0.25"
+                        app:layout_constraintStart_toStartOf="parent"
+                        app:layout_constraintTop_toBottomOf="@+id/layout_growing_up">
+
+                        <ImageView
+                            android:layout_width="@dimen/dp_24"
+                            android:layout_height="@dimen/dp_24"
+                            android:background="@drawable/ic_delete" />
+
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_marginTop="@dimen/dp_4"
+                            android:text="鏃呮父"
+                            android:textColor="@color/black"
+                            android:textSize="@dimen/sp_14" />
+                    </LinearLayout>
+
+                    <LinearLayout
+                        android:id="@+id/layout_health_care"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:gravity="center"
+                        android:orientation="vertical"
+                        app:layout_constraintEnd_toStartOf="@+id/gl_v_0.5"
+                        app:layout_constraintStart_toStartOf="@+id/gl_v_0.25"
+                        app:layout_constraintTop_toTopOf="@+id/layout_tourism">
+
+                        <ImageView
+                            android:layout_width="@dimen/dp_24"
+                            android:layout_height="@dimen/dp_24"
+                            android:background="@drawable/ic_delete" />
+
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_marginTop="@dimen/dp_4"
+                            android:text="鍋ュ悍淇濆仴"
+                            android:textColor="@color/black"
+                            android:textSize="@dimen/sp_14" />
+                    </LinearLayout>
+
+                    <LinearLayout
+                        android:id="@+id/layout_certificate_of_honor"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:gravity="center"
+                        android:orientation="vertical"
+                        app:layout_constraintEnd_toStartOf="@+id/gl_v_0.75"
+                        app:layout_constraintStart_toStartOf="@+id/gl_v_0.5"
+                        app:layout_constraintTop_toTopOf="@+id/layout_tourism">
+
+                        <ImageView
+                            android:layout_width="@dimen/dp_24"
+                            android:layout_height="@dimen/dp_24"
+                            android:background="@drawable/ic_delete" />
+
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_marginTop="@dimen/dp_4"
+                            android:text="鑽h獕璇佷功"
+                            android:textColor="@color/black"
+                            android:textSize="@dimen/sp_14" />
+                    </LinearLayout>
+
+                    <LinearLayout
+                        android:id="@+id/layout_privacy"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:gravity="center"
+                        android:orientation="vertical"
+                        app:layout_constraintEnd_toEndOf="parent"
+                        app:layout_constraintStart_toStartOf="@+id/gl_v_0.75"
+                        app:layout_constraintTop_toTopOf="@+id/layout_tourism">
+
+                        <ImageView
+                            android:layout_width="@dimen/dp_24"
+                            android:layout_height="@dimen/dp_24"
+                            android:background="@drawable/ic_delete" />
+
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_marginTop="@dimen/dp_4"
+                            android:text="闅愮"
+                            android:textColor="@color/black"
+                            android:textSize="@dimen/sp_14" />
+                    </LinearLayout>
+
+                </androidx.constraintlayout.widget.ConstraintLayout>
+            </androidx.core.widget.NestedScrollView>
+
+        </LinearLayout>
+
+
 
     </androidx.constraintlayout.widget.ConstraintLayout>
 </layout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml
index d439c25..64bd7b6 100644
--- a/app/src/main/res/layout/fragment_home.xml
+++ b/app/src/main/res/layout/fragment_home.xml
@@ -6,7 +6,7 @@
     <data>
         <variable
             name="viewModel"
-            type="com.application.zhangshi_app_android.module.home.HomeFragmentViewModel" />
+            type="com.application.zhangshi_app_android.ui.home.HomeFragmentViewModel" />
     </data>
 
     <androidx.constraintlayout.widget.ConstraintLayout
diff --git a/app/src/main/res/layout/fragment_personal_center.xml b/app/src/main/res/layout/fragment_personal_center.xml
index fe595d0..768f701 100644
--- a/app/src/main/res/layout/fragment_personal_center.xml
+++ b/app/src/main/res/layout/fragment_personal_center.xml
@@ -4,7 +4,7 @@
     <data>
         <variable
             name="viewModel"
-            type="com.application.zhangshi_app_android.module.personal_center.PersonalCenterFragmentViewModel" />
+            type="com.application.zhangshi_app_android.ui.personal_center.PersonalCenterFragmentViewModel" />
     </data>
 
     <androidx.constraintlayout.widget.ConstraintLayout
diff --git a/app/src/main/res/layout/item_family_memorabilia.xml b/app/src/main/res/layout/item_family_memorabilia.xml
new file mode 100644
index 0000000..8d68bc2
--- /dev/null
+++ b/app/src/main/res/layout/item_family_memorabilia.xml
@@ -0,0 +1,283 @@
+<?xml version="1.0" encoding="utf-8"?>
+<layout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto">
+
+    <data>
+        <variable
+            name="bean"
+            type="com.application.zhangshi_app_android.bean.FamilyMemorabiliaBean" />
+    </data>
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        >
+        <androidx.cardview.widget.CardView
+            android:id="@+id/cardView"
+            android:layout_width="match_parent"
+            android:layout_height="@dimen/dp_40"
+            android:layout_margin="@dimen/dp_2"
+            app:cardCornerRadius="@dimen/dp_10"
+            app:cardBackgroundColor="@color/color_card_pink"
+            >
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:orientation="vertical"
+                android:paddingHorizontal="@dimen/dp_24"
+                >
+                <LinearLayout
+                    android:id="@+id/layout_title"
+                    android:layout_width="match_parent"
+                    android:layout_height="@dimen/dp_40"
+                    android:gravity="center_vertical"
+                    >
+                    <TextView
+                        android:layout_width="0dp"
+                        android:layout_height="wrap_content"
+                        android:textSize="@dimen/sp_16"
+                        android:textColor="@color/black"
+                        android:text="寮犳皬app绔嬮」"
+                        android:layout_weight="1"
+                        android:textStyle="bold"
+                        />
+                    <TextView
+                        android:layout_width="0dp"
+                        android:layout_height="wrap_content"
+                        android:layout_weight="1"
+                        android:textSize="@dimen/sp_16"
+                        android:textColor="@color/black"
+                        android:text="2023.3.1"
+                        android:textStyle="bold"
+                        android:gravity="end"
+                        />
+
+                </LinearLayout>
+                <LinearLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:orientation="vertical"
+                    >
+                    <LinearLayout
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:orientation="horizontal"
+                        android:layout_marginBottom="@dimen/dp_6"
+                        >
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:text="搴忓彿锛�"
+                            android:textColor="@color/black"
+                            android:textSize="@dimen/sp_12"
+                            android:textStyle="bold"
+                            />
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:text="01"
+                            android:textColor="@color/black"
+                            android:textSize="@dimen/sp_12"
+                            android:textStyle="bold"
+                            />
+                    </LinearLayout>
+                    <LinearLayout
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:orientation="horizontal"
+                        android:layout_marginBottom="@dimen/dp_6"
+                        >
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:text="浜虹墿锛�"
+                            android:textColor="@color/black"
+                            android:textSize="@dimen/sp_12"
+                            android:textStyle="bold"
+                            />
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:text="寮犱笁銆佹潕鍥涖�佸紶鍥涖�佹潕涓�"
+                            android:textColor="@color/black"
+                            android:textSize="@dimen/sp_12"
+                            android:textStyle="bold"
+                            />
+                    </LinearLayout>
+                    <LinearLayout
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:orientation="horizontal"
+                        android:layout_marginBottom="@dimen/dp_6"
+                        >
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:text="澶囨敞锛�"
+                            android:textColor="@color/black"
+                            android:textSize="@dimen/sp_12"
+                            android:textStyle="bold"
+                            />
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:text="椤圭洰绔嬮」"
+                            android:textColor="@color/black"
+                            android:textSize="@dimen/sp_12"
+                            android:textStyle="bold"
+                            />
+                    </LinearLayout>
+                    <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_marginBottom="@dimen/dp_6"
+                        android:text="鐢靛瓙鏂囦欢锛�"
+                        android:textColor="@color/black"
+                        android:textSize="@dimen/sp_12"
+                        android:textStyle="bold"
+                        />
+                    <LinearLayout
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:orientation="horizontal"
+                        android:layout_marginBottom="@dimen/dp_15"
+                        >
+
+                        <LinearLayout
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:orientation="vertical"
+                            android:gravity="center"
+                            >
+                            <ImageView
+                                android:layout_width="@dimen/dp_70"
+                                android:layout_height="@dimen/dp_45"
+                                android:background="@drawable/img_sakura"
+                                android:layout_marginBottom="@dimen/dp_6"
+                                />
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:text="sakura.jpg"
+                                android:textSize="@dimen/sp_10"
+                                android:textColor="@color/black"
+                                />
+                        </LinearLayout>
+                        <LinearLayout
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:orientation="vertical"
+                            android:gravity="center"
+                            android:layout_marginStart="@dimen/dp_10"
+                            >
+                            <ImageView
+                                android:layout_width="@dimen/dp_70"
+                                android:layout_height="@dimen/dp_45"
+                                android:background="@drawable/img_lotus"
+                                android:layout_marginBottom="@dimen/dp_6"
+                                />
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:text="lotus.jpg"
+                                android:textSize="@dimen/sp_10"
+                                android:textColor="@color/black"
+                                />
+                        </LinearLayout>
+                        <LinearLayout
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:orientation="vertical"
+                            android:gravity="center"
+                            android:layout_marginStart="@dimen/dp_10"
+                            >
+                            <androidx.cardview.widget.CardView
+                                android:layout_width="@dimen/dp_70"
+                                android:layout_height="@dimen/dp_45"
+                                android:layout_marginBottom="@dimen/dp_6"
+                                app:cardCornerRadius="@dimen/dp_5"
+                                >
+                                <ImageView
+                                    android:layout_width="@dimen/dp_70"
+                                    android:layout_height="@dimen/dp_45"
+                                    android:background="@drawable/img_sakura"
+                                    />
+                                <View
+                                    android:layout_width="match_parent"
+                                    android:layout_height="match_parent"
+                                    android:background="#52000000"
+                                    />
+                                <ImageView
+                                    android:layout_width="wrap_content"
+                                    android:layout_height="wrap_content"
+                                    android:background="@drawable/ic_play"
+                                    android:layout_gravity="center"
+                                    />
+                            </androidx.cardview.widget.CardView>
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:text="sakura.mp4"
+                                android:textSize="@dimen/sp_10"
+                                android:textColor="@color/black"
+                                />
+                        </LinearLayout>
+
+                    </LinearLayout>
+                    <LinearLayout
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_gravity="center"
+                        android:layout_marginBottom="@dimen/dp_12"
+                        >
+                        <LinearLayout
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            >
+                            <ImageView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:background="@drawable/ic_modify"
+                                android:layout_gravity="center"
+                                />
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:text="淇敼"
+                                android:textColor="@color/black"
+                                android:textSize="@dimen/sp_14"
+                                android:textStyle="bold"
+                                android:layout_marginStart="@dimen/dp_4"
+                                />
+                        </LinearLayout>
+                        <LinearLayout
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_alignParentEnd="true"
+                            android:layout_marginStart="@dimen/dp_52"
+                            >
+                            <ImageView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:background="@drawable/ic_delete"
+                                android:layout_gravity="center"
+                                />
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:text="鍒犻櫎"
+                                android:textColor="#FFE86F72"
+                                android:textSize="@dimen/sp_14"
+                                android:textStyle="bold"
+                                android:layout_marginStart="@dimen/dp_4"
+                                />
+                        </LinearLayout>
+                    </LinearLayout>
+
+                </LinearLayout>
+            </LinearLayout>
+
+        </androidx.cardview.widget.CardView>
+
+    </LinearLayout>
+</layout>
\ No newline at end of file
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index c167fe1..07cf7fc 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -8,8 +8,11 @@
     <color name="black">#FF000000</color>
     <color name="white">#FFFFFFFF</color>
 
-    <color name="color_title_background">#FFF08EBA</color>
+    <color name="color_normal_background">#FFFEF7FC</color>
+    <color name="color_title_bar_background">#FFF08EBA</color>
     <color name="color_FFF08EBA_text_pink">#FFF08EBA</color>
     <color name="color_FF666666_text_default">#FF666666</color>
+    <color name="color_card_pink">#FFFFE2EF</color>
+    <color name="color_card_blue">#FFE0EEFE</color>
 
 </resources>
\ No newline at end of file
diff --git a/app_base/build.gradle b/app_base/build.gradle
index feb503b..1e25110 100644
--- a/app_base/build.gradle
+++ b/app_base/build.gradle
@@ -62,5 +62,9 @@
     api 'com.geyifeng.immersionbar:immersionbar:3.2.2'
     // kotlin鎵╁睍锛堝彲閫夛級
 //    implementation 'com.geyifeng.immersionbar:immersionbar-ktx:3.2.2'
+    //鍥剧墖鐩稿叧
+    api 'com.github.bumptech.glide:glide:4.11.0'
+    //鍐呭瓨娉勯湶宸ュ叿
+    debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.9.1'
 
 }
\ No newline at end of file
diff --git a/app_base/src/main/java/com/android/app_base/base/adapter/BaseRVAdapter.java b/app_base/src/main/java/com/android/app_base/base/adapter/BaseRVAdapter.java
index da0d572..d7df1a6 100644
--- a/app_base/src/main/java/com/android/app_base/base/adapter/BaseRVAdapter.java
+++ b/app_base/src/main/java/com/android/app_base/base/adapter/BaseRVAdapter.java
@@ -23,31 +23,31 @@
  * @date 2023.03.02. 17:09
  * @desc
  */
-public abstract class BaseRVAdapter<T,VDB extends ViewDataBinding> extends RecyclerView.Adapter<BaseRVAdapter.BaseViewHolder<VDB>> {
+public abstract class BaseRVAdapter<T,VDB extends ViewDataBinding,VH extends BaseRVAdapter.BaseViewHolder<VDB>> extends RecyclerView.Adapter<VH> {
 
     /** 涓婁笅鏂囧璞� */
-    private final Context mContext;
+    protected final Context mContext;
 
     /** RecyclerView 瀵硅薄 */
-    private RecyclerView mRecyclerView;
+    protected RecyclerView mRecyclerView;
 
     /** 鏉$洰鐐瑰嚮鐩戝惉鍣� */
-    private OnItemClickListener mItemClickListener;
+    protected OnItemClickListener mItemClickListener;
     /** 鏉$洰闀挎寜鐩戝惉鍣� */
-    private OnItemLongClickListener mItemLongClickListener;
+    protected OnItemLongClickListener mItemLongClickListener;
     /**
      * 璇� adapter 涓婄粦瀹氱殑婊戝姩鐩戝惉鍣�
      */
-    private MyOnScrollListener myOnScrollListener;
+    protected MyOnScrollListener myOnScrollListener;
 
     /** 鏉$洰瀛� View 鐐瑰嚮鐩戝惉鍣� */
-    private SparseArray<OnChildClickListener> mChildClickListeners;
+    protected SparseArray<OnChildClickListener> mChildClickListeners;
     /** 鏉$洰瀛� View 闀挎寜鐩戝惉鍣� */
-    private SparseArray<OnChildLongClickListener> mChildLongClickListeners;
+    protected SparseArray<OnChildLongClickListener> mChildLongClickListeners;
     /**
      * 鍒楄〃鏁版嵁
      */
-    private List<T> mDataList;
+    protected List<T> mDataList;
 
     public BaseRVAdapter(Context context) {
         mContext = context;
@@ -65,16 +65,17 @@
 
     @NonNull
     @Override
-    public BaseViewHolder<VDB> onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+    public VH onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
         VDB itemBind = DataBindingUtil.inflate(LayoutInflater.from(parent.getContext()),getLayoutId(),parent,false);
-        return new BaseViewHolder<>(itemBind);
+        return getViewHolder(itemBind);
     }
 
     protected abstract int getLayoutId();
-    protected abstract void onBind(BaseViewHolder<VDB> holder, int position);
+    protected abstract void onBind(VH holder, int position);
+    protected abstract VH getViewHolder(VDB itemBind);
 
     @Override
-    public void onBindViewHolder(@NonNull BaseViewHolder<VDB> holder, int position) {
+    public void onBindViewHolder(@NonNull VH holder, int position) {
         View itemView = holder.itemView;
         // 璁剧疆鏉$洰鐨勭偣鍑诲拰闀挎寜浜嬩欢
         if (mItemClickListener != null) {
@@ -172,7 +173,7 @@
      * @param <VDB>
      */
     public static class BaseViewHolder<VDB extends ViewDataBinding> extends RecyclerView.ViewHolder{
-        private VDB binding;
+        protected VDB binding;
         public BaseViewHolder(@NonNull View itemView) {
             super(itemView);
 
@@ -216,9 +217,9 @@
         }
     }
     /**
-     * 浠庡ご閮� 杩藉姞涓�浜涙暟鎹� by hyz
+     * 浠庡ご閮� 杩藉姞涓�浜涙暟鎹�
      */
-    public void addDataFormHead(List<T> data) {
+    public void addDataFromHead(List<T> data) {
         if (data == null || data.size() == 0) {
             return;
         }
diff --git a/app_base/src/main/java/com/android/app_base/base/adapter/BaseFragmentAdapter.java b/app_base/src/main/java/com/android/app_base/base/adapter/BaseVp2FragmentAdapter.java
similarity index 80%
rename from app_base/src/main/java/com/android/app_base/base/adapter/BaseFragmentAdapter.java
rename to app_base/src/main/java/com/android/app_base/base/adapter/BaseVp2FragmentAdapter.java
index 7aa0bd4..0b809c6 100644
--- a/app_base/src/main/java/com/android/app_base/base/adapter/BaseFragmentAdapter.java
+++ b/app_base/src/main/java/com/android/app_base/base/adapter/BaseVp2FragmentAdapter.java
@@ -1,7 +1,6 @@
 package com.android.app_base.base.adapter;
 
 import androidx.annotation.NonNull;
-import androidx.collection.CircularArray;
 import androidx.fragment.app.Fragment;
 import androidx.fragment.app.FragmentActivity;
 import androidx.fragment.app.FragmentManager;
@@ -12,8 +11,6 @@
 import com.android.app_base.base.view.BaseFragment;
 
 import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
 import java.util.List;
 import java.util.concurrent.atomic.AtomicLong;
 
@@ -22,7 +19,7 @@
  * @date 2023.03.15. 14:36
  * @desc
  */
-public class BaseFragmentAdapter<F extends BaseFragment> extends FragmentStateAdapter {
+public class BaseVp2FragmentAdapter<F extends BaseFragment> extends FragmentStateAdapter {
 
 
     /**
@@ -50,15 +47,15 @@
     private ViewPager mViewPager;
 
 
-    public BaseFragmentAdapter(@NonNull FragmentActivity fragmentActivity) {
+    public BaseVp2FragmentAdapter(@NonNull FragmentActivity fragmentActivity) {
         super(fragmentActivity);
     }
 
-    public BaseFragmentAdapter(@NonNull Fragment fragment) {
+    public BaseVp2FragmentAdapter(@NonNull Fragment fragment) {
         super(fragment);
     }
 
-    public BaseFragmentAdapter(@NonNull FragmentManager fragmentManager, @NonNull Lifecycle lifecycle) {
+    public BaseVp2FragmentAdapter(@NonNull FragmentManager fragmentManager, @NonNull Lifecycle lifecycle) {
         super(fragmentManager, lifecycle);
     }
 
@@ -93,11 +90,11 @@
     /**
      * 娣诲姞 Fragment
      */
-    public BaseFragmentAdapter<F> addFragment(F fragment) {
+    public BaseVp2FragmentAdapter<F> addFragment(F fragment) {
         return addFragment(fragment, null);
     }
 
-    public BaseFragmentAdapter<F> addFragment(Fragment fragment, String title) {
+    public BaseVp2FragmentAdapter<F> addFragment(Fragment fragment, String title) {
         if (fragment != null) {
             mFragmentList.add(fragment);
             mTitleList.add(title);
@@ -109,7 +106,7 @@
     /**
      * 娣诲姞鎸囧畾浣嶇疆鐨凢ragment
      */
-    public BaseFragmentAdapter<F> addFragment(int index, Fragment fragment, String title) {
+    public BaseVp2FragmentAdapter<F> addFragment(int index, Fragment fragment, String title) {
         if (fragment != null && index >= 0 && index <= mFragmentList.size()) {
             mFragmentList.add(index, fragment);
             mTitleList.add(index, title);
@@ -121,7 +118,7 @@
     /**
      * 鍒犻櫎
      */
-    public BaseFragmentAdapter<F> removeFragment(int index) {
+    public BaseVp2FragmentAdapter<F> removeFragment(int index) {
         if (index >= 0 && index < mFragmentList.size()) {
             mFragmentList.remove(index);
             mTitleList.remove(index);
@@ -134,7 +131,7 @@
     /**
      * 鍒犻櫎鎵�鏈�
      */
-    public BaseFragmentAdapter<F> removeFragmentAll() {
+    public BaseVp2FragmentAdapter<F> removeFragmentAll() {
         mFragmentList.clear();
         mTitleList.clear();
         mIds.clear();
diff --git a/app_base/src/main/java/com/android/app_base/base/view/BaseActivity.java b/app_base/src/main/java/com/android/app_base/base/view/BaseActivity.java
index 2fb56c9..0c3c199 100644
--- a/app_base/src/main/java/com/android/app_base/base/view/BaseActivity.java
+++ b/app_base/src/main/java/com/android/app_base/base/view/BaseActivity.java
@@ -19,8 +19,11 @@
 import androidx.lifecycle.ViewModelProvider;
 
 import com.android.app_base.action.TitleBarAction;
+import com.android.app_base.base.BaseApplication;
 import com.android.app_base.base.viewmodel.BaseViewModel;
 import com.android.app_base.base.StateViewEnum;
+import com.android.app_base.utils.ScreenSizeUtils;
+import com.blankj.utilcode.util.AdaptScreenUtils;
 import com.gyf.immersionbar.ImmersionBar;
 import com.hjq.bar.OnTitleBarListener;
 import com.hjq.bar.TitleBar;
@@ -64,6 +67,8 @@
         initData();
         //椤甸潰浜嬩欢鐩戝惉鐨勬柟娉曪紝鐢ㄤ簬ViewModel灞傝浆鍒癡iew灞傜殑浜嬩欢娉ㄥ唽
         initLiveDataObserve();
+
+        ScreenSizeUtils.setCustomDensity(this, BaseApplication.getInstance());
     }
 
     @Override
@@ -231,12 +236,6 @@
             mTitleBar = obtainTitleBar(findViewById(Window.ID_ANDROID_CONTENT));
         }
         return mTitleBar;
-    }
-
-    @Override
-    public void onLeftClick(TitleBar titleBar) {
-        TitleBarAction.super.onLeftClick(titleBar);
-        onBackPressed();
     }
 
     /**
diff --git a/app_base/src/main/java/com/android/app_base/utils/ScreenSizeUtils.java b/app_base/src/main/java/com/android/app_base/utils/ScreenSizeUtils.java
index 67634fb..4576fd6 100644
--- a/app_base/src/main/java/com/android/app_base/utils/ScreenSizeUtils.java
+++ b/app_base/src/main/java/com/android/app_base/utils/ScreenSizeUtils.java
@@ -1,8 +1,15 @@
 package com.android.app_base.utils;
 
+import android.app.Activity;
+import android.app.Application;
+import android.content.ComponentCallbacks;
 import android.content.Context;
+import android.content.res.Configuration;
+import android.util.DisplayMetrics;
 
 import androidx.annotation.DimenRes;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
 
 /**
  * @author Ljj
@@ -32,7 +39,7 @@
      */
     public  static int getDP(Context context,@DimenRes int dpSize){
         float pxValue = context.getResources().getDimension(dpSize);//鑾峰彇瀵瑰簲璧勬簮鏂囦欢涓嬬殑sp鍊�
-        //灏唒x鍊艰浆鎹㈡垚sp鍊�
+        //灏唒x鍊艰浆鎹㈡垚dp鍊�
         return px2dip(context, pxValue);
     }
 
@@ -71,4 +78,50 @@
         final float scale = context.getResources().getDisplayMetrics().scaledDensity;
         return (int) (pxValue / scale + 0.5f);
     }
+    public static int getScreenWidth(Context context){
+        DisplayMetrics dm = context.getResources().getDisplayMetrics();
+        if(dm != null)return dm.widthPixels;
+        return 0;
+    }
+    public static int getScreenHeight(Context context){
+        DisplayMetrics dm = context.getResources().getDisplayMetrics();
+        if(dm != null)return dm.heightPixels;
+        return 0;
+    }
+
+    private static float sNoncompatDensity;
+    private static float sNoncompatScaledDensity;
+    public static void setCustomDensity(@NonNull Activity activity, @NonNull final Application application){
+        final  DisplayMetrics appDisplayMetrics = application.getResources().getDisplayMetrics();
+
+        if (sNoncompatDensity == 0){
+            sNoncompatDensity = appDisplayMetrics.density;
+            sNoncompatScaledDensity = appDisplayMetrics.scaledDensity;
+            application.registerComponentCallbacks(new ComponentCallbacks() {
+                @Override
+                public void onConfigurationChanged(@NonNull Configuration newConfig) {
+                    if (newConfig != null && newConfig.fontScale > 0){
+                        sNoncompatScaledDensity = application.getResources().getDisplayMetrics().scaledDensity;
+                    }
+                }
+
+                @Override
+                public void onLowMemory() {
+
+                }
+            });
+        }
+        final float targetDensity = appDisplayMetrics.widthPixels / 360;
+        final float targetScaledDensity = targetDensity * (sNoncompatScaledDensity / sNoncompatDensity);
+        final int targetDensityDpi = (int) (160*targetDensity);
+
+        appDisplayMetrics.density = targetDensity;
+        appDisplayMetrics.scaledDensity = targetScaledDensity;
+        appDisplayMetrics.densityDpi = targetDensityDpi;
+
+        final DisplayMetrics activityDisplayMetrics = activity.getResources().getDisplayMetrics();
+        activityDisplayMetrics.density = targetDensity;
+        activityDisplayMetrics.scaledDensity = targetScaledDensity;
+        activityDisplayMetrics.densityDpi = targetDensityDpi;
+    }
 }
diff --git a/app_base/src/main/java/com/android/app_base/widget/CustomScrollView.java b/app_base/src/main/java/com/android/app_base/widget/CustomScrollView.java
new file mode 100644
index 0000000..1ecc2be
--- /dev/null
+++ b/app_base/src/main/java/com/android/app_base/widget/CustomScrollView.java
@@ -0,0 +1,67 @@
+package com.android.app_base.widget;
+
+import android.content.Context;
+import android.util.AttributeSet;
+import android.view.MotionEvent;
+import android.widget.ScrollView;
+
+
+/**
+ * @author Ljj
+ * @date 2023.03.20. 16:25
+ * @desc
+ */
+public class CustomScrollView extends ScrollView {
+    int lastX = -1;
+    int lastY = -1;
+    public CustomScrollView(Context context) {
+        super(context);
+    }
+
+    public CustomScrollView(Context context, AttributeSet attrs) {
+        super(context, attrs);
+    }
+
+    public CustomScrollView(Context context, AttributeSet attrs, int defStyleAttr) {
+        super(context, attrs, defStyleAttr);
+    }
+
+
+    @Override
+    public boolean dispatchTouchEvent(MotionEvent ev) {
+        int x = (int) ev.getRawX();
+        int y = (int) ev.getRawY();
+        int dealtX = 0;
+        int dealtY = 0;
+
+        switch (ev.getAction()) {
+            case MotionEvent.ACTION_DOWN:
+                dealtX = 0;
+                dealtY = 0;
+                // 淇濊瘉瀛怴iew鑳藉鎺ユ敹鍒癆ction_move浜嬩欢
+                getParent().requestDisallowInterceptTouchEvent(true);
+                break;
+            case MotionEvent.ACTION_MOVE:
+                dealtX += Math.abs(x - lastX);
+                dealtY += Math.abs(y - lastY);
+                // 杩欓噷鏄鎷︽埅鐨勫垽鏂緷鎹槸宸﹀彸婊戝姩锛岃鑰呭彲鏍规嵁鑷繁鐨勯�昏緫杩涜鏄惁鎷︽埅
+                if (dealtX < dealtY) {
+                    getParent().requestDisallowInterceptTouchEvent(true);
+                    System.out.println("涓婁笅婊戝姩"+true);
+                    return super.dispatchTouchEvent(ev);
+                } else {
+                    getParent().requestDisallowInterceptTouchEvent(false);
+                    System.out.println("宸﹀彸婊戝姩"+false);
+                }
+                lastX = x;
+                lastY = y;
+                break;
+            case MotionEvent.ACTION_CANCEL:
+                break;
+            case MotionEvent.ACTION_UP:
+                break;
+
+        }
+        return super.dispatchTouchEvent(ev);
+    }
+}
diff --git a/app_base/src/main/java/com/android/app_base/widget/CustomTextView.java b/app_base/src/main/java/com/android/app_base/widget/CustomTextView.java
new file mode 100644
index 0000000..5198a95
--- /dev/null
+++ b/app_base/src/main/java/com/android/app_base/widget/CustomTextView.java
@@ -0,0 +1,89 @@
+package com.android.app_base.widget;
+
+import android.content.Context;
+import android.content.res.TypedArray;
+import android.graphics.Canvas;
+import android.graphics.LinearGradient;
+import android.graphics.Paint;
+import android.graphics.Shader;
+import android.util.AttributeSet;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.appcompat.widget.AppCompatTextView;
+
+import com.android.app_base.R;
+
+
+/**
+ * 鑷畾涔塗extView
+ * 涓棿鍗婇�忔槑鍜屽甫娓愬彉杈规
+ */
+public class CustomTextView extends AppCompatTextView {
+
+    private float borderWidth;//杈规瀹藉害
+    private int borderColor;//杈规棰滆壊
+    private boolean isBorderGradient;//杈规鏄惁娓愬彉
+    private int borderStartColor;//杈规娓愬彉寮�濮嬮鑹�
+    private int borderEndColor;//杈规娓愬彉缁撴潫棰滆壊
+    private float border_radius;//杈规鍦嗚
+
+    private Paint mPaint;
+    private LinearGradient shader;
+
+    public CustomTextView(@NonNull Context context) {
+        this(context,null);
+    }
+
+    public CustomTextView(@NonNull Context context, @Nullable AttributeSet attrs) {
+        this(context, attrs,0);
+    }
+
+    public CustomTextView(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
+        super(context, attrs, defStyleAttr);
+        TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.CustomTextView);
+        borderWidth = a.getDimension(R.styleable.CustomTextView_border_width,0);
+        borderColor = a.getColor(R.styleable.CustomTextView_border_color,0);
+        isBorderGradient = a.getBoolean(R.styleable.CustomTextView_is_border_gradient,false);
+        borderStartColor = a.getColor(R.styleable.CustomTextView_border_gradient_start_color,borderColor);
+        borderEndColor = a.getColor(R.styleable.CustomTextView_border_gradient_end_color,borderColor);
+        border_radius = a.getDimension(R.styleable.CustomTextView_border_radius,0);
+        a.recycle();
+
+        //鎶楅敮榻跨敾绗�
+        mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
+        //闃叉杈圭紭閿娇
+        mPaint.setAntiAlias(true);
+        mPaint.setStrokeJoin(Paint.Join.ROUND);
+        //闇�瑕侀噸鍐檕nDraw灏卞緱璋冪敤姝�
+        this.setWillNotDraw(false);
+
+    }
+
+    @Override
+    protected void onDraw(Canvas canvas) {
+
+        super.onDraw(canvas);
+        //鐢昏竟妗�
+        drawBorder(canvas);
+
+    }
+    private void drawBorder(Canvas canvas) {
+        mPaint.setStyle(Paint.Style.STROKE);
+        mPaint.setStrokeWidth(borderWidth);
+        if (isBorderGradient){
+            shader = new LinearGradient(0,0,getWidth(),0,borderStartColor,borderEndColor, Shader.TileMode.CLAMP);
+            mPaint.setShader(shader);
+        }else {
+            mPaint.setColor(borderColor);
+        }
+        if (border_radius > 0){
+            float realBorderWight = borderWidth / 2;
+            //闇�瑕佹妸鐭╁舰澶у皬宸﹀彸涓婁笅鍚勫噺鍘讳竴鍗婏紝涓嶇劧鍦嗚鏄剧ず浼氭湁闂
+            canvas.drawRoundRect(realBorderWight,realBorderWight,getWidth()-realBorderWight,getHeight()-realBorderWight,border_radius,border_radius,mPaint);
+        }else{
+            canvas.drawRect(0,0,getWidth(),getHeight(),mPaint);
+        }
+        mPaint.setShader(null);
+    }
+}
diff --git a/app_base/src/main/java/com/android/app_base/widget/LinearItemDecoration.java b/app_base/src/main/java/com/android/app_base/widget/LinearItemDecoration.java
new file mode 100644
index 0000000..24bbad4
--- /dev/null
+++ b/app_base/src/main/java/com/android/app_base/widget/LinearItemDecoration.java
@@ -0,0 +1,100 @@
+package com.android.app_base.widget;
+
+import android.graphics.Rect;
+import android.view.View;
+
+import androidx.annotation.NonNull;
+import androidx.recyclerview.widget.RecyclerView;
+
+/**
+* @author Ljj
+* @date 2023.03.18. 20:46
+* @desc
+*/public class LinearItemDecoration extends RecyclerView.ItemDecoration {
+    private int leftSpace;
+    private int rightSpace;
+    private int topSpace;
+    private int bottomSpace;
+
+    private int firstTop = -1;
+
+    public LinearItemDecoration(){
+
+    }
+
+    public LinearItemDecoration(int space) {
+        leftSpace = rightSpace = topSpace = bottomSpace = space;
+    }
+
+    public LinearItemDecoration(int horizontalSpace,int verticalSpace) {
+        rightSpace = leftSpace = horizontalSpace;
+        topSpace = bottomSpace = verticalSpace;
+    }
+
+    public LinearItemDecoration(int leftSpace, int rightSpace, int topSpace, int bottomSpace) {
+        this.leftSpace = leftSpace;
+        this.rightSpace = rightSpace;
+        this.topSpace = topSpace;
+        this.bottomSpace = bottomSpace;
+    }
+
+    @Override
+    public void getItemOffsets(@NonNull Rect outRect, @NonNull View view, @NonNull RecyclerView parent, @NonNull RecyclerView.State state) {
+        super.getItemOffsets(outRect, view, parent, state);
+        outRect.left = leftSpace;
+        outRect.right = rightSpace;
+        outRect.bottom = bottomSpace;
+        outRect.top = topSpace;
+        if ( firstTop != -1 && firstTop >= 0){
+            if (parent.getChildLayoutPosition(view) == 0)
+                outRect.top = firstTop;
+        }
+    }
+
+    public void setTopSpace(int topSpace) {
+        this.topSpace = topSpace;
+    }
+
+    public void setLeftSpace(int leftSpace) {
+        this.leftSpace = leftSpace;
+    }
+
+    public void setRightSpace(int rightSpace) {
+        this.rightSpace = rightSpace;
+    }
+
+    public void setBottomSpace(int bottomSpace) {
+        this.bottomSpace = bottomSpace;
+    }
+
+    public void setHorizontalSpace(int horizontalSpace){
+        rightSpace = leftSpace = horizontalSpace;
+    }
+    public void setVerticalSpace(int verticalSpace){
+        rightSpace = leftSpace = verticalSpace;
+    }
+
+    public void setFirstTop(int firstTop) {
+        this.firstTop = firstTop;
+    }
+
+    public int getLeftSpace() {
+        return leftSpace;
+    }
+
+    public int getRightSpace() {
+        return rightSpace;
+    }
+
+    public int getTopSpace() {
+        return topSpace;
+    }
+
+    public int getBottomSpace() {
+        return bottomSpace;
+    }
+
+    public int getFirstTop() {
+        return firstTop;
+    }
+}
diff --git a/app_base/src/main/res/values-sw1440dp/dimens.xml b/app_base/src/main/res/values-sw1440dp/dimens.xml
new file mode 100644
index 0000000..4c8794a
--- /dev/null
+++ b/app_base/src/main/res/values-sw1440dp/dimens.xml
@@ -0,0 +1,419 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources>
+	<dimen name="common_margin">@dimen/dp_15</dimen>
+	<dimen name="dp_m_60">-240.0000dp</dimen>
+	<dimen name="dp_m_30">-120.0000dp</dimen>
+	<dimen name="dp_m_20">-80.0000dp</dimen>
+	<dimen name="dp_m_12">-48.0000dp</dimen>
+	<dimen name="dp_m_10">-40.0000dp</dimen>
+	<dimen name="dp_m_8">-32.0000dp</dimen>
+	<dimen name="dp_m_5">-20.0000dp</dimen>
+	<dimen name="dp_m_2">-8.0000dp</dimen>
+	<dimen name="dp_m_1">-4.0000dp</dimen>
+	<dimen name="dp_0">0.0000dp</dimen>
+	<dimen name="dp_0_1">0.4000dp</dimen>
+	<dimen name="dp_0_5">2.0000dp</dimen>
+	<dimen name="dp_1">4.0000dp</dimen>
+	<dimen name="dp_1_5">6.0000dp</dimen>
+	<dimen name="dp_2">8.0000dp</dimen>
+	<dimen name="dp_2_5">10.0000dp</dimen>
+	<dimen name="dp_3">12.0000dp</dimen>
+	<dimen name="dp_3_5">14.0000dp</dimen>
+	<dimen name="dp_4">16.0000dp</dimen>
+	<dimen name="dp_4_5">18.0000dp</dimen>
+	<dimen name="dp_5">20.0000dp</dimen>
+	<dimen name="dp_6">24.0000dp</dimen>
+	<dimen name="dp_7">28.0000dp</dimen>
+	<dimen name="dp_8">32.0000dp</dimen>
+	<dimen name="dp_9">36.0000dp</dimen>
+	<dimen name="dp_10">40.0000dp</dimen>
+	<dimen name="dp_11">44.0000dp</dimen>
+	<dimen name="dp_12">48.0000dp</dimen>
+	<dimen name="dp_13">52.0000dp</dimen>
+	<dimen name="dp_14">56.0000dp</dimen>
+	<dimen name="dp_15">60.0000dp</dimen>
+	<dimen name="dp_16">64.0000dp</dimen>
+	<dimen name="dp_17">68.0000dp</dimen>
+	<dimen name="dp_18">72.0000dp</dimen>
+	<dimen name="dp_19">76.0000dp</dimen>
+	<dimen name="dp_20">80.0000dp</dimen>
+	<dimen name="dp_21">84.0000dp</dimen>
+	<dimen name="dp_22">88.0000dp</dimen>
+	<dimen name="dp_23">92.0000dp</dimen>
+	<dimen name="dp_24">96.0000dp</dimen>
+	<dimen name="dp_25">100.0000dp</dimen>
+	<dimen name="dp_26">104.0000dp</dimen>
+	<dimen name="dp_27">108.0000dp</dimen>
+	<dimen name="dp_28">112.0000dp</dimen>
+	<dimen name="dp_29">116.0000dp</dimen>
+	<dimen name="dp_30">120.0000dp</dimen>
+	<dimen name="dp_31">124.0000dp</dimen>
+	<dimen name="dp_32">128.0000dp</dimen>
+	<dimen name="dp_33">132.0000dp</dimen>
+	<dimen name="dp_34">136.0000dp</dimen>
+	<dimen name="dp_35">140.0000dp</dimen>
+	<dimen name="dp_36">144.0000dp</dimen>
+	<dimen name="dp_37">148.0000dp</dimen>
+	<dimen name="dp_38">152.0000dp</dimen>
+	<dimen name="dp_39">156.0000dp</dimen>
+	<dimen name="dp_40">160.0000dp</dimen>
+	<dimen name="dp_41">164.0000dp</dimen>
+	<dimen name="dp_42">168.0000dp</dimen>
+	<dimen name="dp_43">172.0000dp</dimen>
+	<dimen name="dp_44">176.0000dp</dimen>
+	<dimen name="dp_45">180.0000dp</dimen>
+	<dimen name="dp_46">184.0000dp</dimen>
+	<dimen name="dp_47">188.0000dp</dimen>
+	<dimen name="dp_48">192.0000dp</dimen>
+	<dimen name="dp_49">196.0000dp</dimen>
+	<dimen name="dp_50">200.0000dp</dimen>
+	<dimen name="dp_51">204.0000dp</dimen>
+	<dimen name="dp_52">208.0000dp</dimen>
+	<dimen name="dp_53">212.0000dp</dimen>
+	<dimen name="dp_54">216.0000dp</dimen>
+	<dimen name="dp_55">220.0000dp</dimen>
+	<dimen name="dp_56">224.0000dp</dimen>
+	<dimen name="dp_57">228.0000dp</dimen>
+	<dimen name="dp_58">232.0000dp</dimen>
+	<dimen name="dp_59">236.0000dp</dimen>
+	<dimen name="dp_60">240.0000dp</dimen>
+	<dimen name="dp_61">244.0000dp</dimen>
+	<dimen name="dp_62">248.0000dp</dimen>
+	<dimen name="dp_63">252.0000dp</dimen>
+	<dimen name="dp_64">256.0000dp</dimen>
+	<dimen name="dp_65">260.0000dp</dimen>
+	<dimen name="dp_66">264.0000dp</dimen>
+	<dimen name="dp_67">268.0000dp</dimen>
+	<dimen name="dp_68">272.0000dp</dimen>
+	<dimen name="dp_69">276.0000dp</dimen>
+	<dimen name="dp_70">280.0000dp</dimen>
+	<dimen name="dp_71">284.0000dp</dimen>
+	<dimen name="dp_72">288.0000dp</dimen>
+	<dimen name="dp_73">292.0000dp</dimen>
+	<dimen name="dp_74">296.0000dp</dimen>
+	<dimen name="dp_75">300.0000dp</dimen>
+	<dimen name="dp_76">304.0000dp</dimen>
+	<dimen name="dp_77">308.0000dp</dimen>
+	<dimen name="dp_78">312.0000dp</dimen>
+	<dimen name="dp_79">316.0000dp</dimen>
+	<dimen name="dp_80">320.0000dp</dimen>
+	<dimen name="dp_81">324.0000dp</dimen>
+	<dimen name="dp_82">328.0000dp</dimen>
+	<dimen name="dp_83">332.0000dp</dimen>
+	<dimen name="dp_84">336.0000dp</dimen>
+	<dimen name="dp_85">340.0000dp</dimen>
+	<dimen name="dp_86">344.0000dp</dimen>
+	<dimen name="dp_87">348.0000dp</dimen>
+	<dimen name="dp_88">352.0000dp</dimen>
+	<dimen name="dp_89">356.0000dp</dimen>
+	<dimen name="dp_90">360.0000dp</dimen>
+	<dimen name="dp_91">364.0000dp</dimen>
+	<dimen name="dp_92">368.0000dp</dimen>
+	<dimen name="dp_93">372.0000dp</dimen>
+	<dimen name="dp_94">376.0000dp</dimen>
+	<dimen name="dp_95">380.0000dp</dimen>
+	<dimen name="dp_96">384.0000dp</dimen>
+	<dimen name="dp_97">388.0000dp</dimen>
+	<dimen name="dp_98">392.0000dp</dimen>
+	<dimen name="dp_99">396.0000dp</dimen>
+	<dimen name="dp_100">400.0000dp</dimen>
+	<dimen name="dp_101">404.0000dp</dimen>
+	<dimen name="dp_102">408.0000dp</dimen>
+	<dimen name="dp_103">412.0000dp</dimen>
+	<dimen name="dp_104">416.0000dp</dimen>
+	<dimen name="dp_105">420.0000dp</dimen>
+	<dimen name="dp_106">424.0000dp</dimen>
+	<dimen name="dp_107">428.0000dp</dimen>
+	<dimen name="dp_108">432.0000dp</dimen>
+	<dimen name="dp_109">436.0000dp</dimen>
+	<dimen name="dp_110">440.0000dp</dimen>
+	<dimen name="dp_111">444.0000dp</dimen>
+	<dimen name="dp_112">448.0000dp</dimen>
+	<dimen name="dp_113">452.0000dp</dimen>
+	<dimen name="dp_114">456.0000dp</dimen>
+	<dimen name="dp_115">460.0000dp</dimen>
+	<dimen name="dp_116">464.0000dp</dimen>
+	<dimen name="dp_117">468.0000dp</dimen>
+	<dimen name="dp_118">472.0000dp</dimen>
+	<dimen name="dp_119">476.0000dp</dimen>
+	<dimen name="dp_120">480.0000dp</dimen>
+	<dimen name="dp_121">484.0000dp</dimen>
+	<dimen name="dp_122">488.0000dp</dimen>
+	<dimen name="dp_123">492.0000dp</dimen>
+	<dimen name="dp_124">496.0000dp</dimen>
+	<dimen name="dp_125">500.0000dp</dimen>
+	<dimen name="dp_126">504.0000dp</dimen>
+	<dimen name="dp_127">508.0000dp</dimen>
+	<dimen name="dp_128">512.0000dp</dimen>
+	<dimen name="dp_129">516.0000dp</dimen>
+	<dimen name="dp_130">520.0000dp</dimen>
+	<dimen name="dp_131">524.0000dp</dimen>
+	<dimen name="dp_132">528.0000dp</dimen>
+	<dimen name="dp_133">532.0000dp</dimen>
+	<dimen name="dp_134">536.0000dp</dimen>
+	<dimen name="dp_135">540.0000dp</dimen>
+	<dimen name="dp_136">544.0000dp</dimen>
+	<dimen name="dp_137">548.0000dp</dimen>
+	<dimen name="dp_138">552.0000dp</dimen>
+	<dimen name="dp_139">556.0000dp</dimen>
+	<dimen name="dp_140">560.0000dp</dimen>
+	<dimen name="dp_141">564.0000dp</dimen>
+	<dimen name="dp_142">568.0000dp</dimen>
+	<dimen name="dp_143">572.0000dp</dimen>
+	<dimen name="dp_144">576.0000dp</dimen>
+	<dimen name="dp_145">580.0000dp</dimen>
+	<dimen name="dp_146">584.0000dp</dimen>
+	<dimen name="dp_147">588.0000dp</dimen>
+	<dimen name="dp_148">592.0000dp</dimen>
+	<dimen name="dp_149">596.0000dp</dimen>
+	<dimen name="dp_150">600.0000dp</dimen>
+	<dimen name="dp_151">604.0000dp</dimen>
+	<dimen name="dp_152">608.0000dp</dimen>
+	<dimen name="dp_153">612.0000dp</dimen>
+	<dimen name="dp_154">616.0000dp</dimen>
+	<dimen name="dp_155">620.0000dp</dimen>
+	<dimen name="dp_156">624.0000dp</dimen>
+	<dimen name="dp_157">628.0000dp</dimen>
+	<dimen name="dp_158">632.0000dp</dimen>
+	<dimen name="dp_159">636.0000dp</dimen>
+	<dimen name="dp_160">640.0000dp</dimen>
+	<dimen name="dp_161">644.0000dp</dimen>
+	<dimen name="dp_162">648.0000dp</dimen>
+	<dimen name="dp_163">652.0000dp</dimen>
+	<dimen name="dp_164">656.0000dp</dimen>
+	<dimen name="dp_165">660.0000dp</dimen>
+	<dimen name="dp_166">664.0000dp</dimen>
+	<dimen name="dp_167">668.0000dp</dimen>
+	<dimen name="dp_168">672.0000dp</dimen>
+	<dimen name="dp_169">676.0000dp</dimen>
+	<dimen name="dp_170">680.0000dp</dimen>
+	<dimen name="dp_171">684.0000dp</dimen>
+	<dimen name="dp_172">688.0000dp</dimen>
+	<dimen name="dp_173">692.0000dp</dimen>
+	<dimen name="dp_174">696.0000dp</dimen>
+	<dimen name="dp_175">700.0000dp</dimen>
+	<dimen name="dp_176">704.0000dp</dimen>
+	<dimen name="dp_177">708.0000dp</dimen>
+	<dimen name="dp_178">712.0000dp</dimen>
+	<dimen name="dp_179">716.0000dp</dimen>
+	<dimen name="dp_180">720.0000dp</dimen>
+	<dimen name="dp_181">724.0000dp</dimen>
+	<dimen name="dp_182">728.0000dp</dimen>
+	<dimen name="dp_183">732.0000dp</dimen>
+	<dimen name="dp_184">736.0000dp</dimen>
+	<dimen name="dp_185">740.0000dp</dimen>
+	<dimen name="dp_186">744.0000dp</dimen>
+	<dimen name="dp_187">748.0000dp</dimen>
+	<dimen name="dp_188">752.0000dp</dimen>
+	<dimen name="dp_189">756.0000dp</dimen>
+	<dimen name="dp_190">760.0000dp</dimen>
+	<dimen name="dp_191">764.0000dp</dimen>
+	<dimen name="dp_192">768.0000dp</dimen>
+	<dimen name="dp_193">772.0000dp</dimen>
+	<dimen name="dp_194">776.0000dp</dimen>
+	<dimen name="dp_195">780.0000dp</dimen>
+	<dimen name="dp_196">784.0000dp</dimen>
+	<dimen name="dp_197">788.0000dp</dimen>
+	<dimen name="dp_198">792.0000dp</dimen>
+	<dimen name="dp_199">796.0000dp</dimen>
+	<dimen name="dp_200">800.0000dp</dimen>
+	<dimen name="dp_201">804.0000dp</dimen>
+	<dimen name="dp_202">808.0000dp</dimen>
+	<dimen name="dp_203">812.0000dp</dimen>
+	<dimen name="dp_204">816.0000dp</dimen>
+	<dimen name="dp_205">820.0000dp</dimen>
+	<dimen name="dp_206">824.0000dp</dimen>
+	<dimen name="dp_207">828.0000dp</dimen>
+	<dimen name="dp_208">832.0000dp</dimen>
+	<dimen name="dp_209">836.0000dp</dimen>
+	<dimen name="dp_210">840.0000dp</dimen>
+	<dimen name="dp_211">844.0000dp</dimen>
+	<dimen name="dp_212">848.0000dp</dimen>
+	<dimen name="dp_213">852.0000dp</dimen>
+	<dimen name="dp_214">856.0000dp</dimen>
+	<dimen name="dp_215">860.0000dp</dimen>
+	<dimen name="dp_216">864.0000dp</dimen>
+	<dimen name="dp_217">868.0000dp</dimen>
+	<dimen name="dp_218">872.0000dp</dimen>
+	<dimen name="dp_219">876.0000dp</dimen>
+	<dimen name="dp_220">880.0000dp</dimen>
+	<dimen name="dp_221">884.0000dp</dimen>
+	<dimen name="dp_222">888.0000dp</dimen>
+	<dimen name="dp_223">892.0000dp</dimen>
+	<dimen name="dp_224">896.0000dp</dimen>
+	<dimen name="dp_225">900.0000dp</dimen>
+	<dimen name="dp_226">904.0000dp</dimen>
+	<dimen name="dp_227">908.0000dp</dimen>
+	<dimen name="dp_228">912.0000dp</dimen>
+	<dimen name="dp_229">916.0000dp</dimen>
+	<dimen name="dp_230">920.0000dp</dimen>
+	<dimen name="dp_231">924.0000dp</dimen>
+	<dimen name="dp_232">928.0000dp</dimen>
+	<dimen name="dp_233">932.0000dp</dimen>
+	<dimen name="dp_234">936.0000dp</dimen>
+	<dimen name="dp_235">940.0000dp</dimen>
+	<dimen name="dp_236">944.0000dp</dimen>
+	<dimen name="dp_237">948.0000dp</dimen>
+	<dimen name="dp_238">952.0000dp</dimen>
+	<dimen name="dp_239">956.0000dp</dimen>
+	<dimen name="dp_240">960.0000dp</dimen>
+	<dimen name="dp_241">964.0000dp</dimen>
+	<dimen name="dp_242">968.0000dp</dimen>
+	<dimen name="dp_243">972.0000dp</dimen>
+	<dimen name="dp_244">976.0000dp</dimen>
+	<dimen name="dp_245">980.0000dp</dimen>
+	<dimen name="dp_246">984.0000dp</dimen>
+	<dimen name="dp_247">988.0000dp</dimen>
+	<dimen name="dp_248">992.0000dp</dimen>
+	<dimen name="dp_249">996.0000dp</dimen>
+	<dimen name="dp_250">1000.0000dp</dimen>
+	<dimen name="dp_251">1004.0000dp</dimen>
+	<dimen name="dp_252">1008.0000dp</dimen>
+	<dimen name="dp_253">1012.0000dp</dimen>
+	<dimen name="dp_254">1016.0000dp</dimen>
+	<dimen name="dp_255">1020.0000dp</dimen>
+	<dimen name="dp_256">1024.0000dp</dimen>
+	<dimen name="dp_257">1028.0000dp</dimen>
+	<dimen name="dp_258">1032.0000dp</dimen>
+	<dimen name="dp_259">1036.0000dp</dimen>
+	<dimen name="dp_260">1040.0000dp</dimen>
+	<dimen name="dp_261">1044.0000dp</dimen>
+	<dimen name="dp_262">1048.0000dp</dimen>
+	<dimen name="dp_263">1052.0000dp</dimen>
+	<dimen name="dp_264">1056.0000dp</dimen>
+	<dimen name="dp_265">1060.0000dp</dimen>
+	<dimen name="dp_266">1064.0000dp</dimen>
+	<dimen name="dp_267">1068.0000dp</dimen>
+	<dimen name="dp_268">1072.0000dp</dimen>
+	<dimen name="dp_269">1076.0000dp</dimen>
+	<dimen name="dp_270">1080.0000dp</dimen>
+	<dimen name="dp_271">1084.0000dp</dimen>
+	<dimen name="dp_272">1088.0000dp</dimen>
+	<dimen name="dp_273">1092.0000dp</dimen>
+	<dimen name="dp_274">1096.0000dp</dimen>
+	<dimen name="dp_275">1100.0000dp</dimen>
+	<dimen name="dp_276">1104.0000dp</dimen>
+	<dimen name="dp_277">1108.0000dp</dimen>
+	<dimen name="dp_278">1112.0000dp</dimen>
+	<dimen name="dp_279">1116.0000dp</dimen>
+	<dimen name="dp_280">1120.0000dp</dimen>
+	<dimen name="dp_281">1124.0000dp</dimen>
+	<dimen name="dp_282">1128.0000dp</dimen>
+	<dimen name="dp_283">1132.0000dp</dimen>
+	<dimen name="dp_284">1136.0000dp</dimen>
+	<dimen name="dp_285">1140.0000dp</dimen>
+	<dimen name="dp_286">1144.0000dp</dimen>
+	<dimen name="dp_287">1148.0000dp</dimen>
+	<dimen name="dp_288">1152.0000dp</dimen>
+	<dimen name="dp_289">1156.0000dp</dimen>
+	<dimen name="dp_290">1160.0000dp</dimen>
+	<dimen name="dp_291">1164.0000dp</dimen>
+	<dimen name="dp_292">1168.0000dp</dimen>
+	<dimen name="dp_293">1172.0000dp</dimen>
+	<dimen name="dp_294">1176.0000dp</dimen>
+	<dimen name="dp_295">1180.0000dp</dimen>
+	<dimen name="dp_296">1184.0000dp</dimen>
+	<dimen name="dp_297">1188.0000dp</dimen>
+	<dimen name="dp_298">1192.0000dp</dimen>
+	<dimen name="dp_299">1196.0000dp</dimen>
+	<dimen name="dp_300">1200.0000dp</dimen>
+	<dimen name="dp_301">1204.0000dp</dimen>
+	<dimen name="dp_302">1208.0000dp</dimen>
+	<dimen name="dp_303">1212.0000dp</dimen>
+	<dimen name="dp_304">1216.0000dp</dimen>
+	<dimen name="dp_305">1220.0000dp</dimen>
+	<dimen name="dp_306">1224.0000dp</dimen>
+	<dimen name="dp_307">1228.0000dp</dimen>
+	<dimen name="dp_308">1232.0000dp</dimen>
+	<dimen name="dp_309">1236.0000dp</dimen>
+	<dimen name="dp_310">1240.0000dp</dimen>
+	<dimen name="dp_311">1244.0000dp</dimen>
+	<dimen name="dp_312">1248.0000dp</dimen>
+	<dimen name="dp_313">1252.0000dp</dimen>
+	<dimen name="dp_314">1256.0000dp</dimen>
+	<dimen name="dp_315">1260.0000dp</dimen>
+	<dimen name="dp_316">1264.0000dp</dimen>
+	<dimen name="dp_317">1268.0000dp</dimen>
+	<dimen name="dp_318">1272.0000dp</dimen>
+	<dimen name="dp_319">1276.0000dp</dimen>
+	<dimen name="dp_320">1280.0000dp</dimen>
+	<dimen name="dp_321">1284.0000dp</dimen>
+	<dimen name="dp_322">1288.0000dp</dimen>
+	<dimen name="dp_323">1292.0000dp</dimen>
+	<dimen name="dp_324">1296.0000dp</dimen>
+	<dimen name="dp_325">1300.0000dp</dimen>
+	<dimen name="dp_326">1304.0000dp</dimen>
+	<dimen name="dp_327">1308.0000dp</dimen>
+	<dimen name="dp_328">1312.0000dp</dimen>
+	<dimen name="dp_329">1316.0000dp</dimen>
+	<dimen name="dp_330">1320.0000dp</dimen>
+	<dimen name="dp_331">1324.0000dp</dimen>
+	<dimen name="dp_332">1328.0000dp</dimen>
+	<dimen name="dp_333">1332.0000dp</dimen>
+	<dimen name="dp_334">1336.0000dp</dimen>
+	<dimen name="dp_335">1340.0000dp</dimen>
+	<dimen name="dp_336">1344.0000dp</dimen>
+	<dimen name="dp_337">1348.0000dp</dimen>
+	<dimen name="dp_338">1352.0000dp</dimen>
+	<dimen name="dp_339">1356.0000dp</dimen>
+	<dimen name="dp_340">1360.0000dp</dimen>
+	<dimen name="dp_341">1364.0000dp</dimen>
+	<dimen name="dp_342">1368.0000dp</dimen>
+	<dimen name="dp_343">1372.0000dp</dimen>
+	<dimen name="dp_344">1376.0000dp</dimen>
+	<dimen name="dp_345">1380.0000dp</dimen>
+	<dimen name="dp_346">1384.0000dp</dimen>
+	<dimen name="dp_347">1388.0000dp</dimen>
+	<dimen name="dp_348">1392.0000dp</dimen>
+	<dimen name="dp_349">1396.0000dp</dimen>
+	<dimen name="dp_350">1400.0000dp</dimen>
+	<dimen name="dp_351">1404.0000dp</dimen>
+	<dimen name="dp_352">1408.0000dp</dimen>
+	<dimen name="dp_353">1412.0000dp</dimen>
+	<dimen name="dp_354">1416.0000dp</dimen>
+	<dimen name="dp_355">1420.0000dp</dimen>
+	<dimen name="dp_356">1424.0000dp</dimen>
+	<dimen name="dp_357">1428.0000dp</dimen>
+	<dimen name="dp_358">1432.0000dp</dimen>
+	<dimen name="dp_359">1436.0000dp</dimen>
+	<dimen name="dp_360">1440.0000dp</dimen>
+	<dimen name="dp_365">1460.0000dp</dimen>
+	<dimen name="dp_370">1480.0000dp</dimen>
+	<dimen name="dp_400">1600.0000dp</dimen>
+	<dimen name="dp_410">1640.0000dp</dimen>
+	<dimen name="dp_422">1688.0000dp</dimen>
+	<dimen name="dp_472">1888.0000dp</dimen>
+	<dimen name="dp_500">2000.0000dp</dimen>
+	<dimen name="dp_600">2400.0000dp</dimen>
+	<dimen name="dp_640">2560.0000dp</dimen>
+	<dimen name="dp_720">2880.0000dp</dimen>
+	<dimen name="sp_6">24.0000sp</dimen>
+	<dimen name="sp_7">28.0000sp</dimen>
+	<dimen name="sp_8">32.0000sp</dimen>
+	<dimen name="sp_9">36.0000sp</dimen>
+	<dimen name="sp_10">40.0000sp</dimen>
+	<dimen name="sp_11">44.0000sp</dimen>
+	<dimen name="sp_12">48.0000sp</dimen>
+	<dimen name="sp_13">52.0000sp</dimen>
+	<dimen name="sp_14">56.0000sp</dimen>
+	<dimen name="sp_15">60.0000sp</dimen>
+	<dimen name="sp_16">64.0000sp</dimen>
+	<dimen name="sp_17">68.0000sp</dimen>
+	<dimen name="sp_18">72.0000sp</dimen>
+	<dimen name="sp_19">76.0000sp</dimen>
+	<dimen name="sp_20">80.0000sp</dimen>
+	<dimen name="sp_21">84.0000sp</dimen>
+	<dimen name="sp_22">88.0000sp</dimen>
+	<dimen name="sp_23">92.0000sp</dimen>
+	<dimen name="sp_24">96.0000sp</dimen>
+	<dimen name="sp_25">100.0000sp</dimen>
+	<dimen name="sp_28">112.0000sp</dimen>
+	<dimen name="sp_30">120.0000sp</dimen>
+	<dimen name="sp_32">128.0000sp</dimen>
+	<dimen name="sp_34">136.0000sp</dimen>
+	<dimen name="sp_36">144.0000sp</dimen>
+	<dimen name="sp_38">152.0000sp</dimen>
+	<dimen name="sp_40">160.0000sp</dimen>
+	<dimen name="sp_42">168.0000sp</dimen>
+	<dimen name="sp_48">192.0000sp</dimen>
+</resources>
\ No newline at end of file
diff --git a/app_base/src/main/res/values-sw360dp/dimens.xml b/app_base/src/main/res/values-sw360dp/dimens.xml
new file mode 100644
index 0000000..67038b6
--- /dev/null
+++ b/app_base/src/main/res/values-sw360dp/dimens.xml
@@ -0,0 +1,419 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources>
+	<dimen name="common_margin">@dimen/dp_15</dimen>
+	<dimen name="dp_m_60">-60.0000dp</dimen>
+	<dimen name="dp_m_30">-30.0000dp</dimen>
+	<dimen name="dp_m_20">-20.0000dp</dimen>
+	<dimen name="dp_m_12">-12.0000dp</dimen>
+	<dimen name="dp_m_10">-10.0000dp</dimen>
+	<dimen name="dp_m_8">-8.0000dp</dimen>
+	<dimen name="dp_m_5">-5.0000dp</dimen>
+	<dimen name="dp_m_2">-2.0000dp</dimen>
+	<dimen name="dp_m_1">-1.0000dp</dimen>
+	<dimen name="dp_0">0.0000dp</dimen>
+	<dimen name="dp_0_1">0.1000dp</dimen>
+	<dimen name="dp_0_5">0.5000dp</dimen>
+	<dimen name="dp_1">1.0000dp</dimen>
+	<dimen name="dp_1_5">1.5000dp</dimen>
+	<dimen name="dp_2">2.0000dp</dimen>
+	<dimen name="dp_2_5">2.5000dp</dimen>
+	<dimen name="dp_3">3.0000dp</dimen>
+	<dimen name="dp_3_5">3.5000dp</dimen>
+	<dimen name="dp_4">4.0000dp</dimen>
+	<dimen name="dp_4_5">4.5000dp</dimen>
+	<dimen name="dp_5">5.0000dp</dimen>
+	<dimen name="dp_6">6.0000dp</dimen>
+	<dimen name="dp_7">7.0000dp</dimen>
+	<dimen name="dp_8">8.0000dp</dimen>
+	<dimen name="dp_9">9.0000dp</dimen>
+	<dimen name="dp_10">10.0000dp</dimen>
+	<dimen name="dp_11">11.0000dp</dimen>
+	<dimen name="dp_12">12.0000dp</dimen>
+	<dimen name="dp_13">13.0000dp</dimen>
+	<dimen name="dp_14">14.0000dp</dimen>
+	<dimen name="dp_15">15.0000dp</dimen>
+	<dimen name="dp_16">16.0000dp</dimen>
+	<dimen name="dp_17">17.0000dp</dimen>
+	<dimen name="dp_18">18.0000dp</dimen>
+	<dimen name="dp_19">19.0000dp</dimen>
+	<dimen name="dp_20">20.0000dp</dimen>
+	<dimen name="dp_21">21.0000dp</dimen>
+	<dimen name="dp_22">22.0000dp</dimen>
+	<dimen name="dp_23">23.0000dp</dimen>
+	<dimen name="dp_24">24.0000dp</dimen>
+	<dimen name="dp_25">25.0000dp</dimen>
+	<dimen name="dp_26">26.0000dp</dimen>
+	<dimen name="dp_27">27.0000dp</dimen>
+	<dimen name="dp_28">28.0000dp</dimen>
+	<dimen name="dp_29">29.0000dp</dimen>
+	<dimen name="dp_30">30.0000dp</dimen>
+	<dimen name="dp_31">31.0000dp</dimen>
+	<dimen name="dp_32">32.0000dp</dimen>
+	<dimen name="dp_33">33.0000dp</dimen>
+	<dimen name="dp_34">34.0000dp</dimen>
+	<dimen name="dp_35">35.0000dp</dimen>
+	<dimen name="dp_36">36.0000dp</dimen>
+	<dimen name="dp_37">37.0000dp</dimen>
+	<dimen name="dp_38">38.0000dp</dimen>
+	<dimen name="dp_39">39.0000dp</dimen>
+	<dimen name="dp_40">40.0000dp</dimen>
+	<dimen name="dp_41">41.0000dp</dimen>
+	<dimen name="dp_42">42.0000dp</dimen>
+	<dimen name="dp_43">43.0000dp</dimen>
+	<dimen name="dp_44">44.0000dp</dimen>
+	<dimen name="dp_45">45.0000dp</dimen>
+	<dimen name="dp_46">46.0000dp</dimen>
+	<dimen name="dp_47">47.0000dp</dimen>
+	<dimen name="dp_48">48.0000dp</dimen>
+	<dimen name="dp_49">49.0000dp</dimen>
+	<dimen name="dp_50">50.0000dp</dimen>
+	<dimen name="dp_51">51.0000dp</dimen>
+	<dimen name="dp_52">52.0000dp</dimen>
+	<dimen name="dp_53">53.0000dp</dimen>
+	<dimen name="dp_54">54.0000dp</dimen>
+	<dimen name="dp_55">55.0000dp</dimen>
+	<dimen name="dp_56">56.0000dp</dimen>
+	<dimen name="dp_57">57.0000dp</dimen>
+	<dimen name="dp_58">58.0000dp</dimen>
+	<dimen name="dp_59">59.0000dp</dimen>
+	<dimen name="dp_60">60.0000dp</dimen>
+	<dimen name="dp_61">61.0000dp</dimen>
+	<dimen name="dp_62">62.0000dp</dimen>
+	<dimen name="dp_63">63.0000dp</dimen>
+	<dimen name="dp_64">64.0000dp</dimen>
+	<dimen name="dp_65">65.0000dp</dimen>
+	<dimen name="dp_66">66.0000dp</dimen>
+	<dimen name="dp_67">67.0000dp</dimen>
+	<dimen name="dp_68">68.0000dp</dimen>
+	<dimen name="dp_69">69.0000dp</dimen>
+	<dimen name="dp_70">70.0000dp</dimen>
+	<dimen name="dp_71">71.0000dp</dimen>
+	<dimen name="dp_72">72.0000dp</dimen>
+	<dimen name="dp_73">73.0000dp</dimen>
+	<dimen name="dp_74">74.0000dp</dimen>
+	<dimen name="dp_75">75.0000dp</dimen>
+	<dimen name="dp_76">76.0000dp</dimen>
+	<dimen name="dp_77">77.0000dp</dimen>
+	<dimen name="dp_78">78.0000dp</dimen>
+	<dimen name="dp_79">79.0000dp</dimen>
+	<dimen name="dp_80">80.0000dp</dimen>
+	<dimen name="dp_81">81.0000dp</dimen>
+	<dimen name="dp_82">82.0000dp</dimen>
+	<dimen name="dp_83">83.0000dp</dimen>
+	<dimen name="dp_84">84.0000dp</dimen>
+	<dimen name="dp_85">85.0000dp</dimen>
+	<dimen name="dp_86">86.0000dp</dimen>
+	<dimen name="dp_87">87.0000dp</dimen>
+	<dimen name="dp_88">88.0000dp</dimen>
+	<dimen name="dp_89">89.0000dp</dimen>
+	<dimen name="dp_90">90.0000dp</dimen>
+	<dimen name="dp_91">91.0000dp</dimen>
+	<dimen name="dp_92">92.0000dp</dimen>
+	<dimen name="dp_93">93.0000dp</dimen>
+	<dimen name="dp_94">94.0000dp</dimen>
+	<dimen name="dp_95">95.0000dp</dimen>
+	<dimen name="dp_96">96.0000dp</dimen>
+	<dimen name="dp_97">97.0000dp</dimen>
+	<dimen name="dp_98">98.0000dp</dimen>
+	<dimen name="dp_99">99.0000dp</dimen>
+	<dimen name="dp_100">100.0000dp</dimen>
+	<dimen name="dp_101">101.0000dp</dimen>
+	<dimen name="dp_102">102.0000dp</dimen>
+	<dimen name="dp_103">103.0000dp</dimen>
+	<dimen name="dp_104">104.0000dp</dimen>
+	<dimen name="dp_105">105.0000dp</dimen>
+	<dimen name="dp_106">106.0000dp</dimen>
+	<dimen name="dp_107">107.0000dp</dimen>
+	<dimen name="dp_108">108.0000dp</dimen>
+	<dimen name="dp_109">109.0000dp</dimen>
+	<dimen name="dp_110">110.0000dp</dimen>
+	<dimen name="dp_111">111.0000dp</dimen>
+	<dimen name="dp_112">112.0000dp</dimen>
+	<dimen name="dp_113">113.0000dp</dimen>
+	<dimen name="dp_114">114.0000dp</dimen>
+	<dimen name="dp_115">115.0000dp</dimen>
+	<dimen name="dp_116">116.0000dp</dimen>
+	<dimen name="dp_117">117.0000dp</dimen>
+	<dimen name="dp_118">118.0000dp</dimen>
+	<dimen name="dp_119">119.0000dp</dimen>
+	<dimen name="dp_120">120.0000dp</dimen>
+	<dimen name="dp_121">121.0000dp</dimen>
+	<dimen name="dp_122">122.0000dp</dimen>
+	<dimen name="dp_123">123.0000dp</dimen>
+	<dimen name="dp_124">124.0000dp</dimen>
+	<dimen name="dp_125">125.0000dp</dimen>
+	<dimen name="dp_126">126.0000dp</dimen>
+	<dimen name="dp_127">127.0000dp</dimen>
+	<dimen name="dp_128">128.0000dp</dimen>
+	<dimen name="dp_129">129.0000dp</dimen>
+	<dimen name="dp_130">130.0000dp</dimen>
+	<dimen name="dp_131">131.0000dp</dimen>
+	<dimen name="dp_132">132.0000dp</dimen>
+	<dimen name="dp_133">133.0000dp</dimen>
+	<dimen name="dp_134">134.0000dp</dimen>
+	<dimen name="dp_135">135.0000dp</dimen>
+	<dimen name="dp_136">136.0000dp</dimen>
+	<dimen name="dp_137">137.0000dp</dimen>
+	<dimen name="dp_138">138.0000dp</dimen>
+	<dimen name="dp_139">139.0000dp</dimen>
+	<dimen name="dp_140">140.0000dp</dimen>
+	<dimen name="dp_141">141.0000dp</dimen>
+	<dimen name="dp_142">142.0000dp</dimen>
+	<dimen name="dp_143">143.0000dp</dimen>
+	<dimen name="dp_144">144.0000dp</dimen>
+	<dimen name="dp_145">145.0000dp</dimen>
+	<dimen name="dp_146">146.0000dp</dimen>
+	<dimen name="dp_147">147.0000dp</dimen>
+	<dimen name="dp_148">148.0000dp</dimen>
+	<dimen name="dp_149">149.0000dp</dimen>
+	<dimen name="dp_150">150.0000dp</dimen>
+	<dimen name="dp_151">151.0000dp</dimen>
+	<dimen name="dp_152">152.0000dp</dimen>
+	<dimen name="dp_153">153.0000dp</dimen>
+	<dimen name="dp_154">154.0000dp</dimen>
+	<dimen name="dp_155">155.0000dp</dimen>
+	<dimen name="dp_156">156.0000dp</dimen>
+	<dimen name="dp_157">157.0000dp</dimen>
+	<dimen name="dp_158">158.0000dp</dimen>
+	<dimen name="dp_159">159.0000dp</dimen>
+	<dimen name="dp_160">160.0000dp</dimen>
+	<dimen name="dp_161">161.0000dp</dimen>
+	<dimen name="dp_162">162.0000dp</dimen>
+	<dimen name="dp_163">163.0000dp</dimen>
+	<dimen name="dp_164">164.0000dp</dimen>
+	<dimen name="dp_165">165.0000dp</dimen>
+	<dimen name="dp_166">166.0000dp</dimen>
+	<dimen name="dp_167">167.0000dp</dimen>
+	<dimen name="dp_168">168.0000dp</dimen>
+	<dimen name="dp_169">169.0000dp</dimen>
+	<dimen name="dp_170">170.0000dp</dimen>
+	<dimen name="dp_171">171.0000dp</dimen>
+	<dimen name="dp_172">172.0000dp</dimen>
+	<dimen name="dp_173">173.0000dp</dimen>
+	<dimen name="dp_174">174.0000dp</dimen>
+	<dimen name="dp_175">175.0000dp</dimen>
+	<dimen name="dp_176">176.0000dp</dimen>
+	<dimen name="dp_177">177.0000dp</dimen>
+	<dimen name="dp_178">178.0000dp</dimen>
+	<dimen name="dp_179">179.0000dp</dimen>
+	<dimen name="dp_180">180.0000dp</dimen>
+	<dimen name="dp_181">181.0000dp</dimen>
+	<dimen name="dp_182">182.0000dp</dimen>
+	<dimen name="dp_183">183.0000dp</dimen>
+	<dimen name="dp_184">184.0000dp</dimen>
+	<dimen name="dp_185">185.0000dp</dimen>
+	<dimen name="dp_186">186.0000dp</dimen>
+	<dimen name="dp_187">187.0000dp</dimen>
+	<dimen name="dp_188">188.0000dp</dimen>
+	<dimen name="dp_189">189.0000dp</dimen>
+	<dimen name="dp_190">190.0000dp</dimen>
+	<dimen name="dp_191">191.0000dp</dimen>
+	<dimen name="dp_192">192.0000dp</dimen>
+	<dimen name="dp_193">193.0000dp</dimen>
+	<dimen name="dp_194">194.0000dp</dimen>
+	<dimen name="dp_195">195.0000dp</dimen>
+	<dimen name="dp_196">196.0000dp</dimen>
+	<dimen name="dp_197">197.0000dp</dimen>
+	<dimen name="dp_198">198.0000dp</dimen>
+	<dimen name="dp_199">199.0000dp</dimen>
+	<dimen name="dp_200">200.0000dp</dimen>
+	<dimen name="dp_201">201.0000dp</dimen>
+	<dimen name="dp_202">202.0000dp</dimen>
+	<dimen name="dp_203">203.0000dp</dimen>
+	<dimen name="dp_204">204.0000dp</dimen>
+	<dimen name="dp_205">205.0000dp</dimen>
+	<dimen name="dp_206">206.0000dp</dimen>
+	<dimen name="dp_207">207.0000dp</dimen>
+	<dimen name="dp_208">208.0000dp</dimen>
+	<dimen name="dp_209">209.0000dp</dimen>
+	<dimen name="dp_210">210.0000dp</dimen>
+	<dimen name="dp_211">211.0000dp</dimen>
+	<dimen name="dp_212">212.0000dp</dimen>
+	<dimen name="dp_213">213.0000dp</dimen>
+	<dimen name="dp_214">214.0000dp</dimen>
+	<dimen name="dp_215">215.0000dp</dimen>
+	<dimen name="dp_216">216.0000dp</dimen>
+	<dimen name="dp_217">217.0000dp</dimen>
+	<dimen name="dp_218">218.0000dp</dimen>
+	<dimen name="dp_219">219.0000dp</dimen>
+	<dimen name="dp_220">220.0000dp</dimen>
+	<dimen name="dp_221">221.0000dp</dimen>
+	<dimen name="dp_222">222.0000dp</dimen>
+	<dimen name="dp_223">223.0000dp</dimen>
+	<dimen name="dp_224">224.0000dp</dimen>
+	<dimen name="dp_225">225.0000dp</dimen>
+	<dimen name="dp_226">226.0000dp</dimen>
+	<dimen name="dp_227">227.0000dp</dimen>
+	<dimen name="dp_228">228.0000dp</dimen>
+	<dimen name="dp_229">229.0000dp</dimen>
+	<dimen name="dp_230">230.0000dp</dimen>
+	<dimen name="dp_231">231.0000dp</dimen>
+	<dimen name="dp_232">232.0000dp</dimen>
+	<dimen name="dp_233">233.0000dp</dimen>
+	<dimen name="dp_234">234.0000dp</dimen>
+	<dimen name="dp_235">235.0000dp</dimen>
+	<dimen name="dp_236">236.0000dp</dimen>
+	<dimen name="dp_237">237.0000dp</dimen>
+	<dimen name="dp_238">238.0000dp</dimen>
+	<dimen name="dp_239">239.0000dp</dimen>
+	<dimen name="dp_240">240.0000dp</dimen>
+	<dimen name="dp_241">241.0000dp</dimen>
+	<dimen name="dp_242">242.0000dp</dimen>
+	<dimen name="dp_243">243.0000dp</dimen>
+	<dimen name="dp_244">244.0000dp</dimen>
+	<dimen name="dp_245">245.0000dp</dimen>
+	<dimen name="dp_246">246.0000dp</dimen>
+	<dimen name="dp_247">247.0000dp</dimen>
+	<dimen name="dp_248">248.0000dp</dimen>
+	<dimen name="dp_249">249.0000dp</dimen>
+	<dimen name="dp_250">250.0000dp</dimen>
+	<dimen name="dp_251">251.0000dp</dimen>
+	<dimen name="dp_252">252.0000dp</dimen>
+	<dimen name="dp_253">253.0000dp</dimen>
+	<dimen name="dp_254">254.0000dp</dimen>
+	<dimen name="dp_255">255.0000dp</dimen>
+	<dimen name="dp_256">256.0000dp</dimen>
+	<dimen name="dp_257">257.0000dp</dimen>
+	<dimen name="dp_258">258.0000dp</dimen>
+	<dimen name="dp_259">259.0000dp</dimen>
+	<dimen name="dp_260">260.0000dp</dimen>
+	<dimen name="dp_261">261.0000dp</dimen>
+	<dimen name="dp_262">262.0000dp</dimen>
+	<dimen name="dp_263">263.0000dp</dimen>
+	<dimen name="dp_264">264.0000dp</dimen>
+	<dimen name="dp_265">265.0000dp</dimen>
+	<dimen name="dp_266">266.0000dp</dimen>
+	<dimen name="dp_267">267.0000dp</dimen>
+	<dimen name="dp_268">268.0000dp</dimen>
+	<dimen name="dp_269">269.0000dp</dimen>
+	<dimen name="dp_270">270.0000dp</dimen>
+	<dimen name="dp_271">271.0000dp</dimen>
+	<dimen name="dp_272">272.0000dp</dimen>
+	<dimen name="dp_273">273.0000dp</dimen>
+	<dimen name="dp_274">274.0000dp</dimen>
+	<dimen name="dp_275">275.0000dp</dimen>
+	<dimen name="dp_276">276.0000dp</dimen>
+	<dimen name="dp_277">277.0000dp</dimen>
+	<dimen name="dp_278">278.0000dp</dimen>
+	<dimen name="dp_279">279.0000dp</dimen>
+	<dimen name="dp_280">280.0000dp</dimen>
+	<dimen name="dp_281">281.0000dp</dimen>
+	<dimen name="dp_282">282.0000dp</dimen>
+	<dimen name="dp_283">283.0000dp</dimen>
+	<dimen name="dp_284">284.0000dp</dimen>
+	<dimen name="dp_285">285.0000dp</dimen>
+	<dimen name="dp_286">286.0000dp</dimen>
+	<dimen name="dp_287">287.0000dp</dimen>
+	<dimen name="dp_288">288.0000dp</dimen>
+	<dimen name="dp_289">289.0000dp</dimen>
+	<dimen name="dp_290">290.0000dp</dimen>
+	<dimen name="dp_291">291.0000dp</dimen>
+	<dimen name="dp_292">292.0000dp</dimen>
+	<dimen name="dp_293">293.0000dp</dimen>
+	<dimen name="dp_294">294.0000dp</dimen>
+	<dimen name="dp_295">295.0000dp</dimen>
+	<dimen name="dp_296">296.0000dp</dimen>
+	<dimen name="dp_297">297.0000dp</dimen>
+	<dimen name="dp_298">298.0000dp</dimen>
+	<dimen name="dp_299">299.0000dp</dimen>
+	<dimen name="dp_300">300.0000dp</dimen>
+	<dimen name="dp_301">301.0000dp</dimen>
+	<dimen name="dp_302">302.0000dp</dimen>
+	<dimen name="dp_303">303.0000dp</dimen>
+	<dimen name="dp_304">304.0000dp</dimen>
+	<dimen name="dp_305">305.0000dp</dimen>
+	<dimen name="dp_306">306.0000dp</dimen>
+	<dimen name="dp_307">307.0000dp</dimen>
+	<dimen name="dp_308">308.0000dp</dimen>
+	<dimen name="dp_309">309.0000dp</dimen>
+	<dimen name="dp_310">310.0000dp</dimen>
+	<dimen name="dp_311">311.0000dp</dimen>
+	<dimen name="dp_312">312.0000dp</dimen>
+	<dimen name="dp_313">313.0000dp</dimen>
+	<dimen name="dp_314">314.0000dp</dimen>
+	<dimen name="dp_315">315.0000dp</dimen>
+	<dimen name="dp_316">316.0000dp</dimen>
+	<dimen name="dp_317">317.0000dp</dimen>
+	<dimen name="dp_318">318.0000dp</dimen>
+	<dimen name="dp_319">319.0000dp</dimen>
+	<dimen name="dp_320">320.0000dp</dimen>
+	<dimen name="dp_321">321.0000dp</dimen>
+	<dimen name="dp_322">322.0000dp</dimen>
+	<dimen name="dp_323">323.0000dp</dimen>
+	<dimen name="dp_324">324.0000dp</dimen>
+	<dimen name="dp_325">325.0000dp</dimen>
+	<dimen name="dp_326">326.0000dp</dimen>
+	<dimen name="dp_327">327.0000dp</dimen>
+	<dimen name="dp_328">328.0000dp</dimen>
+	<dimen name="dp_329">329.0000dp</dimen>
+	<dimen name="dp_330">330.0000dp</dimen>
+	<dimen name="dp_331">331.0000dp</dimen>
+	<dimen name="dp_332">332.0000dp</dimen>
+	<dimen name="dp_333">333.0000dp</dimen>
+	<dimen name="dp_334">334.0000dp</dimen>
+	<dimen name="dp_335">335.0000dp</dimen>
+	<dimen name="dp_336">336.0000dp</dimen>
+	<dimen name="dp_337">337.0000dp</dimen>
+	<dimen name="dp_338">338.0000dp</dimen>
+	<dimen name="dp_339">339.0000dp</dimen>
+	<dimen name="dp_340">340.0000dp</dimen>
+	<dimen name="dp_341">341.0000dp</dimen>
+	<dimen name="dp_342">342.0000dp</dimen>
+	<dimen name="dp_343">343.0000dp</dimen>
+	<dimen name="dp_344">344.0000dp</dimen>
+	<dimen name="dp_345">345.0000dp</dimen>
+	<dimen name="dp_346">346.0000dp</dimen>
+	<dimen name="dp_347">347.0000dp</dimen>
+	<dimen name="dp_348">348.0000dp</dimen>
+	<dimen name="dp_349">349.0000dp</dimen>
+	<dimen name="dp_350">350.0000dp</dimen>
+	<dimen name="dp_351">351.0000dp</dimen>
+	<dimen name="dp_352">352.0000dp</dimen>
+	<dimen name="dp_353">353.0000dp</dimen>
+	<dimen name="dp_354">354.0000dp</dimen>
+	<dimen name="dp_355">355.0000dp</dimen>
+	<dimen name="dp_356">356.0000dp</dimen>
+	<dimen name="dp_357">357.0000dp</dimen>
+	<dimen name="dp_358">358.0000dp</dimen>
+	<dimen name="dp_359">359.0000dp</dimen>
+	<dimen name="dp_360">360.0000dp</dimen>
+	<dimen name="dp_365">365.0000dp</dimen>
+	<dimen name="dp_370">370.0000dp</dimen>
+	<dimen name="dp_400">400.0000dp</dimen>
+	<dimen name="dp_410">410.0000dp</dimen>
+	<dimen name="dp_422">422.0000dp</dimen>
+	<dimen name="dp_472">472.0000dp</dimen>
+	<dimen name="dp_500">500.0000dp</dimen>
+	<dimen name="dp_600">600.0000dp</dimen>
+	<dimen name="dp_640">640.0000dp</dimen>
+	<dimen name="dp_720">720.0000dp</dimen>
+	<dimen name="sp_6">6.0000sp</dimen>
+	<dimen name="sp_7">7.0000sp</dimen>
+	<dimen name="sp_8">8.0000sp</dimen>
+	<dimen name="sp_9">9.0000sp</dimen>
+	<dimen name="sp_10">10.0000sp</dimen>
+	<dimen name="sp_11">11.0000sp</dimen>
+	<dimen name="sp_12">12.0000sp</dimen>
+	<dimen name="sp_13">13.0000sp</dimen>
+	<dimen name="sp_14">14.0000sp</dimen>
+	<dimen name="sp_15">15.0000sp</dimen>
+	<dimen name="sp_16">16.0000sp</dimen>
+	<dimen name="sp_17">17.0000sp</dimen>
+	<dimen name="sp_18">18.0000sp</dimen>
+	<dimen name="sp_19">19.0000sp</dimen>
+	<dimen name="sp_20">20.0000sp</dimen>
+	<dimen name="sp_21">21.0000sp</dimen>
+	<dimen name="sp_22">22.0000sp</dimen>
+	<dimen name="sp_23">23.0000sp</dimen>
+	<dimen name="sp_24">24.0000sp</dimen>
+	<dimen name="sp_25">25.0000sp</dimen>
+	<dimen name="sp_28">28.0000sp</dimen>
+	<dimen name="sp_30">30.0000sp</dimen>
+	<dimen name="sp_32">32.0000sp</dimen>
+	<dimen name="sp_34">34.0000sp</dimen>
+	<dimen name="sp_36">36.0000sp</dimen>
+	<dimen name="sp_38">38.0000sp</dimen>
+	<dimen name="sp_40">40.0000sp</dimen>
+	<dimen name="sp_42">42.0000sp</dimen>
+	<dimen name="sp_48">48.0000sp</dimen>
+</resources>
\ No newline at end of file
diff --git a/app_base/src/main/res/values/arrts.xml b/app_base/src/main/res/values/arrts.xml
new file mode 100644
index 0000000..c756bd0
--- /dev/null
+++ b/app_base/src/main/res/values/arrts.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+    <declare-styleable name="CustomTextView">
+        <attr name="border_color" format="color"/>
+        <attr name="is_border_gradient" format="boolean"/>
+        <attr name="border_gradient_start_color" format="color"/>
+        <attr name="border_gradient_end_color" format="color"/>
+        <attr name="border_width" format="dimension"/>
+        <attr name="border_radius" format="dimension"/>
+    </declare-styleable>
+
+</resources>
\ No newline at end of file
diff --git a/build.gradle b/build.gradle
index e93d990..a3c1f6c 100644
--- a/build.gradle
+++ b/build.gradle
@@ -10,6 +10,14 @@
             allowInsecureProtocol = true
             url 'http://maven.aliyun.com/nexus/content/groups/public/'
         }
+        maven {
+            allowInsecureProtocol = true
+            url 'https://maven.aliyun.com/repository/google'
+        }
+        maven {
+            allowInsecureProtocol = true
+            url 'http://maven.aliyun.com/nexus/content/repositories/jcenter'
+        }
         jcenter()
     }
     dependencies {
@@ -19,8 +27,8 @@
         // NOTE: Do not place your application dependencies here; they belong
         // in the individual module build.gradle files
     }
-
 }
+
 task clean(type: Delete) {
     delete rootProject.buildDir
 }
\ No newline at end of file
diff --git a/screenMatch.properties b/screenMatch.properties
index 3d17b42..ed439c8 100644
--- a/screenMatch.properties
+++ b/screenMatch.properties
@@ -19,7 +19,7 @@
 # Also need to match the phone screen of [match_dp].
 # If you have another dp values.
 # System default values is 240,320,360,384,392.7272,400,410,411.4285,432,480,533,592,600,640,662,720,768,800,811,820,960,961,1024,1280,1365
-match_dp=
+match_dp=240,320,360,384,392.7272,400,410,411.4285,432,480,533,592,600,640,662,720,768,800,811,820,960,961,1024,1280,1365,1440
 # If you not wanna to match dp values above. Write some above values here, append value with "," .
 # For example: 811,961,1365
 ignore_dp=

--
Gitblit v1.9.1