From fcdddf8b9b34f9930bec454b5fffe41c0e33ba3c Mon Sep 17 00:00:00 2001
From: Linjiajia <319408893@qq.com>
Date: 星期一, 24 四月 2023 21:17:05 +0800
Subject: [PATCH] 功能模块大部分

---
 app/src/main/res/layout/activity_family_assets.xml                                                                |   25 
 app_base/src/main/java/com/android/app_base/base/adapter/BaseRVAdapter.java                                       |   10 
 app/src/main/java/com/application/zhangshi_app_android/ui/function/HundredWishActivityViewModel.java              |   70 
 app/src/main/java/com/application/zhangshi_app_android/ui/function/CertificateOfHonorActivity.java                |   58 
 app/src/main/res/drawable/shape_ffd8e6f5_10_10_0_10.xml                                                           |    5 
 app/src/main/java/com/application/zhangshi_app_android/ui/function/PetActivityViewModel.java                      |   24 
 app/src/main/java/com/application/zhangshi_app_android/bean/IncomeAndExpensesResponseBean.java                    |   47 
 app/src/main/java/com/application/zhangshi_app_android/ui/function/CleanStorageDetailActivity.java                |   99 
 app/src/main/res/layout/activity_clean_storage.xml                                                                |  144 
 app/src/main/java/com/application/zhangshi_app_android/ui/function/IncomeAndExpensesDetailActivityViewModel.java  |   40 
 app/src/main/res/drawable-xxhdpi/bg_home_root_net.png                                                             |    0 
 app/src/main/res/layout/activity_property.xml                                                                     |  143 
 app/src/main/java/com/application/zhangshi_app_android/ui/function/PropertyActivity.java                          |   56 
 app/src/main/java/com/application/zhangshi_app_android/bean/HonorCollectionResponseBean.java                      |   47 
 app/src/main/res/layout/activity_hundred_wish.xml                                                                 |  143 
 app/src/main/java/com/application/zhangshi_app_android/ui/main/MainActivity.java                                  |    1 
 app/src/main/java/com/application/zhangshi_app_android/adapter/HundredWishRvAdapter.java                          |  131 
 app/src/main/java/com/application/zhangshi_app_android/adapter/FamilyAssetsRvAdapter.java                         |    7 
 app/src/main/java/com/application/zhangshi_app_android/ui/DLBaseActivity.java                                     |   29 
 app_base/src/main/res/anim/pop_operate_hide.xml                                                                   |    0 
 app/src/main/java/com/application/zhangshi_app_android/ui/function/LittleDoctorDetailActivityViewModel.java       |   40 
 app/src/main/res/drawable-xhdpi/bg_home_root_net.png                                                              |    0 
 app/src/main/java/com/application/zhangshi_app_android/ui/function/HonorCollectionActivityViewModel.java          |   92 
 app/src/main/res/drawable-xhdpi/ic_fold.png                                                                       |    0 
 app_base/src/main/java/com/android/app_base/http/interceptor/AuthInterceptor.java                                 |   76 
 app/src/main/java/com/application/zhangshi_app_android/bean/CertificateOfHonorBean.java                           |  111 
 app/src/main/java/com/application/zhangshi_app_android/bean/LittleDoctorRequestBean.java                          |   24 
 app/src/main/java/com/application/zhangshi_app_android/adapter/PetRvAdapter.java                                  |  118 
 app/src/main/res/drawable-xxhdpi/ic_radio_button.png                                                              |    0 
 app_base/build.gradle                                                                                             |   22 
 app/src/main/res/layout/item_home_devices.xml                                                                     |   65 
 app/src/main/java/com/application/zhangshi_app_android/bean/HomeDevicesBean.java                                  |   45 
 app/src/main/java/com/application/zhangshi_app_android/ui/function/CleanStorageDetailActivityViewModel.java       |   41 
 app/src/main/res/layout/activity_little_doctor_detail.xml                                                         |  191 
 app/src/main/java/com/application/zhangshi_app_android/ui/function/MarriageActivity.java                          |  136 
 app/src/main/java/com/application/zhangshi_app_android/ui/function/HundredWishDetailActivity.java                 |  102 
 app/src/main/res/layout/activity_clean_storage_detail.xml                                                         |  191 
 app/src/main/java/com/application/zhangshi_app_android/adapter/ImageRvAdapter.java                                |    2 
 app/src/main/java/com/application/zhangshi_app_android/widget/TreeView.java                                       |  395 +
 app/src/main/res/layout/activity_family_memorabilia.xml                                                           |   28 
 app_base/src/main/java/com/android/app_base/http/interceptor/LogInterceptor.java                                  |   28 
 app/src/main/java/com/application/zhangshi_app_android/ui/function/LittleDoctorActivity.java                      |   57 
 app/src/main/java/com/application/zhangshi_app_android/bean/IncomeAndExpensesBean.java                            |  119 
 app/src/main/java/com/application/zhangshi_app_android/bean/HonorCollectionRequestBean.java                       |  118 
 app/src/main/java/com/application/zhangshi_app_android/ui/function/CreateFamilyProjectActivity.java               |    5 
 app/src/main/java/com/application/zhangshi_app_android/adapter/HomeDevicesRvAdapter.java                          |    2 
 app/src/main/res/drawable-xxhdpi/bg_home_root_net_grass.png                                                       |    0 
 app/src/main/res/layout/pop_basic_information.xml                                                                 | 1546 ++++++
 app/src/main/res/layout/item_family_assets.xml                                                                    |   73 
 app/src/main/res/layout/item_honor_collection.xml                                                                 |  236 +
 app/src/main/res/layout/item_family_memorabilia.xml                                                               |   24 
 app/src/main/java/com/application/zhangshi_app_android/ui/home/HomeFragment.java                                  |   57 
 app/src/main/java/com/application/zhangshi_app_android/adapter/HonorCollectionRvAdapter.java                      |  138 
 app/src/main/java/com/application/zhangshi_app_android/ui/function/HomeDevicesActivity.java                       |    3 
 app/src/main/java/com/application/zhangshi_app_android/bean/LittleDoctorBean.java                                 |  114 
 app/src/main/java/com/application/zhangshi_app_android/ui/function/PropertyDetailActivityViewModel.java           |   42 
 .idea/deploymentTargetDropDown.xml                                                                                |   28 
 app/src/main/res/layout/fragment_home.xml                                                                         |   55 
 app_base/src/main/res/anim/pop_drop_hide.xml                                                                      |   16 
 app/src/main/java/com/application/zhangshi_app_android/ui/function/HomeDevicesActivityViewModel.java              |   16 
 app/src/main/res/layout/activity_home_devices_detail.xml                                                          |    6 
 gradle.properties                                                                                                 |    2 
 app/src/main/java/com/application/zhangshi_app_android/ui/function/PropertyDetailActivity.java                    |  102 
 app/src/main/java/com/application/zhangshi_app_android/ui/function/FamilyMemorabiliaActivity.java                 |   78 
 app/src/main/java/com/application/zhangshi_app_android/adapter/CleanStorageRvAdapter.java                         |  135 
 app/src/main/java/com/application/zhangshi_app_android/ui/function/CleanStorageActivityViewModel.java             |   52 
 app/src/main/res/layout/activity_honor_collection_detail.xml                                                      |  191 
 app/src/main/res/layout/activity_property_detail.xml                                                              |  225 
 app/src/main/res/layout/activity_little_doctor.xml                                                                |  142 
 app/src/main/java/com/application/zhangshi_app_android/ui/function/CleanStorageActivity.java                      |   57 
 app/src/main/java/com/application/zhangshi_app_android/ui/function/CertificateOfHonorDetailActivity.java          |  102 
 app/src/main/java/com/application/zhangshi_app_android/data/source/http/ApiService.java                           |   23 
 app/src/main/java/com/application/zhangshi_app_android/bean/PetBean.java                                          |  155 
 app/src/main/java/com/application/zhangshi_app_android/ui/function/HundredWishDetailActivityViewModel.java        |   42 
 app/src/main/res/drawable-xhdpi/ic_unfold.png                                                                     |    0 
 app/src/main/res/layout/item_property.xml                                                                         |  283 +
 app_base/src/main/java/com/android/app_base/utils/GlideUtil.java                                                  |    5 
 app/src/main/res/drawable-xxhdpi/ic_fold.png                                                                      |    0 
 app/src/main/java/com/application/zhangshi_app_android/ui/function/HonorCollectionDetailActivity.java             |   99 
 app/src/main/res/layout/activity_family_assets_detail.xml                                                         |    1 
 app/src/main/res/drawable/shape_fffad1e0_10_10_0_10.xml                                                           |    5 
 app/src/main/java/com/application/zhangshi_app_android/bean/CleanStorageBean.java                                 |  112 
 app/src/main/res/layout/item_home_member_list.xml                                                                 |  234 +
 app/src/main/res/layout/item_income_and_expenses.xml                                                              |  257 +
 app/src/main/res/layout/activity_marriage.xml                                                                     | 1050 ++++
 app/src/main/java/com/application/zhangshi_app_android/ui/function/LittleDoctorDetailActivity.java                |   95 
 app_base/src/main/res/values/styles.xml                                                                           |   10 
 app/src/main/java/com/application/zhangshi_app_android/ui/function/CertificateOfHonorActivityViewModel.java       |   61 
 app/src/main/java/com/application/zhangshi_app_android/ui/function/LittleDoctorActivityViewModel.java             |   99 
 app/src/main/java/com/application/zhangshi_app_android/ui/function/HonorCollectionActivity.java                   |   57 
 app/src/main/java/com/application/zhangshi_app_android/ui/function/CertificateOfHonorDetailActivityViewModel.java |   41 
 app/src/main/java/com/application/zhangshi_app_android/ui/function/IncomeAndExpensesActivity.java                 |   58 
 app/src/main/java/com/application/zhangshi_app_android/ui/function/FamilyAssetsActivity.java                      |   14 
 app/src/main/res/drawable-xxhdpi/bg_home_root_net_detail.png                                                      |    0 
 app/src/main/java/com/application/zhangshi_app_android/adapter/PropertyRvAdapter.java                             |  134 
 app/src/main/java/com/application/zhangshi_app_android/data/DataRepository.java                                   |   25 
 app_base/src/main/res/anim/pop_drop_show.xml                                                                      |   16 
 app/src/main/res/layout/item_image_footer.xml                                                                     |   30 
 app/src/main/java/com/application/zhangshi_app_android/bean/HomeMemberBean.java                                   |  102 
 app/src/main/java/com/application/zhangshi_app_android/adapter/CertificateOfHonorRvAdapter.java                   |  132 
 app/src/main/res/layout/activity_pet.xml                                                                          |  144 
 app_base/src/main/java/com/android/app_base/base/StateViewEnum.java                                               |    3 
 app/src/main/java/com/application/zhangshi_app_android/data/source/http/HttpDataSourceImpl.java                   |   27 
 app/src/main/res/layout/activity_hundred_wish_detail.xml                                                          |  208 
 app/src/main/res/drawable-xxhdpi/ic_unfold.png                                                                    |    0 
 app/src/main/java/com/application/zhangshi_app_android/adapter/FamilyMemorabiliaRvAdapter.java                    |   14 
 app/src/main/java/com/application/zhangshi_app_android/ui/function/FamilyMemorabiliaActivityViewModel.java        |   86 
 app/src/main/java/com/application/zhangshi_app_android/bean/HonorCollectionBean.java                              |  119 
 app/src/main/res/layout/item_hundred_wish.xml                                                                     |  245 +
 app/src/main/java/com/application/zhangshi_app_android/bean/LittleDoctorResponseBean.java                         |   47 
 app/src/main/java/com/application/zhangshi_app_android/ui/function/IncomeAndExpensesDetailActivity.java           |  103 
 app/src/main/res/drawable-xhdpi/bg_home_root_net_detail.png                                                       |    0 
 app/src/main/res/layout/activity_certificate_of_honor_detail.xml                                                  |  225 
 app/src/main/res/layout/layout_tree_view.xml                                                                      |   36 
 app/src/main/res/layout/activity_honor_collection.xml                                                             |  144 
 app/src/main/java/com/application/zhangshi_app_android/data/source/HttpDataSource.java                            |   18 
 app/src/main/java/com/application/zhangshi_app_android/ui/function/HundredWishActivity.java                       |   58 
 app/src/main/java/com/application/zhangshi_app_android/ui/function/PetActivity.java                               |   58 
 app/src/main/java/com/application/zhangshi_app_android/ui/function/PropertyActivityViewModel.java                 |   60 
 app/src/main/res/layout/activity_certificate_of_honor.xml                                                         |  143 
 app/src/main/res/layout/item_little_doctor.xml                                                                    |  264 +
 app/src/main/java/com/application/zhangshi_app_android/adapter/HomeMemberAdapter.java                             |  103 
 app/src/main/java/com/application/zhangshi_app_android/ui/function/HonorCollectionDetailActivityViewModel.java    |   40 
 app/src/main/res/layout/item_clean_storage.xml                                                                    |  235 +
 app/src/main/java/com/application/zhangshi_app_android/adapter/LittleDoctorRvAdapter.java                         |  135 
 app/src/main/java/com/application/zhangshi_app_android/bean/HundredWishBean.java                                  |  101 
 app/src/main/AndroidManifest.xml                                                                                  |  104 
 app/src/main/res/layout/activity_home_devices.xml                                                                 |    3 
 app/src/main/res/drawable-xhdpi/ic_radio_button.png                                                               |    0 
 app/src/main/res/layout/activity_income_and_expenses_detail.xml                                                   |  208 
 app/src/main/res/layout/item_pet.xml                                                                              |  175 
 app/src/main/java/com/application/zhangshi_app_android/ui/function/MarriageActivityViewModel.java                 |   65 
 app_base/src/main/res/anim/pop_operate_show.xml                                                                   |    0 
 app/src/main/java/com/application/zhangshi_app_android/bean/PropertyBean.java                                     |  117 
 app/src/main/java/com/application/zhangshi_app_android/ui/function/FunctionFragment.java                          |   27 
 app/src/main/java/com/application/zhangshi_app_android/ui/function/IncomeAndExpensesActivityViewModel.java        |   89 
 app_base/src/main/java/com/android/app_base/base/view/BaseActivity.java                                           |   13 
 app/src/main/res/drawable-xhdpi/bg_home_root_net_grass.png                                                        |    0 
 app/src/main/res/layout/item_certificate_of_honor.xml                                                             |  268 +
 app/src/main/res/layout/activity_income_and_expenses.xml                                                          |  144 
 app_base/src/main/java/com/android/app_base/http/OkHttpHelper.java                                                |    2 
 app_base/src/main/java/com/android/app_base/widget/ExtendTitleBar.java                                            |   18 
 app/src/main/java/com/application/zhangshi_app_android/adapter/IncomeAndExpensesRvAdapter.java                    |  135 
 143 files changed, 13,340 insertions(+), 311 deletions(-)

diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml
index 7f6d6b3..004cd78 100644
--- a/.idea/deploymentTargetDropDown.xml
+++ b/.idea/deploymentTargetDropDown.xml
@@ -1,17 +1,17 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project version="4">
-    <component name="deploymentTargetDropDown">
-        <runningDeviceTargetSelectedWithDropDown>
-            <Target>
-                <type value="RUNNING_DEVICE_TARGET" />
-                <deviceKey>
-                    <Key>
-                        <type value="VIRTUAL_DEVICE_PATH" />
-                        <value value="D:\software\Android\.android\avd\Pixel_API_30.avd" />
-                    </Key>
-                </deviceKey>
-            </Target>
-        </runningDeviceTargetSelectedWithDropDown>
-        <timeTargetWasSelectedWithDropDown value="2023-04-03T09:11:44.626235900Z" />
-    </component>
+  <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_API_30.avd" />
+          </Key>
+        </deviceKey>
+      </Target>
+    </targetSelectedWithDropDown>
+    <timeTargetWasSelectedWithDropDown value="2023-04-18T13:54:47.432784600Z" />
+  </component>
 </project>
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index a4eb621..4206b9e 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -1,55 +1,36 @@
 <?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.ACCESS_NETWORK_STATE" />
     <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
     <uses-permission android:name="android.permission.INTERNET" />
-
-    <uses-permission android:name="android.permission.READ_CONTACTS"/>
-
-    <!-- 澶栭儴瀛樺偍 -->
-    <!-- Android 13寮�濮嬶紝濡傛灉浣犵殑搴旂敤targetSdk鎸囧畾鍒颁簡33鎴栦互涓�,READ_EXTERNAL_STORAGE鏉冮檺灏卞畬鍏ㄥけ鍘讳簡浣滅敤,闇�瑕佺粏鍖�-->
-    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" android:maxSdkVersion="32" />
+    <uses-permission android:name="android.permission.READ_CONTACTS" /> <!-- 澶栭儴瀛樺偍 -->
+    <!-- Android 13寮�濮嬶紝濡傛灉浣犵殑搴旂敤targetSdk鎸囧畾鍒颁簡33鎴栦互涓�,READ_EXTERNAL_STORAGE鏉冮檺灏卞畬鍏ㄥけ鍘讳簡浣滅敤,闇�瑕佺粏鍖� -->
+    <uses-permission
+        android:name="android.permission.READ_EXTERNAL_STORAGE"
+        android:maxSdkVersion="32" />
     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
     <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
     <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
     <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
-    <uses-permission android:name="android.permission.RECORD_AUDIO" />
-    <!--Android 13鐗堟湰閫傞厤锛岀粏鍖栧瓨鍌ㄦ潈闄�,READ_EXTERNAL_STORAGE鏃犳硶鍐嶄娇鐢�-->
+    <uses-permission android:name="android.permission.RECORD_AUDIO" /> <!-- Android 13鐗堟湰閫傞厤锛岀粏鍖栧瓨鍌ㄦ潈闄�,READ_EXTERNAL_STORAGE鏃犳硶鍐嶄娇鐢� -->
     <uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
     <uses-permission android:name="android.permission.READ_MEDIA_AUDIO" />
-    <uses-permission android:name="android.permission.READ_MEDIA_VIDEO" />
-
-    <!-- 闇囧姩鏉冮檺 -->
-    <uses-permission android:name="android.permission.VIBRATE" />
-
-    <!-- 钃濈墮鏉冮檺 -->
-    <uses-permission android:name="android.permission.BLUETOOTH" />
-
-
-    <!-- 鎷嶇収鏉冮檺 -->
-    <uses-permission android:name="android.permission.CAMERA" />
-
-    <!-- 瀹夎鏉冮檺 -->
-    <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
-
-    <!-- 瀹氫綅鏉冮檺锛堢敤浜� WebView 瀹氫綅锛�-->
+    <uses-permission android:name="android.permission.READ_MEDIA_VIDEO" /> <!-- 闇囧姩鏉冮檺 -->
+    <uses-permission android:name="android.permission.VIBRATE" /> <!-- 钃濈墮鏉冮檺 -->
+    <uses-permission android:name="android.permission.BLUETOOTH" /> <!-- 鎷嶇収鏉冮檺 -->
+    <uses-permission android:name="android.permission.CAMERA" /> <!-- 瀹夎鏉冮檺 -->
+    <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" /> <!-- 瀹氫綅鏉冮檺锛堢敤浜� WebView 瀹氫綅锛� -->
     <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
     <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
 
-
     <queries package="${applicationId}">
         <intent>
-            <action android:name="android.media.action.IMAGE_CAPTURE">
-
-            </action>
+            <action android:name="android.media.action.IMAGE_CAPTURE" />
         </intent>
         <intent>
-            <action android:name="android.media.action.ACTION_VIDEO_CAPTURE">
-
-            </action>
+            <action android:name="android.media.action.ACTION_VIDEO_CAPTURE" />
         </intent>
     </queries>
 
@@ -76,24 +57,21 @@
             android:value="true" /> <!-- 閫傞厤灏忕背锛坸iaomi锛夊垬娴峰睆 -->
         <meta-data
             android:name="notch.config"
-            android:value="portrait|landscape" />
-        <!-- 灞忓箷閫傞厤 锛堥粯璁や互瀹藉害閫傞厤锛�-->
+            android:value="portrait|landscape" /> <!-- 灞忓箷閫傞厤 锛堥粯璁や互瀹藉害閫傞厤锛� -->
         <meta-data
             android:name="design_width_in_dp"
-            android:value="360"/>
+            android:value="360" />
         <meta-data
             android:name="design_height_in_dp"
-            android:value="640"/>
+            android:value="640" />
 
         <activity
             android:name=".ui.main.MainActivity"
-            android:exported="true">
-        </activity>
+            android:exported="true" />
         <activity
             android:name=".ui.login.LoginActivity"
             android:exported="true"
-            android:screenOrientation="portrait"
-            >
+            android:screenOrientation="portrait">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
 
@@ -121,6 +99,52 @@
         <activity
             android:name=".ui.function.GrowthExperienceActivity"
             android:exported="false" />
+        <activity
+            android:name=".ui.function.HonorCollectionDetailActivity"
+            android:exported="false" />
+        <activity
+            android:name=".ui.function.HonorCollectionActivity"
+            android:exported="false" />
+        <activity
+            android:name=".ui.function.LittleDoctorDetailActivity"
+            android:exported="false" />
+        <activity
+            android:name=".ui.function.LittleDoctorActivity"
+            android:exported="false" />
+        <activity
+            android:name=".ui.function.CleanStorageActivity"
+            android:exported="false" />
+        <activity
+            android:name=".ui.function.CleanStorageDetailActivity"
+            android:exported="false" />
+        <activity
+            android:name=".ui.function.IncomeAndExpensesActivity"
+            android:exported="false" />
+        <activity
+            android:name=".ui.function.IncomeAndExpensesDetailActivity"
+            android:exported="false" />
+        <activity
+            android:name=".ui.function.PropertyActivity"
+            android:exported="false" />
+        <activity
+            android:name=".ui.function.PropertyDetailActivity"
+            android:exported="false" />
+        <activity
+            android:name=".ui.function.HundredWishActivity"
+            android:exported="false" />
+        <activity
+            android:name=".ui.function.HundredWishDetailActivity"
+            android:exported="false" />
+        <activity
+            android:name=".ui.function.CertificateOfHonorActivity"
+            android:exported="false" />
+        <activity
+            android:name=".ui.function.CertificateOfHonorDetailActivity"
+            android:exported="false" />
+        <activity
+            android:name=".ui.function.MarriageActivity"
+            android:exported="false" />
+
     </application>
 
 </manifest>
\ No newline at end of file
diff --git a/app/src/main/java/com/application/zhangshi_app_android/adapter/CertificateOfHonorRvAdapter.java b/app/src/main/java/com/application/zhangshi_app_android/adapter/CertificateOfHonorRvAdapter.java
new file mode 100644
index 0000000..ab99150
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/adapter/CertificateOfHonorRvAdapter.java
@@ -0,0 +1,132 @@
+package com.application.zhangshi_app_android.adapter;
+
+import android.content.Context;
+import android.content.Intent;
+import android.view.View;
+import android.view.animation.Animation;
+import android.view.animation.Transformation;
+import android.widget.FrameLayout;
+
+import androidx.recyclerview.widget.GridLayoutManager;
+
+import com.android.app_base.base.adapter.BaseRVAdapter;
+import com.android.app_base.manager.AppManager;
+import com.application.zhangshi_app_android.R;
+import com.application.zhangshi_app_android.bean.CertificateOfHonorBean;
+import com.application.zhangshi_app_android.databinding.ItemCertificateOfHonorBinding;
+import com.application.zhangshi_app_android.ui.function.CertificateOfHonorDetailActivity;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * @author Ljj
+ * @date 2023.04.23. 22:33
+ * @desc 鑽h獕璇佷功 Adapter
+ */
+public class CertificateOfHonorRvAdapter extends BaseRVAdapter<CertificateOfHonorBean, ItemCertificateOfHonorBinding, CertificateOfHonorRvAdapter.ViewHolder> {
+    public CertificateOfHonorRvAdapter(Context context) {
+        super(context);
+    }
+
+    @Override
+    protected int getLayoutId() {
+        return R.layout.item_certificate_of_honor;
+    }
+
+    @Override
+    protected ViewHolder getViewHolder(ItemCertificateOfHonorBinding itemBind, int viewType) {
+        return new ViewHolder(itemBind);
+    }
+
+    @Override
+    protected void onBind(ViewHolder holder, int position) {
+        holder.getBinding().setBean(mDataList.get(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;
+                }
+            }
+        });
+        holder.getBinding().layoutContent.setOnClickListener(v -> {
+            AppManager.getAppManager().startActivity(
+                    new Intent(getRecyclerView().getContext(), CertificateOfHonorDetailActivity.class)
+                            .putExtra("bean",mDataList.get(position)));
+        });
+
+        ImageRvAdapter adapter = new ImageRvAdapter(mContext);
+        holder.getBinding().rvImage.setLayoutManager(new GridLayoutManager(mContext,3));
+        holder.getBinding().rvImage.setAdapter(adapter);
+        String url = mDataList.get(position).getUrl();
+        if (url == null||url.isEmpty()){
+            return;
+        }
+        List<String> list;
+        if (url.contains(",")){
+            String[] split = url.split(",");
+            list = new ArrayList<>(Arrays.asList(split));
+        }else {
+            list = new ArrayList<>();
+            list.add(url);
+        }
+        adapter.setData(list);
+    }
+
+    public static class ViewHolder extends BaseRVAdapter.BaseViewHolder<ItemCertificateOfHonorBinding> {
+        private boolean isExpended;
+
+        public ViewHolder(ItemCertificateOfHonorBinding binding) {
+            super(binding);
+        }
+    }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/adapter/CleanStorageRvAdapter.java b/app/src/main/java/com/application/zhangshi_app_android/adapter/CleanStorageRvAdapter.java
new file mode 100644
index 0000000..574b8e6
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/adapter/CleanStorageRvAdapter.java
@@ -0,0 +1,135 @@
+package com.application.zhangshi_app_android.adapter;
+
+import android.content.Context;
+import android.content.Intent;
+import android.view.View;
+import android.view.animation.Animation;
+import android.view.animation.Transformation;
+import android.widget.FrameLayout;
+
+import androidx.recyclerview.widget.GridLayoutManager;
+
+import com.android.app_base.base.adapter.BaseRVAdapter;
+import com.android.app_base.manager.AppManager;
+import com.application.zhangshi_app_android.R;
+import com.application.zhangshi_app_android.bean.CleanStorageBean;
+import com.application.zhangshi_app_android.databinding.ItemCleanStorageBinding;
+import com.application.zhangshi_app_android.databinding.ItemFamilyAssetsBinding;
+import com.application.zhangshi_app_android.ui.function.CleanStorageActivity;
+import com.application.zhangshi_app_android.ui.function.CleanStorageDetailActivity;
+import com.application.zhangshi_app_android.ui.function.FamilyAssetsDetailActivity;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * @author Ljj
+ * @date 2023.04.16. 19:12
+ * @desc
+ */
+public class CleanStorageRvAdapter extends BaseRVAdapter<CleanStorageBean, ItemCleanStorageBinding, CleanStorageRvAdapter.ViewHolder>{
+    public CleanStorageRvAdapter(Context context) {
+        super(context);
+    }
+
+    @Override
+    protected int getLayoutId() {
+        return R.layout.item_clean_storage;
+    }
+
+    @Override
+    protected ViewHolder getViewHolder(ItemCleanStorageBinding itemBind, int viewType) {
+        return new ViewHolder(itemBind);
+    }
+
+    @Override
+    protected void onBind(ViewHolder holder, int position) {
+        holder.getBinding().setBean(mDataList.get(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;
+                }
+            }
+        });
+        holder.getBinding().layoutContent.setOnClickListener(v -> {
+            AppManager.getAppManager().startActivity(
+                    new Intent(getRecyclerView().getContext(), CleanStorageDetailActivity.class)
+                            .putExtra("bean",mDataList.get(position)));
+        });
+
+        ImageRvAdapter adapter = new ImageRvAdapter(mContext);
+        holder.getBinding().rvImage.setLayoutManager(new GridLayoutManager(mContext,3));
+        holder.getBinding().rvImage.setAdapter(adapter);
+        String url = mDataList.get(position).getUrl();
+        if (url == null||url.isEmpty()){
+            return;
+        }
+        List<String> list;
+        if (url.contains(",")){
+            String[] split = url.split(",");
+            list = new ArrayList<>(Arrays.asList(split));
+        }else {
+            list = new ArrayList<>();
+            list.add(url);
+        }
+        adapter.setData(list);
+    }
+
+    public static class ViewHolder extends BaseRVAdapter.BaseViewHolder<ItemCleanStorageBinding> {
+        private boolean isExpended;
+
+        public ViewHolder(ItemCleanStorageBinding binding) {
+            super(binding);
+        }
+    }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/adapter/FamilyAssetsRvAdapter.java b/app/src/main/java/com/application/zhangshi_app_android/adapter/FamilyAssetsRvAdapter.java
index 3e2717a..c28c979 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/adapter/FamilyAssetsRvAdapter.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/adapter/FamilyAssetsRvAdapter.java
@@ -21,9 +21,12 @@
 import com.application.zhangshi_app_android.ui.function.FamilyAssetsActivityViewModel;
 import com.application.zhangshi_app_android.ui.function.FamilyAssetsDetailActivity;
 
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
+import java.util.Locale;
 import java.util.Objects;
 
 /**
@@ -50,7 +53,7 @@
     }
 
     @Override
-    protected ViewHolder getViewHolder(ItemFamilyAssetsBinding itemBind) {
+    protected ViewHolder getViewHolder(ItemFamilyAssetsBinding itemBind,int viewType) {
         return new ViewHolder(itemBind);
     }
 
@@ -117,6 +120,8 @@
                     new Intent(getRecyclerView().getContext(), FamilyAssetsDetailActivity.class)
                             .putExtra("bean",mDataList.get(position)));
         });
+        String time = mDataList.get(position).getCreateTime().split(" ")[0];
+        holder.getBinding().tvTime.setText(time);
         ImageRvAdapter adapter = new ImageRvAdapter(mContext);
         holder.getBinding().rvImage.setLayoutManager(new GridLayoutManager(mContext,3));
         holder.getBinding().rvImage.setAdapter(adapter);
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
index 84c2b42..3633bbd 100644
--- 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
@@ -23,6 +23,7 @@
 import com.application.zhangshi_app_android.ui.function.FamilyMemorabiliaActivityViewModel;
 
 import java.util.ArrayList;
+import java.util.Collection;
 import java.util.Collections;
 import java.util.List;
 import java.util.Objects;
@@ -53,7 +54,7 @@
     }
 
     @Override
-    protected MyViewHolder getViewHolder(ItemFamilyMemorabiliaBinding itemBind) {
+    protected MyViewHolder getViewHolder(ItemFamilyMemorabiliaBinding itemBind,int viewType) {
         return new MyViewHolder(itemBind);
     }
 
@@ -70,13 +71,18 @@
             holder.getBinding().checkbox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
                 @Override
                 public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
-                    List<FamilyMemorabiliaBean> list = new ArrayList<>(Objects.requireNonNull(viewModel.getCheckListLiveData().getValue()));
+                    if (viewModel.getCheckListLiveData().getValue() == null){
+                        viewModel.getCheckListLiveData().setValue(new ArrayList<>());
+                    }
+                    List<FamilyMemorabiliaBean> list = new ArrayList<>(viewModel.getCheckListLiveData().getValue());
                     if (isChecked){
-                        list.add(mDataList.get(position));
+                        if (!list.contains(mDataList.get(position))){
+                            list.add(mDataList.get(position));
+                        }
                     }else{
                         list.remove(mDataList.get(position));
                     }
-                    viewModel.getCheckListLiveData().postValue(list);
+                    viewModel.getCheckListLiveData().setValue(list);
                 }
             });
             holder.getBinding().checkbox.setChecked(viewModel.getCheckListLiveData().getValue().contains(mDataList.get(position)));
diff --git a/app/src/main/java/com/application/zhangshi_app_android/adapter/HomeDevicesRvAdapter.java b/app/src/main/java/com/application/zhangshi_app_android/adapter/HomeDevicesRvAdapter.java
index 1b718b0..16ca07e 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/adapter/HomeDevicesRvAdapter.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/adapter/HomeDevicesRvAdapter.java
@@ -119,7 +119,7 @@
     }
 
     @Override
-    protected ViewHolder getViewHolder(ItemHomeDevicesBinding itemBind) {
+    protected ViewHolder getViewHolder(ItemHomeDevicesBinding itemBind,int viewType) {
         return new ViewHolder(itemBind);
     }
 
diff --git a/app/src/main/java/com/application/zhangshi_app_android/adapter/HomeMemberAdapter.java b/app/src/main/java/com/application/zhangshi_app_android/adapter/HomeMemberAdapter.java
new file mode 100644
index 0000000..9e42148
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/adapter/HomeMemberAdapter.java
@@ -0,0 +1,103 @@
+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.HomeMemberBean;
+import com.application.zhangshi_app_android.databinding.ItemHomeMemberListBinding;
+
+/**
+ * @author Ljj
+ * @date 2023.04.11. 14:08
+ * @desc
+ */
+public class HomeMemberAdapter extends BaseRVAdapter<HomeMemberBean, ItemHomeMemberListBinding, HomeMemberAdapter.ViewHolder> {
+
+    public HomeMemberAdapter(Context context) {
+        super(context);
+    }
+
+    @Override
+    protected int getLayoutId() {
+        return R.layout.item_home_member_list;
+    }
+
+    @Override
+    protected void onBind(ViewHolder holder, int position) {
+        holder.getBinding().setBean(mDataList.get(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;
+                }
+            }
+        });
+    }
+
+    @Override
+    protected ViewHolder getViewHolder(ItemHomeMemberListBinding itemBind, int viewType) {
+        return new ViewHolder(itemBind);
+    }
+
+    public static class ViewHolder extends BaseViewHolder<ItemHomeMemberListBinding>{
+        private boolean isExpended;
+
+        public ViewHolder(ItemHomeMemberListBinding binding) {
+            super(binding);
+        }
+    }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/adapter/HonorCollectionRvAdapter.java b/app/src/main/java/com/application/zhangshi_app_android/adapter/HonorCollectionRvAdapter.java
new file mode 100644
index 0000000..4ab8436
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/adapter/HonorCollectionRvAdapter.java
@@ -0,0 +1,138 @@
+package com.application.zhangshi_app_android.adapter;
+
+import android.content.Context;
+import android.content.Intent;
+import android.view.View;
+import android.view.animation.Animation;
+import android.view.animation.Transformation;
+import android.widget.FrameLayout;
+
+import androidx.recyclerview.widget.GridLayoutManager;
+
+import com.android.app_base.base.adapter.BaseRVAdapter;
+import com.android.app_base.manager.AppManager;
+import com.application.zhangshi_app_android.R;
+import com.application.zhangshi_app_android.bean.HonorCollectionBean;
+import com.application.zhangshi_app_android.databinding.ItemFamilyAssetsBinding;
+import com.application.zhangshi_app_android.databinding.ItemHonorCollectionBinding;
+import com.application.zhangshi_app_android.ui.function.HonorCollectionDetailActivity;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * @author Ljj
+ * @date 2023.04.14. 20:57
+ * @desc 鑽h獕鏀惰棌 Adapter
+ */
+public class HonorCollectionRvAdapter extends BaseRVAdapter<HonorCollectionBean, ItemHonorCollectionBinding, HonorCollectionRvAdapter.ViewHolder>{
+
+    public HonorCollectionRvAdapter(Context context) {
+        super(context);
+    }
+
+    @Override
+    protected int getLayoutId() {
+        return R.layout.item_honor_collection;
+    }
+
+    @Override
+    protected void onBind(ViewHolder holder, int position) {
+        holder.getBinding().setBean(mDataList.get(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;
+                }
+            }
+        });
+        holder.getBinding().layoutContent.setOnClickListener(v -> {
+            AppManager.getAppManager().startActivity(
+                    new Intent(getRecyclerView().getContext(), HonorCollectionDetailActivity.class)
+                            .putExtra("bean",mDataList.get(position)));
+        });
+
+        String time = mDataList.get(position).getGetTime().split(" ")[0];
+        holder.getBinding().tvTime.setText(time);
+
+        ImageRvAdapter adapter = new ImageRvAdapter(mContext);
+        holder.getBinding().rvImage.setLayoutManager(new GridLayoutManager(mContext,3));
+        holder.getBinding().rvImage.setAdapter(adapter);
+        String url = mDataList.get(position).getUrl();
+        if (url == null||url.isEmpty()){
+            return;
+        }
+        List<String> list;
+        if (url.contains(",")){
+            String[] split = url.split(",");
+            list = new ArrayList<>(Arrays.asList(split));
+        }else {
+            list = new ArrayList<>();
+            list.add(url);
+        }
+        adapter.setData(list);
+    }
+
+    @Override
+    protected ViewHolder getViewHolder(ItemHonorCollectionBinding itemBind, int viewType) {
+        return new ViewHolder(itemBind);
+    }
+
+    public static class ViewHolder extends BaseViewHolder<ItemHonorCollectionBinding>{
+        private boolean isExpended;
+
+        public ViewHolder(ItemHonorCollectionBinding binding) {
+            super(binding);
+        }
+    }
+}
+
diff --git a/app/src/main/java/com/application/zhangshi_app_android/adapter/HundredWishRvAdapter.java b/app/src/main/java/com/application/zhangshi_app_android/adapter/HundredWishRvAdapter.java
new file mode 100644
index 0000000..633aac0
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/adapter/HundredWishRvAdapter.java
@@ -0,0 +1,131 @@
+package com.application.zhangshi_app_android.adapter;
+
+import android.content.Context;
+import android.content.Intent;
+import android.view.View;
+import android.view.animation.Animation;
+import android.view.animation.Transformation;
+import android.widget.FrameLayout;
+
+import androidx.recyclerview.widget.GridLayoutManager;
+
+import com.android.app_base.base.adapter.BaseRVAdapter;
+import com.android.app_base.manager.AppManager;
+import com.application.zhangshi_app_android.R;
+import com.application.zhangshi_app_android.bean.HundredWishBean;
+import com.application.zhangshi_app_android.databinding.ItemHundredWishBinding;
+import com.application.zhangshi_app_android.ui.function.HundredWishDetailActivity;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+/**
+* @author Ljj
+* @date 2023.04.23. 20:05
+* @desc
+*/public class HundredWishRvAdapter extends BaseRVAdapter<HundredWishBean, ItemHundredWishBinding, HundredWishRvAdapter.ViewHolder> {
+    public HundredWishRvAdapter(Context context) {
+        super(context);
+    }
+
+    @Override
+    protected int getLayoutId() {
+        return R.layout.item_hundred_wish;
+    }
+
+    @Override
+    protected ViewHolder getViewHolder(ItemHundredWishBinding itemBind, int viewType) {
+        return new ViewHolder(itemBind);
+    }
+
+    @Override
+    protected void onBind(ViewHolder holder, int position) {
+        holder.getBinding().setBean(mDataList.get(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;
+                }
+            }
+        });
+        holder.getBinding().layoutContent.setOnClickListener(v -> {
+            AppManager.getAppManager().startActivity(
+                    new Intent(getRecyclerView().getContext(), HundredWishDetailActivity.class)
+                            .putExtra("bean",mDataList.get(position)));
+        });
+
+        ImageRvAdapter adapter = new ImageRvAdapter(mContext);
+        holder.getBinding().rvImage.setLayoutManager(new GridLayoutManager(mContext,3));
+        holder.getBinding().rvImage.setAdapter(adapter);
+        String url = mDataList.get(position).getUrl();
+        if (url == null||url.isEmpty()){
+            return;
+        }
+        List<String> list;
+        if (url.contains(",")){
+            String[] split = url.split(",");
+            list = new ArrayList<>(Arrays.asList(split));
+        }else {
+            list = new ArrayList<>();
+            list.add(url);
+        }
+        adapter.setData(list);
+    }
+
+    public static class ViewHolder extends BaseRVAdapter.BaseViewHolder<ItemHundredWishBinding> {
+        private boolean isExpended;
+
+        public ViewHolder(ItemHundredWishBinding binding) {
+            super(binding);
+        }
+    }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/adapter/ImageRvAdapter.java b/app/src/main/java/com/application/zhangshi_app_android/adapter/ImageRvAdapter.java
index 0893e9f..62459b4 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/adapter/ImageRvAdapter.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/adapter/ImageRvAdapter.java
@@ -54,7 +54,7 @@
     }
 
     @Override
-    protected BaseViewHolder<ItemImageBinding> getViewHolder(ItemImageBinding itemBind) {
+    protected BaseViewHolder<ItemImageBinding> getViewHolder(ItemImageBinding itemBind,int viewType) {
         return new BaseViewHolder<>(itemBind);
     }
 
diff --git a/app/src/main/java/com/application/zhangshi_app_android/adapter/IncomeAndExpensesRvAdapter.java b/app/src/main/java/com/application/zhangshi_app_android/adapter/IncomeAndExpensesRvAdapter.java
new file mode 100644
index 0000000..ce73bca
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/adapter/IncomeAndExpensesRvAdapter.java
@@ -0,0 +1,135 @@
+package com.application.zhangshi_app_android.adapter;
+
+import android.content.Context;
+import android.content.Intent;
+import android.view.View;
+import android.view.animation.Animation;
+import android.view.animation.Transformation;
+import android.widget.FrameLayout;
+
+import androidx.recyclerview.widget.GridLayoutManager;
+
+import com.android.app_base.base.adapter.BaseRVAdapter;
+import com.android.app_base.manager.AppManager;
+import com.application.zhangshi_app_android.R;
+import com.application.zhangshi_app_android.bean.CleanStorageBean;
+import com.application.zhangshi_app_android.bean.IncomeAndExpensesBean;
+import com.application.zhangshi_app_android.databinding.ItemCleanStorageBinding;
+import com.application.zhangshi_app_android.databinding.ItemIncomeAndExpensesBinding;
+import com.application.zhangshi_app_android.ui.function.CleanStorageDetailActivity;
+import com.application.zhangshi_app_android.ui.function.IncomeAndExpensesDetailActivity;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * @author Ljj
+ * @date 2023.04.20. 22:24
+ * @desc
+ */
+public class IncomeAndExpensesRvAdapter extends BaseRVAdapter<IncomeAndExpensesBean, ItemIncomeAndExpensesBinding, IncomeAndExpensesRvAdapter.ViewHolder> {
+    public IncomeAndExpensesRvAdapter(Context context) {
+        super(context);
+    }
+
+    @Override
+    protected int getLayoutId() {
+        return R.layout.item_income_and_expenses;
+    }
+
+    @Override
+    protected ViewHolder getViewHolder(ItemIncomeAndExpensesBinding itemBind, int viewType) {
+        return new ViewHolder(itemBind);
+    }
+
+    @Override
+    protected void onBind(ViewHolder holder, int position) {
+        holder.getBinding().setBean(mDataList.get(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;
+                }
+            }
+        });
+        holder.getBinding().layoutContent.setOnClickListener(v -> {
+            AppManager.getAppManager().startActivity(
+                    new Intent(getRecyclerView().getContext(), IncomeAndExpensesDetailActivity.class)
+                            .putExtra("bean",mDataList.get(position)));
+        });
+
+        ImageRvAdapter adapter = new ImageRvAdapter(mContext);
+        holder.getBinding().rvImage.setLayoutManager(new GridLayoutManager(mContext,3));
+        holder.getBinding().rvImage.setAdapter(adapter);
+        String url = mDataList.get(position).getUrl();
+        if (url == null||url.isEmpty()){
+            return;
+        }
+        List<String> list;
+        if (url.contains(",")){
+            String[] split = url.split(",");
+            list = new ArrayList<>(Arrays.asList(split));
+        }else {
+            list = new ArrayList<>();
+            list.add(url);
+        }
+        adapter.setData(list);
+    }
+
+    public static class ViewHolder extends BaseRVAdapter.BaseViewHolder<ItemIncomeAndExpensesBinding> {
+        private boolean isExpended;
+
+        public ViewHolder(ItemIncomeAndExpensesBinding binding) {
+            super(binding);
+        }
+    }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/adapter/LittleDoctorRvAdapter.java b/app/src/main/java/com/application/zhangshi_app_android/adapter/LittleDoctorRvAdapter.java
new file mode 100644
index 0000000..24e7026
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/adapter/LittleDoctorRvAdapter.java
@@ -0,0 +1,135 @@
+package com.application.zhangshi_app_android.adapter;
+
+import android.content.Context;
+import android.content.Intent;
+import android.view.View;
+import android.view.animation.Animation;
+import android.view.animation.Transformation;
+import android.widget.FrameLayout;
+
+import androidx.recyclerview.widget.GridLayoutManager;
+
+import com.android.app_base.base.adapter.BaseRVAdapter;
+import com.android.app_base.manager.AppManager;
+import com.application.zhangshi_app_android.R;
+import com.application.zhangshi_app_android.bean.LittleDoctorBean;
+import com.application.zhangshi_app_android.databinding.ItemHonorCollectionBinding;
+import com.application.zhangshi_app_android.databinding.ItemLittleDoctorBinding;
+import com.application.zhangshi_app_android.ui.function.HonorCollectionDetailActivity;
+import com.application.zhangshi_app_android.ui.function.LittleDoctorDetailActivity;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * @author Ljj
+ * @date 2023.04.15. 15:06
+ * @desc
+ */
+public class LittleDoctorRvAdapter extends BaseRVAdapter<LittleDoctorBean, ItemLittleDoctorBinding, LittleDoctorRvAdapter.ViewHolder> {
+    public LittleDoctorRvAdapter(Context context) {
+        super(context);
+    }
+
+    @Override
+    protected int getLayoutId() {
+        return R.layout.item_little_doctor;
+    }
+
+    @Override
+    protected void onBind(ViewHolder holder, int position) {
+        holder.getBinding().setBean(mDataList.get(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;
+                }
+            }
+        });
+        holder.getBinding().layoutContent.setOnClickListener(v -> {
+            AppManager.getAppManager().startActivity(
+                    new Intent(getRecyclerView().getContext(), LittleDoctorDetailActivity.class)
+                            .putExtra("bean",mDataList.get(position)));
+        });
+
+
+        ImageRvAdapter adapter = new ImageRvAdapter(mContext);
+        holder.getBinding().rvImage.setLayoutManager(new GridLayoutManager(mContext,3));
+        holder.getBinding().rvImage.setAdapter(adapter);
+        String url = mDataList.get(position).getUrl();
+        if (url == null||url.isEmpty()){
+            return;
+        }
+        List<String> list;
+        if (url.contains(",")){
+            String[] split = url.split(",");
+            list = new ArrayList<>(Arrays.asList(split));
+        }else {
+            list = new ArrayList<>();
+            list.add(url);
+        }
+        adapter.setData(list);
+    }
+
+    @Override
+    protected ViewHolder getViewHolder(ItemLittleDoctorBinding itemBind, int viewType) {
+        return new ViewHolder(itemBind);
+    }
+
+    public static class ViewHolder extends BaseViewHolder<ItemLittleDoctorBinding>{
+        private boolean isExpended;
+
+        public ViewHolder(ItemLittleDoctorBinding binding) {
+            super(binding);
+        }
+    }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/adapter/PetRvAdapter.java b/app/src/main/java/com/application/zhangshi_app_android/adapter/PetRvAdapter.java
new file mode 100644
index 0000000..6e3351f
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/adapter/PetRvAdapter.java
@@ -0,0 +1,118 @@
+package com.application.zhangshi_app_android.adapter;
+
+import android.content.Context;
+import android.content.Intent;
+import android.view.View;
+import android.view.animation.Animation;
+import android.view.animation.Transformation;
+import android.widget.FrameLayout;
+
+import androidx.recyclerview.widget.GridLayoutManager;
+
+import com.android.app_base.base.adapter.BaseRVAdapter;
+import com.android.app_base.manager.AppManager;
+import com.application.zhangshi_app_android.R;
+import com.application.zhangshi_app_android.bean.CleanStorageBean;
+import com.application.zhangshi_app_android.bean.PetBean;
+import com.application.zhangshi_app_android.databinding.ItemCleanStorageBinding;
+import com.application.zhangshi_app_android.databinding.ItemPetBinding;
+import com.application.zhangshi_app_android.ui.function.CleanStorageDetailActivity;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * @author Ljj
+ * @date 2023.04.17. 18:40
+ * @desc
+ */
+public class PetRvAdapter extends BaseRVAdapter<PetBean, ItemPetBinding, PetRvAdapter.ViewHolder> {
+    public PetRvAdapter(Context context) {
+        super(context);
+    }
+
+    @Override
+    protected int getLayoutId() {
+        return R.layout.item_pet;
+    }
+
+    @Override
+    protected ViewHolder getViewHolder(ItemPetBinding itemBind, int viewType) {
+        return new ViewHolder(itemBind);
+    }
+
+    @Override
+    protected void onBind(ViewHolder holder, int position) {
+        holder.getBinding().setBean(mDataList.get(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;
+                }
+            }
+        });
+        holder.getBinding().layoutContent.setOnClickListener(v -> {
+            AppManager.getAppManager().startActivity(
+                    new Intent(getRecyclerView().getContext(), CleanStorageDetailActivity.class)
+                            .putExtra("bean",mDataList.get(position)));
+        });
+
+    }
+
+    public static class ViewHolder extends BaseRVAdapter.BaseViewHolder<ItemPetBinding> {
+        private boolean isExpended;
+
+        public ViewHolder(ItemPetBinding binding) {
+            super(binding);
+        }
+    }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/adapter/PropertyRvAdapter.java b/app/src/main/java/com/application/zhangshi_app_android/adapter/PropertyRvAdapter.java
new file mode 100644
index 0000000..38c457d
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/adapter/PropertyRvAdapter.java
@@ -0,0 +1,134 @@
+package com.application.zhangshi_app_android.adapter;
+
+import android.content.Context;
+import android.content.Intent;
+import android.view.View;
+import android.view.animation.Animation;
+import android.view.animation.Transformation;
+import android.widget.FrameLayout;
+
+import androidx.recyclerview.widget.GridLayoutManager;
+
+import com.android.app_base.base.adapter.BaseRVAdapter;
+import com.android.app_base.manager.AppManager;
+import com.application.zhangshi_app_android.R;
+import com.application.zhangshi_app_android.bean.PropertyBean;
+import com.application.zhangshi_app_android.databinding.ItemCleanStorageBinding;
+import com.application.zhangshi_app_android.databinding.ItemPropertyBinding;
+import com.application.zhangshi_app_android.ui.function.CleanStorageDetailActivity;
+import com.application.zhangshi_app_android.ui.function.PropertyDetailActivity;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * @author Ljj
+ * @date 2023.04.21. 19:26
+ * @desc 涓汉璐骇 Adapter
+ */
+public class PropertyRvAdapter extends BaseRVAdapter<PropertyBean, ItemPropertyBinding, PropertyRvAdapter.ViewHolder> {
+    public PropertyRvAdapter(Context context) {
+        super(context);
+    }
+
+    @Override
+    protected int getLayoutId() {
+        return R.layout.item_property;
+    }
+
+    @Override
+    protected ViewHolder getViewHolder(ItemPropertyBinding itemBind, int viewType) {
+        return new ViewHolder(itemBind);
+    }
+
+    @Override
+    protected void onBind(ViewHolder holder, int position) {
+        holder.getBinding().setBean(mDataList.get(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;
+                }
+            }
+        });
+        holder.getBinding().layoutContent.setOnClickListener(v -> {
+            AppManager.getAppManager().startActivity(
+                    new Intent(getRecyclerView().getContext(), PropertyDetailActivity.class)
+                            .putExtra("bean",mDataList.get(position)));
+        });
+
+        ImageRvAdapter adapter = new ImageRvAdapter(mContext);
+        holder.getBinding().rvImage.setLayoutManager(new GridLayoutManager(mContext,3));
+        holder.getBinding().rvImage.setAdapter(adapter);
+        String url = mDataList.get(position).getUrl();
+        if (url == null||url.isEmpty()){
+            return;
+        }
+        List<String> list;
+        if (url.contains(",")){
+            String[] split = url.split(",");
+            list = new ArrayList<>(Arrays.asList(split));
+        }else {
+            list = new ArrayList<>();
+            list.add(url);
+        }
+        adapter.setData(list);
+    }
+
+    public static class ViewHolder extends BaseRVAdapter.BaseViewHolder<ItemPropertyBinding> {
+        private boolean isExpended;
+
+        public ViewHolder(ItemPropertyBinding binding) {
+            super(binding);
+        }
+    }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/bean/CertificateOfHonorBean.java b/app/src/main/java/com/application/zhangshi_app_android/bean/CertificateOfHonorBean.java
new file mode 100644
index 0000000..a9fd745
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/bean/CertificateOfHonorBean.java
@@ -0,0 +1,111 @@
+package com.application.zhangshi_app_android.bean;
+
+import java.io.Serializable;
+
+/**
+ * @author Ljj
+ * @date 2023.04.23. 22:32
+ * @desc 鑽h獕璇佷功 Bean
+ */
+public class CertificateOfHonorBean implements Serializable {
+    //鍚嶇О
+    private String name;
+    //鏃堕棿
+    private String time;
+    //绫诲埆
+    private String type;
+    //璇佸彿
+    private String certificateNumber;
+    //绾у埆
+    private String level;
+    //鏈夋晥鏃堕棿
+    private String effectiveTime;
+    //鑾峰緱鏃堕棿
+    private String getTime;
+    //瀛樻斁浣嶇疆
+    private String location;
+    //澶囨敞
+    private String remark;
+    //鐢靛瓙鏂囦欢
+    private String url;
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getTime() {
+        return time;
+    }
+
+    public void setTime(String time) {
+        this.time = time;
+    }
+
+    public String getType() {
+        return type;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
+
+    public String getCertificateNumber() {
+        return certificateNumber;
+    }
+
+    public void setCertificateNumber(String certificateNumber) {
+        this.certificateNumber = certificateNumber;
+    }
+
+    public String getLevel() {
+        return level;
+    }
+
+    public void setLevel(String level) {
+        this.level = level;
+    }
+
+    public String getEffectiveTime() {
+        return effectiveTime;
+    }
+
+    public void setEffectiveTime(String effectiveTime) {
+        this.effectiveTime = effectiveTime;
+    }
+
+    public String getGetTime() {
+        return getTime;
+    }
+
+    public void setGetTime(String getTime) {
+        this.getTime = getTime;
+    }
+
+    public String getLocation() {
+        return location;
+    }
+
+    public void setLocation(String location) {
+        this.location = location;
+    }
+
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
+
+    public String getUrl() {
+        return url;
+    }
+
+    public void setUrl(String url) {
+        this.url = url;
+    }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/bean/CleanStorageBean.java b/app/src/main/java/com/application/zhangshi_app_android/bean/CleanStorageBean.java
new file mode 100644
index 0000000..4ee7a4f
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/bean/CleanStorageBean.java
@@ -0,0 +1,112 @@
+package com.application.zhangshi_app_android.bean;
+
+import java.io.Serializable;
+
+/**
+ * @author Ljj
+ * @date 2023.04.16. 19:13
+ * @desc 淇濇磥鏀剁撼 bean
+ */
+public class CleanStorageBean implements Serializable {
+    //搴忓彿
+    private int id;
+    //绫诲瀷
+    private String type;
+    //閫傜敤浜�
+    private String suitablePeople;
+    //绫诲埆
+    private String category;
+    //淇濇磥鏂规硶
+    private String cleanMethod;
+    //鏉愭枡瀛樻斁鍦�
+    private String materialStorageLocation;
+    //鏀剧疆鍦扮偣
+    private String placementLocation;
+    //澶囨敞
+    private String remark;
+    private String url;
+
+    public CleanStorageBean(int id, String type, String suitablePeople, String category, String cleanMethod, String materialStorageLocation, String placementLocation, String remark, String url) {
+        this.id = id;
+        this.type = type;
+        this.suitablePeople = suitablePeople;
+        this.category = category;
+        this.cleanMethod = cleanMethod;
+        this.materialStorageLocation = materialStorageLocation;
+        this.placementLocation = placementLocation;
+        this.remark = remark;
+        this.url = url;
+    }
+
+    public int getId() {
+        return id;
+    }
+
+    public void setId(int id) {
+        this.id = id;
+    }
+
+    public String getType() {
+        return type;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
+
+    public String getSuitablePeople() {
+        return suitablePeople;
+    }
+
+    public void setSuitablePeople(String suitablePeople) {
+        this.suitablePeople = suitablePeople;
+    }
+
+    public String getCategory() {
+        return category;
+    }
+
+    public void setCategory(String category) {
+        this.category = category;
+    }
+
+    public String getCleanMethod() {
+        return cleanMethod;
+    }
+
+    public void setCleanMethod(String cleanMethod) {
+        this.cleanMethod = cleanMethod;
+    }
+
+    public String getMaterialStorageLocation() {
+        return materialStorageLocation;
+    }
+
+    public void setMaterialStorageLocation(String materialStorageLocation) {
+        this.materialStorageLocation = materialStorageLocation;
+    }
+
+    public String getPlacementLocation() {
+        return placementLocation;
+    }
+
+    public void setPlacementLocation(String placementLocation) {
+        this.placementLocation = placementLocation;
+    }
+
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
+
+    public String getUrl() {
+        return url;
+    }
+
+    public void setUrl(String url) {
+        this.url = url;
+    }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/bean/HomeDevicesBean.java b/app/src/main/java/com/application/zhangshi_app_android/bean/HomeDevicesBean.java
index a3cafb3..aede4e7 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/bean/HomeDevicesBean.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/bean/HomeDevicesBean.java
@@ -10,20 +10,21 @@
 public class HomeDevicesBean implements Serializable {
     private long id;
     private String name;
-    private String createTime;
-    private String people;
+    private String createDate;
+    private String buyer;
     private String content;
-    private String address;
+    private String location;
     private String remark;
     private String url;
+    private String familyId;
 
     public HomeDevicesBean(long id, String name, String createTime, String people, String content, String address, String remark, String url) {
         this.id = id;
         this.name = name;
-        this.createTime = createTime;
-        this.people = people;
+        this.createDate = createTime;
+        this.buyer = people;
         this.content = content;
-        this.address = address;
+        this.location = address;
         this.remark = remark;
         this.url = url;
     }
@@ -36,20 +37,20 @@
         this.name = name;
     }
 
-    public String getCreateTime() {
-        return createTime;
+    public String getCreateDate() {
+        return createDate;
     }
 
-    public void setCreateTime(String createTime) {
-        this.createTime = createTime;
+    public void setCreateDate(String createDate) {
+        this.createDate = createDate;
     }
 
-    public String getPeople() {
-        return people;
+    public String getBuyer() {
+        return buyer;
     }
 
-    public void setPeople(String people) {
-        this.people = people;
+    public void setBuyer(String buyer) {
+        this.buyer = buyer;
     }
 
     public String getContent() {
@@ -60,12 +61,12 @@
         this.content = content;
     }
 
-    public String getAddress() {
-        return address;
+    public String getLocation() {
+        return location;
     }
 
-    public void setAddress(String address) {
-        this.address = address;
+    public void setLocation(String location) {
+        this.location = location;
     }
 
     public String getRemark() {
@@ -90,4 +91,12 @@
     public void setId(long id) {
         this.id = id;
     }
+
+    public String getFamilyId() {
+        return familyId;
+    }
+
+    public void setFamilyId(String familyId) {
+        this.familyId = familyId;
+    }
 }
diff --git a/app/src/main/java/com/application/zhangshi_app_android/bean/HomeMemberBean.java b/app/src/main/java/com/application/zhangshi_app_android/bean/HomeMemberBean.java
new file mode 100644
index 0000000..b360426
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/bean/HomeMemberBean.java
@@ -0,0 +1,102 @@
+package com.application.zhangshi_app_android.bean;
+
+/**
+ * @author Ljj
+ * @date 2023.04.11. 14:13
+ * @desc 棣栭〉鎴愬憳淇℃伅
+ */
+public class HomeMemberBean {
+    private String generation;
+    private String name;
+    private String gender;
+    private String url;
+    private String birthday;
+    private String deathDay;
+    private String phone;
+    private String company;
+    private String spouse;
+
+    public HomeMemberBean(String generation, String name, String gender, String url, String birthday, String deathDay, String phone, String company, String spouse) {
+        this.generation = generation;
+        this.name = name;
+        this.gender = gender;
+        this.url = url;
+        this.birthday = birthday;
+        this.deathDay = deathDay;
+        this.phone = phone;
+        this.company = company;
+        this.spouse = spouse;
+    }
+
+    public String getGeneration() {
+        return generation;
+    }
+
+    public void setGeneration(String generation) {
+        this.generation = generation;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getGender() {
+        return gender;
+    }
+
+    public void setGender(String gender) {
+        this.gender = gender;
+    }
+
+    public String getUrl() {
+        return url;
+    }
+
+    public void setUrl(String url) {
+        this.url = url;
+    }
+
+    public String getBirthday() {
+        return birthday;
+    }
+
+    public void setBirthday(String birthday) {
+        this.birthday = birthday;
+    }
+
+    public String getDeathDay() {
+        return deathDay;
+    }
+
+    public void setDeathDay(String deathDay) {
+        this.deathDay = deathDay;
+    }
+
+    public String getPhone() {
+        return phone;
+    }
+
+    public void setPhone(String phone) {
+        this.phone = phone;
+    }
+
+    public String getCompany() {
+        return company;
+    }
+
+    public void setCompany(String company) {
+        this.company = company;
+    }
+
+    public String getSpouse() {
+        return spouse;
+    }
+
+    public void setSpouse(String spouse) {
+        this.spouse = spouse;
+    }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/bean/HonorCollectionBean.java b/app/src/main/java/com/application/zhangshi_app_android/bean/HonorCollectionBean.java
new file mode 100644
index 0000000..885f8da
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/bean/HonorCollectionBean.java
@@ -0,0 +1,119 @@
+package com.application.zhangshi_app_android.bean;
+
+import java.io.Serializable;
+
+/**
+ * @author Ljj
+ * @date 2023.04.14. 21:12
+ * @desc
+ */
+public class HonorCollectionBean implements Serializable {
+    private int id;
+    private String type;//绫诲瀷
+    private String name;//鍚嶇О
+    private String getTime;//鑾峰緱鏃堕棿
+    private String source;//鏉ユ簮
+    private String price;//浠峰��
+    private String owner;//鎵�鏈夎��
+    private String location;//瀛樻斁鍦扮偣
+    private String remark;//澶囨敞
+    private String url;//鐢靛瓙鏂囦欢
+    private String familyId;//瀹跺涵id
+    private int ownData;//鎷ユ湁鏁版嵁
+
+    public String getName() {
+        return name;
+    }
+
+    public String getType() {
+        return type;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getGetTime() {
+        return getTime;
+    }
+
+    public void setGetTime(String getTime) {
+        this.getTime = getTime;
+    }
+
+    public String getSource() {
+        return source;
+    }
+
+    public void setSource(String source) {
+        this.source = source;
+    }
+
+    public String getPrice() {
+        return price;
+    }
+
+    public void setPrice(String price) {
+        this.price = price;
+    }
+
+    public String getOwner() {
+        return owner;
+    }
+
+    public void setOwner(String owner) {
+        this.owner = owner;
+    }
+
+    public String getLocation() {
+        return location;
+    }
+
+    public void setLocation(String location) {
+        this.location = location;
+    }
+
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
+
+    public String getUrl() {
+        return url;
+    }
+
+    public void setUrl(String url) {
+        this.url = url;
+    }
+
+    public int getId() {
+        return id;
+    }
+
+    public void setId(int id) {
+        this.id = id;
+    }
+
+    public String getFamilyId() {
+        return familyId;
+    }
+
+    public void setFamilyId(String familyId) {
+        this.familyId = familyId;
+    }
+
+    public int getOwnData() {
+        return ownData;
+    }
+
+    public void setOwnData(int ownData) {
+        this.ownData = ownData;
+    }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/bean/HonorCollectionRequestBean.java b/app/src/main/java/com/application/zhangshi_app_android/bean/HonorCollectionRequestBean.java
new file mode 100644
index 0000000..35c4f24
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/bean/HonorCollectionRequestBean.java
@@ -0,0 +1,118 @@
+package com.application.zhangshi_app_android.bean;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * @author Ljj
+ * @date 2023.04.17. 21:26
+ * @desc 鑽h獕鏀惰棌 璇锋眰Bean
+ */
+public class HonorCollectionRequestBean {
+    private String type;//绫诲瀷
+    private String name;//鍚嶇О
+    private String getTime;//鑾峰緱鏃堕棿
+    private String source;//鏉ユ簮
+    private String price;//浠峰��
+    private String owner;//鎵�鏈夎��
+    private String location;//瀛樻斁鍦扮偣
+    private String remark;//澶囨敞
+    private int pageNum = 1;//椤电爜
+    private int pageSize = 20;//姣忛〉鏉℃暟
+
+    public String getType() {
+        return type;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getGetTime() {
+        return getTime;
+    }
+
+    public void setGetTime(String getTime) {
+        this.getTime = getTime;
+    }
+
+    public String getSource() {
+        return source;
+    }
+
+    public void setSource(String source) {
+        this.source = source;
+    }
+
+    public String getPrice() {
+        return price;
+    }
+
+    public void setPrice(String price) {
+        this.price = price;
+    }
+
+    public String getOwner() {
+        return owner;
+    }
+
+    public void setOwner(String owner) {
+        this.owner = owner;
+    }
+
+    public String getLocation() {
+        return location;
+    }
+
+    public void setLocation(String location) {
+        this.location = location;
+    }
+
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
+
+    public int getPageNum() {
+        return pageNum;
+    }
+
+    public void setPageNum(int pageNum) {
+        this.pageNum = pageNum;
+    }
+
+    public int getPageSize() {
+        return pageSize;
+    }
+
+    public void setPageSize(int pageSize) {
+        this.pageSize = pageSize;
+    }
+
+    //map
+    public Map<String, Object> toMap() {
+        Map<String, Object> map = new HashMap<>();
+        map.put("type", type == null ? "" : type);
+        map.put("name", name == null ? "" : name);
+        map.put("getTime", getTime == null ? "" : getTime);
+        map.put("source", source == null ? "" : source);
+        map.put("price", price == null ? "" : price);
+        map.put("owner", owner == null ? "" : owner);
+        map.put("location", location == null ? "" : location);
+        map.put("remark", remark == null ? "" : remark);
+        map.put("pageNum", pageNum);
+        map.put("pageSize", pageSize);
+        return map;
+    }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/bean/HonorCollectionResponseBean.java b/app/src/main/java/com/application/zhangshi_app_android/bean/HonorCollectionResponseBean.java
new file mode 100644
index 0000000..7b3a5ab
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/bean/HonorCollectionResponseBean.java
@@ -0,0 +1,47 @@
+package com.application.zhangshi_app_android.bean;
+
+import java.util.List;
+
+/**
+ * @author Ljj
+ * @date 2023.04.17. 21:38
+ * @desc 鑽h獕鏀惰棌 杩斿洖Bean
+ */
+public class HonorCollectionResponseBean {
+    private List<HonorCollectionBean> data;
+    private long pageNum;
+    private long pageSize;
+    private long total;
+
+    public List<HonorCollectionBean> getData() {
+        return data;
+    }
+
+    public void setData(List<HonorCollectionBean> data) {
+        this.data = data;
+    }
+
+    public long getPageNum() {
+        return pageNum;
+    }
+
+    public void setPageNum(long pageNum) {
+        this.pageNum = pageNum;
+    }
+
+    public long getPageSize() {
+        return pageSize;
+    }
+
+    public void setPageSize(long pageSize) {
+        this.pageSize = pageSize;
+    }
+
+    public long getTotal() {
+        return total;
+    }
+
+    public void setTotal(long total) {
+        this.total = total;
+    }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/bean/HundredWishBean.java b/app/src/main/java/com/application/zhangshi_app_android/bean/HundredWishBean.java
new file mode 100644
index 0000000..e675863
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/bean/HundredWishBean.java
@@ -0,0 +1,101 @@
+package com.application.zhangshi_app_android.bean;
+
+import java.io.Serializable;
+
+/**
+ * @author Ljj
+ * @date 2023.04.23. 20:04
+ * @desc
+ */
+public class HundredWishBean implements Serializable {
+    //鏍囬
+    private String title;
+    //鍒涘缓鏃堕棿
+    private String createTime;
+    //濮嬩簬浣曞洜
+    private String reason;
+    //鍙楁儬浜�
+    private String beneficiary;
+    //缁ф壙浜�
+    private String heir;
+    //瀹炵幇闅惧害
+    private String difficulty;
+    //鏄惁渚濇棫鏈夋晥 1鏈夋晥 0鏃犳晥
+    private int isEffective;
+    //澶囨敞
+    private String remark;
+    //鐢靛瓙鏂囦欢
+    private String url;
+
+    public String getTitle() {
+        return title;
+    }
+
+    public void setTitle(String title) {
+        this.title = title;
+    }
+
+    public String getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(String createTime) {
+        this.createTime = createTime;
+    }
+
+    public String getReason() {
+        return reason;
+    }
+
+    public void setReason(String reason) {
+        this.reason = reason;
+    }
+
+    public String getBeneficiary() {
+        return beneficiary;
+    }
+
+    public void setBeneficiary(String beneficiary) {
+        this.beneficiary = beneficiary;
+    }
+
+    public String getHeir() {
+        return heir;
+    }
+
+    public void setHeir(String heir) {
+        this.heir = heir;
+    }
+
+    public String getDifficulty() {
+        return difficulty;
+    }
+
+    public void setDifficulty(String difficulty) {
+        this.difficulty = difficulty;
+    }
+
+    public int getIsEffective() {
+        return isEffective;
+    }
+
+    public void setIsEffective(int isEffective) {
+        this.isEffective = isEffective;
+    }
+
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
+
+    public String getUrl() {
+        return url;
+    }
+
+    public void setUrl(String url) {
+        this.url = url;
+    }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/bean/IncomeAndExpensesBean.java b/app/src/main/java/com/application/zhangshi_app_android/bean/IncomeAndExpensesBean.java
new file mode 100644
index 0000000..8dbea95
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/bean/IncomeAndExpensesBean.java
@@ -0,0 +1,119 @@
+package com.application.zhangshi_app_android.bean;
+
+import java.io.Serializable;
+
+/**
+ * @author Ljj
+ * @date 2023.04.20. 22:25
+ * @desc 鏀舵敮鍙拌处 瀹炰綋绫�
+ */
+public class IncomeAndExpensesBean implements Serializable {
+    private int id;
+    private int type;//0=鍩洪噾,1=鍙拌处
+    private String createTime;
+    private String price;//閲戦
+    private String useFor;//鐢ㄩ��
+    private String usePeople;//浣跨敤浜�
+    private int kind;//0=鐜伴噾,1=鑷姩鍒掓墸
+    private String balance;//浣欓
+    private String remark;//澶囨敞
+    private String url;//鐢靛瓙鏂囦欢
+    private String familyId;//瀹跺涵id
+    private int ownData;//鏄惁鏄湰瀹跺涵鐨勬暟鎹� 0=鍚�,1=鏄�
+
+    public int getId() {
+        return id;
+    }
+
+    public void setId(int id) {
+        this.id = id;
+    }
+
+    public int getType() {
+        return type;
+    }
+
+    public void setType(int type) {
+        this.type = type;
+    }
+
+    public String getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(String createTime) {
+        this.createTime = createTime;
+    }
+
+    public String getPrice() {
+        return price;
+    }
+
+    public void setPrice(String price) {
+        this.price = price;
+    }
+
+    public String getUseFor() {
+        return useFor;
+    }
+
+    public void setUseFor(String useFor) {
+        this.useFor = useFor;
+    }
+
+    public String getUsePeople() {
+        return usePeople;
+    }
+
+    public void setUsePeople(String usePeople) {
+        this.usePeople = usePeople;
+    }
+
+    public int getKind() {
+        return kind;
+    }
+
+    public void setKind(int kind) {
+        this.kind = kind;
+    }
+
+    public String getBalance() {
+        return balance;
+    }
+
+    public void setBalance(String balance) {
+        this.balance = balance;
+    }
+
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
+
+    public String getUrl() {
+        return url;
+    }
+
+    public void setUrl(String url) {
+        this.url = url;
+    }
+
+    public String getFamilyId() {
+        return familyId;
+    }
+
+    public void setFamilyId(String familyId) {
+        this.familyId = familyId;
+    }
+
+    public int getOwnData() {
+        return ownData;
+    }
+
+    public void setOwnData(int ownData) {
+        this.ownData = ownData;
+    }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/bean/IncomeAndExpensesResponseBean.java b/app/src/main/java/com/application/zhangshi_app_android/bean/IncomeAndExpensesResponseBean.java
new file mode 100644
index 0000000..cccd3fe
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/bean/IncomeAndExpensesResponseBean.java
@@ -0,0 +1,47 @@
+package com.application.zhangshi_app_android.bean;
+
+import java.util.List;
+
+/**
+ * @author Ljj
+ * @date 2023.04.20. 22:50
+ * @desc
+ */
+public class IncomeAndExpensesResponseBean {
+    private List<IncomeAndExpensesBean> data;
+    private long pageNum;
+    private long pageSize;
+    private long total;
+
+    public List<IncomeAndExpensesBean> getData() {
+        return data;
+    }
+
+    public void setData(List<IncomeAndExpensesBean> data) {
+        this.data = data;
+    }
+
+    public long getPageNum() {
+        return pageNum;
+    }
+
+    public void setPageNum(long pageNum) {
+        this.pageNum = pageNum;
+    }
+
+    public long getPageSize() {
+        return pageSize;
+    }
+
+    public void setPageSize(long pageSize) {
+        this.pageSize = pageSize;
+    }
+
+    public long getTotal() {
+        return total;
+    }
+
+    public void setTotal(long total) {
+        this.total = total;
+    }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/bean/LittleDoctorBean.java b/app/src/main/java/com/application/zhangshi_app_android/bean/LittleDoctorBean.java
new file mode 100644
index 0000000..d11237d
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/bean/LittleDoctorBean.java
@@ -0,0 +1,114 @@
+package com.application.zhangshi_app_android.bean;
+
+import java.io.Serializable;
+
+/**
+ * @author Ljj
+ * @date 2023.04.15. 15:25
+ * @desc
+ */
+public class LittleDoctorBean implements Serializable {
+    private int id;
+    private String type;//绫诲瀷
+    private String symptom;//鐥囩姸
+    private String duration;//鎸佺画鏃堕棿
+    private String cmedical;//涓尰澶勬柟
+    private String wmedical;
+    private String effect;
+    private String suitable;
+    private String remark;
+    private String url;
+
+    public LittleDoctorBean(int id, String symptoms, String usingPeople, String duration, String type, String tcmPrescription, String westernMedicinePrescription, String efficacy, String remark, String url) {
+        this.id = id;
+        this.symptom = symptoms;
+        this.suitable = usingPeople;
+        this.duration = duration;
+        this.type = type;
+        this.cmedical = tcmPrescription;
+        this.wmedical = westernMedicinePrescription;
+        this.effect = efficacy;
+        this.remark = remark;
+        this.url = url;
+    }
+
+    public int getId() {
+        return id;
+    }
+
+    public void setId(int id) {
+        this.id = id;
+    }
+
+    public String getSymptom() {
+        return symptom;
+    }
+
+    public void setSymptom(String symptom) {
+        this.symptom = symptom;
+    }
+
+    public String getSuitable() {
+        return suitable;
+    }
+
+    public void setSuitable(String suitable) {
+        this.suitable = suitable;
+    }
+
+    public String getDuration() {
+        return duration;
+    }
+
+    public void setDuration(String duration) {
+        this.duration = duration;
+    }
+
+    public String getType() {
+        return type;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
+
+    public String getCmedical() {
+        return cmedical;
+    }
+
+    public void setCmedical(String cmedical) {
+        this.cmedical = cmedical;
+    }
+
+    public String getWmedical() {
+        return wmedical;
+    }
+
+    public void setWmedical(String wmedical) {
+        this.wmedical = wmedical;
+    }
+
+    public String getEffect() {
+        return effect;
+    }
+
+    public void setEffect(String effect) {
+        this.effect = effect;
+    }
+
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
+
+    public String getUrl() {
+        return url;
+    }
+
+    public void setUrl(String url) {
+        this.url = url;
+    }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/bean/LittleDoctorRequestBean.java b/app/src/main/java/com/application/zhangshi_app_android/bean/LittleDoctorRequestBean.java
new file mode 100644
index 0000000..70bc6a0
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/bean/LittleDoctorRequestBean.java
@@ -0,0 +1,24 @@
+package com.application.zhangshi_app_android.bean;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * @author Ljj
+ * @date 2023.04.15. 21:30
+ * @desc
+ */
+public class LittleDoctorRequestBean {
+    private int pageNum = 1;
+    private int pageSize = 20;
+
+    public LittleDoctorRequestBean() {
+    }
+
+    public Map<String, Object> toMap() {
+        Map<String, Object> map = new HashMap<>();
+        map.put("page", pageNum);
+        map.put("pageSize", pageSize);
+        return map;
+    }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/bean/LittleDoctorResponseBean.java b/app/src/main/java/com/application/zhangshi_app_android/bean/LittleDoctorResponseBean.java
new file mode 100644
index 0000000..5dd79d3
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/bean/LittleDoctorResponseBean.java
@@ -0,0 +1,47 @@
+package com.application.zhangshi_app_android.bean;
+
+import java.util.List;
+
+/**
+ * @author Ljj
+ * @date 2023.04.17. 22:17
+ * @desc 灏忓尰鐢熻繑鍥炴暟鎹�
+ */
+public class LittleDoctorResponseBean {
+    private List<LittleDoctorBean> data;
+    private long pageNum;
+    private long pageSize;
+    private long total;
+
+    public List<LittleDoctorBean> getData() {
+        return data;
+    }
+
+    public void setData(List<LittleDoctorBean> data) {
+        this.data = data;
+    }
+
+    public long getPageNum() {
+        return pageNum;
+    }
+
+    public void setPageNum(long pageNum) {
+        this.pageNum = pageNum;
+    }
+
+    public long getPageSize() {
+        return pageSize;
+    }
+
+    public void setPageSize(long pageSize) {
+        this.pageSize = pageSize;
+    }
+
+    public long getTotal() {
+        return total;
+    }
+
+    public void setTotal(long total) {
+        this.total = total;
+    }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/bean/PetBean.java b/app/src/main/java/com/application/zhangshi_app_android/bean/PetBean.java
new file mode 100644
index 0000000..36c8e6f
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/bean/PetBean.java
@@ -0,0 +1,155 @@
+package com.application.zhangshi_app_android.bean;
+
+import java.io.Serializable;
+
+/**
+ * @author Ljj
+ * @date 2023.04.17. 18:52
+ * @desc
+ */
+public class PetBean implements Serializable {
+    private int id;
+    private String idNum;
+    private String securityCode;
+    private String type;
+    private String name;
+    private String birth;
+    private int sex;
+    private String color;
+    private String properties;
+    private String eatHabit;
+    private String lifeHabit;
+    private String disEatHabit;
+    private String disLifeHabit;
+    private String address;
+    private String dialect;
+    private String url;
+
+    public int getId() {
+        return id;
+    }
+
+    public void setId(int id) {
+        this.id = id;
+    }
+
+    public String getIdNum() {
+        return idNum;
+    }
+
+    public void setIdNum(String idNum) {
+        this.idNum = idNum;
+    }
+
+    public String getSecurityCode() {
+        return securityCode;
+    }
+
+    public void setSecurityCode(String securityCode) {
+        this.securityCode = securityCode;
+    }
+
+    public String getType() {
+        return type;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getBirth() {
+        return birth;
+    }
+
+    public void setBirth(String birth) {
+        this.birth = birth;
+    }
+
+    public int getSex() {
+        return sex;
+    }
+
+    public void setSex(int sex) {
+        this.sex = sex;
+    }
+
+    public String getColor() {
+        return color;
+    }
+
+    public void setColor(String color) {
+        this.color = color;
+    }
+
+    public String getProperties() {
+        return properties;
+    }
+
+    public void setProperties(String properties) {
+        this.properties = properties;
+    }
+
+    public String getEatHabit() {
+        return eatHabit;
+    }
+
+    public void setEatHabit(String eatHabit) {
+        this.eatHabit = eatHabit;
+    }
+
+    public String getLifeHabit() {
+        return lifeHabit;
+    }
+
+    public void setLifeHabit(String lifeHabit) {
+        this.lifeHabit = lifeHabit;
+    }
+
+    public String getDisEatHabit() {
+        return disEatHabit;
+    }
+
+    public void setDisEatHabit(String disEatHabit) {
+        this.disEatHabit = disEatHabit;
+    }
+
+    public String getDisLifeHabit() {
+        return disLifeHabit;
+    }
+
+    public void setDisLifeHabit(String disLifeHabit) {
+        this.disLifeHabit = disLifeHabit;
+    }
+
+    public String getAddress() {
+        return address;
+    }
+
+    public void setAddress(String address) {
+        this.address = address;
+    }
+
+    public String getDialect() {
+        return dialect;
+    }
+
+    public void setDialect(String dialect) {
+        this.dialect = dialect;
+    }
+
+    public String getUrl() {
+        return url;
+    }
+
+    public void setUrl(String url) {
+        this.url = url;
+    }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/bean/PropertyBean.java b/app/src/main/java/com/application/zhangshi_app_android/bean/PropertyBean.java
new file mode 100644
index 0000000..2792be0
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/bean/PropertyBean.java
@@ -0,0 +1,117 @@
+package com.application.zhangshi_app_android.bean;
+
+import java.io.Serializable;
+
+/**
+ * @author Ljj
+ * @date 2023.04.21. 19:11
+ * @desc 涓汉璐骇 Bean
+ */
+public class PropertyBean implements Serializable {
+
+    private String type;
+    private String name;
+    private String price;//浠峰��
+    private String createTime;//鏃堕棿
+    private String term;//鏈熼檺
+    private String status;//鍙樻洿鎴栨敞閿�
+    private String propertyRight;//浜ф潈
+    private String location;//浣嶇疆
+    private String remark;//澶囨敞
+    private String url;//鐢靛瓙鏂囦欢
+
+    public PropertyBean() {
+    }
+    public PropertyBean(String type, String name, String price, String createTime, String term, String status, String propertyRight, String location, String remark, String url) {
+        this.type = type;
+        this.name = name;
+        this.price = price;
+        this.createTime = createTime;
+        this.term = term;
+        this.status = status;
+        this.propertyRight = propertyRight;
+        this.location = location;
+        this.remark = remark;
+        this.url = url;
+    }
+
+    public String getType() {
+        return type;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getPrice() {
+        return price;
+    }
+
+    public void setPrice(String price) {
+        this.price = price;
+    }
+
+    public String getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(String createTime) {
+        this.createTime = createTime;
+    }
+
+    public String getTerm() {
+        return term;
+    }
+
+    public void setTerm(String term) {
+        this.term = term;
+    }
+
+    public String getStatus() {
+        return status;
+    }
+
+    public void setStatus(String status) {
+        this.status = status;
+    }
+
+    public String getPropertyRight() {
+        return propertyRight;
+    }
+
+    public void setPropertyRight(String propertyRight) {
+        this.propertyRight = propertyRight;
+    }
+
+    public String getLocation() {
+        return location;
+    }
+
+    public void setLocation(String location) {
+        this.location = location;
+    }
+
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
+
+    public String getUrl() {
+        return url;
+    }
+
+    public void setUrl(String url) {
+        this.url = url;
+    }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/data/DataRepository.java b/app/src/main/java/com/application/zhangshi_app_android/data/DataRepository.java
index cff6cf6..8c17265 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/data/DataRepository.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/data/DataRepository.java
@@ -10,6 +10,9 @@
 import com.application.zhangshi_app_android.bean.FamilyMemorabiliaRequestBean;
 import com.application.zhangshi_app_android.bean.FamilyMemorabiliaResponseBean;
 import com.application.zhangshi_app_android.bean.HomeDevicesResponseBean;
+import com.application.zhangshi_app_android.bean.HonorCollectionResponseBean;
+import com.application.zhangshi_app_android.bean.IncomeAndExpensesResponseBean;
+import com.application.zhangshi_app_android.bean.LittleDoctorResponseBean;
 import com.application.zhangshi_app_android.bean.LoginRequestBean;
 import com.application.zhangshi_app_android.bean.LoginResponseBean;
 import com.application.zhangshi_app_android.bean.UploadFileResponseBean;
@@ -138,6 +141,28 @@
     }
 
     /**
+     * 鑾峰彇瀹跺涵鑽h獕
+     */
+    public Observable<ResultData<HonorCollectionResponseBean>> getHonorCollections(Map<String, Object> map) {
+        return mHttpDataSource.getHonorCollections(map);
+    }
+
+    /**
+     * 鑾峰彇灏忓尰鐢�
+     */
+    public Observable<ResultData<LittleDoctorResponseBean>> getLittleDoctors(Map<String, Object> map) {
+        return mHttpDataSource.getLittleDoctors(map);
+    }
+
+    /**
+     *  鑾峰彇鏀舵敮鍙拌处
+     */
+    public Observable<ResultData<IncomeAndExpensesResponseBean>> getIncomeAndExpenses(Map<String, Object> map) {
+        return mHttpDataSource.getIncomeAndExpenses(map);
+    }
+
+
+    /**
      * @see LocalDataSourceImpl
      */
 }
diff --git a/app/src/main/java/com/application/zhangshi_app_android/data/source/HttpDataSource.java b/app/src/main/java/com/application/zhangshi_app_android/data/source/HttpDataSource.java
index 734bf19..7d9feeb 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/data/source/HttpDataSource.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/data/source/HttpDataSource.java
@@ -7,6 +7,9 @@
 import com.application.zhangshi_app_android.bean.FamilyMemorabiliaRequestBean;
 import com.application.zhangshi_app_android.bean.FamilyMemorabiliaResponseBean;
 import com.application.zhangshi_app_android.bean.HomeDevicesResponseBean;
+import com.application.zhangshi_app_android.bean.HonorCollectionResponseBean;
+import com.application.zhangshi_app_android.bean.IncomeAndExpensesResponseBean;
+import com.application.zhangshi_app_android.bean.LittleDoctorResponseBean;
 import com.application.zhangshi_app_android.bean.LoginRequestBean;
 import com.application.zhangshi_app_android.bean.LoginResponseBean;
 import com.application.zhangshi_app_android.bean.UploadFileResponseBean;
@@ -71,4 +74,19 @@
      * 鑾峰彇瀹跺涵璁惧
      */
     Observable<ResultData<HomeDevicesResponseBean>> getHomeDevices(Map<String, Object> paramsMap);
+
+    /**
+     * 鑾峰彇瀹跺涵鑽h獕
+     */
+    Observable<ResultData<HonorCollectionResponseBean>> getHonorCollections(Map<String, Object> map);
+
+    /**
+     * 鑾峰彇灏忓尰鐢�
+     */
+    Observable<ResultData<LittleDoctorResponseBean>> getLittleDoctors(Map<String, Object> map);
+
+    /**
+     * 鑾峰彇鏀舵敮
+     */
+    Observable<ResultData<IncomeAndExpensesResponseBean>> getIncomeAndExpenses(Map<String, Object> map);
 }
diff --git a/app/src/main/java/com/application/zhangshi_app_android/data/source/http/ApiService.java b/app/src/main/java/com/application/zhangshi_app_android/data/source/http/ApiService.java
index d2b9d0a..88fb3d8 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/data/source/http/ApiService.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/data/source/http/ApiService.java
@@ -7,6 +7,9 @@
 import com.application.zhangshi_app_android.bean.FamilyMemorabiliaRequestBean;
 import com.application.zhangshi_app_android.bean.FamilyMemorabiliaResponseBean;
 import com.application.zhangshi_app_android.bean.HomeDevicesResponseBean;
+import com.application.zhangshi_app_android.bean.HonorCollectionResponseBean;
+import com.application.zhangshi_app_android.bean.IncomeAndExpensesResponseBean;
+import com.application.zhangshi_app_android.bean.LittleDoctorResponseBean;
 import com.application.zhangshi_app_android.bean.LoginRequestBean;
 import com.application.zhangshi_app_android.bean.LoginResponseBean;
 import com.application.zhangshi_app_android.bean.UploadFileResponseBean;
@@ -89,6 +92,24 @@
     /**
      * 鑾峰彇瀹跺涵璁惧
      */
-    @GET("")//TODO 鑾峰彇瀹跺涵璁惧
+    @GET("/zfEquipment/all")
     Observable<ResultData<HomeDevicesResponseBean>> getHomeDevices(@QueryMap Map<String, Object> paramsMap);
+
+    /**
+     * 鑾峰彇瀹跺涵鑽h獕
+     */
+    @GET("/zfCollection/all")
+    Observable<ResultData<HonorCollectionResponseBean>> getHonorCollections(@QueryMap Map<String, Object> paramsMap);
+
+    /**
+     * 鑾峰彇灏忓尰鐢�
+     */
+    @GET("/zfDoctor/all")
+    Observable<ResultData<LittleDoctorResponseBean>> getLittleDoctors(@QueryMap Map<String, Object> map);
+
+    /**
+     * 鑾峰彇鏀舵敮
+     */
+    @GET("/zfEconomy/all")
+    Observable<ResultData<IncomeAndExpensesResponseBean>> getIncomeAndExpenses(@QueryMap Map<String, Object> map);
 }
diff --git a/app/src/main/java/com/application/zhangshi_app_android/data/source/http/HttpDataSourceImpl.java b/app/src/main/java/com/application/zhangshi_app_android/data/source/http/HttpDataSourceImpl.java
index fc81677..19950b0 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/data/source/http/HttpDataSourceImpl.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/data/source/http/HttpDataSourceImpl.java
@@ -8,6 +8,9 @@
 import com.application.zhangshi_app_android.bean.FamilyMemorabiliaRequestBean;
 import com.application.zhangshi_app_android.bean.FamilyMemorabiliaResponseBean;
 import com.application.zhangshi_app_android.bean.HomeDevicesResponseBean;
+import com.application.zhangshi_app_android.bean.HonorCollectionResponseBean;
+import com.application.zhangshi_app_android.bean.IncomeAndExpensesResponseBean;
+import com.application.zhangshi_app_android.bean.LittleDoctorResponseBean;
 import com.application.zhangshi_app_android.bean.LoginRequestBean;
 import com.application.zhangshi_app_android.bean.LoginResponseBean;
 import com.android.app_base.base.BaseConfig;
@@ -125,4 +128,28 @@
     public Observable<ResultData<HomeDevicesResponseBean>> getHomeDevices(Map<String, Object> paramsMap) {
         return apiService.getHomeDevices(paramsMap);
     }
+
+    /**
+     * 鑾峰彇瀹跺涵鑽h獕
+     */
+    @Override
+    public Observable<ResultData<HonorCollectionResponseBean>> getHonorCollections(Map<String, Object> map) {
+        return apiService.getHonorCollections(map);
+    }
+
+    /**
+     * 鑾峰彇灏忓尰鐢�
+     */
+    @Override
+    public Observable<ResultData<LittleDoctorResponseBean>> getLittleDoctors(Map<String, Object> map) {
+        return apiService.getLittleDoctors(map);
+    }
+
+    /**
+     * 鑾峰彇鏀舵敮
+     */
+    @Override
+    public Observable<ResultData<IncomeAndExpensesResponseBean>> getIncomeAndExpenses(Map<String, Object> map) {
+        return apiService.getIncomeAndExpenses(map);
+    }
 }
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/DLBaseActivity.java b/app/src/main/java/com/application/zhangshi_app_android/ui/DLBaseActivity.java
index 3ca1666..3753b6d 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/ui/DLBaseActivity.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/DLBaseActivity.java
@@ -1,6 +1,7 @@
 package com.application.zhangshi_app_android.ui;
 
 import android.graphics.Color;
+import android.os.Bundle;
 import android.view.ViewGroup;
 import android.widget.ImageView;
 import android.widget.LinearLayout;
@@ -15,10 +16,18 @@
 import com.android.app_base.base.viewmodel.BaseViewModel;
 import com.android.app_base.manager.AppManager;
 import com.application.zhangshi_app_android.R;
+import com.application.zhangshi_app_android.ui.function.CleanStorageActivity;
 import com.application.zhangshi_app_android.ui.function.FamilyAssetsActivity;
 import com.application.zhangshi_app_android.ui.function.FamilyMemorabiliaActivity;
 import com.application.zhangshi_app_android.ui.function.GrowthExperienceActivity;
 import com.application.zhangshi_app_android.ui.function.HomeDevicesActivity;
+import com.application.zhangshi_app_android.ui.function.HonorCollectionActivity;
+import com.application.zhangshi_app_android.ui.function.HundredWishActivity;
+import com.application.zhangshi_app_android.ui.function.IncomeAndExpensesActivity;
+import com.application.zhangshi_app_android.ui.function.LittleDoctorActivity;
+import com.application.zhangshi_app_android.ui.function.MarriageActivity;
+import com.application.zhangshi_app_android.ui.function.PetActivity;
+import com.application.zhangshi_app_android.ui.function.PropertyActivity;
 import com.hjq.bar.TitleBar;
 
 import java.util.HashMap;
@@ -68,24 +77,24 @@
     };
 
     @Override
-    protected void onResume() {
-        super.onResume();
+    protected void onCreate(@Nullable Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
 
         if (mDrawerLayout != null) {
             classMap.put(null,(LinearLayout) findViewById(R.id.dl_home_root_net));
             classMap.put(FamilyMemorabiliaActivity.class,(LinearLayout) findViewById(R.id.dl_family_memorabilia));
             classMap.put(FamilyAssetsActivity.class,(LinearLayout) findViewById(R.id.dl_family_assets));
             classMap.put(HomeDevicesActivity.class,(LinearLayout) findViewById(R.id.dl_home_devices));
-            classMap.put(null,(LinearLayout) findViewById(R.id.dl_honor_collection));
-            classMap.put(null,(LinearLayout) findViewById(R.id.dl_little_doctor));
-            classMap.put(null,(LinearLayout) findViewById(R.id.dl_clean_storage));
+            classMap.put(HonorCollectionActivity.class,(LinearLayout) findViewById(R.id.dl_honor_collection));
+            classMap.put(LittleDoctorActivity.class,(LinearLayout) findViewById(R.id.dl_little_doctor));
+            classMap.put(CleanStorageActivity.class,(LinearLayout) findViewById(R.id.dl_clean_storage));
             classMap.put(null,(LinearLayout) findViewById(R.id.dl_contacts));
-            classMap.put(null,(LinearLayout) findViewById(R.id.dl_pet));
-            classMap.put(null,(LinearLayout) findViewById(R.id.dl_income_and_expenses));
+            classMap.put(PetActivity.class,(LinearLayout) findViewById(R.id.dl_pet));
+            classMap.put(IncomeAndExpensesActivity.class,(LinearLayout) findViewById(R.id.dl_income_and_expenses));
             classMap.put(GrowthExperienceActivity.class,(LinearLayout) findViewById(R.id.dl_growing_up));
-            classMap.put(null,(LinearLayout) findViewById(R.id.dl_marriage));
-            classMap.put(null,(LinearLayout) findViewById(R.id.dl_property));
-            classMap.put(null,(LinearLayout) findViewById(R.id.dl_hundred_wish));
+            classMap.put(MarriageActivity.class,(LinearLayout) findViewById(R.id.dl_marriage));
+            classMap.put(PropertyActivity.class,(LinearLayout) findViewById(R.id.dl_property));
+            classMap.put(HundredWishActivity.class,(LinearLayout) findViewById(R.id.dl_hundred_wish));
             classMap.put(null,(LinearLayout) findViewById(R.id.dl_health_care));
             classMap.put(null,(LinearLayout) findViewById(R.id.dl_certificate_of_honor));
             classMap.put(null,(LinearLayout) findViewById(R.id.dl_privacy));
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/CertificateOfHonorActivity.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/CertificateOfHonorActivity.java
new file mode 100644
index 0000000..4a72693
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/CertificateOfHonorActivity.java
@@ -0,0 +1,58 @@
+package com.application.zhangshi_app_android.ui.function;
+
+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.CertificateOfHonorRvAdapter;
+import com.application.zhangshi_app_android.adapter.HundredWishRvAdapter;
+import com.application.zhangshi_app_android.databinding.ActivityCertificateOfHonorBinding;
+import com.application.zhangshi_app_android.databinding.ActivityHundredWishBinding;
+import com.application.zhangshi_app_android.ui.DLBaseActivity;
+
+/**
+ * @author Ljj
+ * @date 2023.04.23. 22:29
+ * @desc 鑽h獕璇佷功 Activity
+ */
+public class CertificateOfHonorActivity extends DLBaseActivity<ActivityCertificateOfHonorBinding, CertificateOfHonorActivityViewModel> {
+
+    private CertificateOfHonorRvAdapter adapter;
+
+    @Override
+    public int getLayoutId() {
+        return R.layout.activity_certificate_of_honor;
+    }
+
+    @Override
+    public int getVariableId() {
+        return BR.viewModel;
+    }
+
+    @Override
+    public void initParam() {
+
+    }
+
+    @Override
+    public void initView() {
+        adapter = new CertificateOfHonorRvAdapter(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() {
+        viewModel.getHundredWish();
+    }
+
+    @Override
+    public void initLiveDataObserve() {
+        viewModel.getDataListLiveData().observe(this, dataList -> {
+            adapter.setData(dataList);
+        });
+    }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/CertificateOfHonorActivityViewModel.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/CertificateOfHonorActivityViewModel.java
new file mode 100644
index 0000000..1433e74
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/CertificateOfHonorActivityViewModel.java
@@ -0,0 +1,61 @@
+package com.application.zhangshi_app_android.ui.function;
+
+import android.app.Application;
+
+import androidx.annotation.NonNull;
+import androidx.lifecycle.MutableLiveData;
+
+import com.android.app_base.base.viewmodel.BaseViewModel;
+import com.application.zhangshi_app_android.bean.CertificateOfHonorBean;
+import com.application.zhangshi_app_android.bean.HundredWishBean;
+import com.application.zhangshi_app_android.data.DataRepository;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author Ljj
+ * @date 2023.04.23. 22:31
+ * @desc
+ */
+public class CertificateOfHonorActivityViewModel  extends BaseViewModel<DataRepository> {
+    private MutableLiveData<List<CertificateOfHonorBean>> dataListLiveData;
+
+    public CertificateOfHonorActivityViewModel(@NonNull Application application) {
+        super(application);
+    }
+
+    @Override
+    protected DataRepository initModel() {
+        return DataRepository.getInstance();
+    }
+
+    public MutableLiveData<List<CertificateOfHonorBean>> getDataListLiveData() {
+        if (dataListLiveData == null) {
+            dataListLiveData = new MutableLiveData<>();
+        }
+        return dataListLiveData;
+    }
+
+    public void setDataListLiveData(MutableLiveData<List<CertificateOfHonorBean>> dataListLiveData) {
+        this.dataListLiveData = dataListLiveData;
+    }
+
+    public void getHundredWish() {
+        List<CertificateOfHonorBean> beans =  new ArrayList<>();
+        for (int i = 0; i < 10; i++) {
+            CertificateOfHonorBean bean = new CertificateOfHonorBean();
+            bean.setName("鑽h獕璇佷功" + i);
+            bean.setTime("2023-01-01");
+            bean.setType("绫诲埆" + i);
+            bean.setCertificateNumber("璇佸彿" + i);
+            bean.setLevel("绾у埆" + i);
+            bean.setEffectiveTime("2030-01-01");
+            bean.setGetTime("2020-01-01");
+            bean.setLocation("瀛樻斁浣嶇疆" + i);
+            bean.setRemark("澶囨敞");
+            beans.add(bean);
+        }
+        dataListLiveData.setValue(beans);
+    }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/CertificateOfHonorDetailActivity.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/CertificateOfHonorDetailActivity.java
new file mode 100644
index 0000000..ae955e4
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/CertificateOfHonorDetailActivity.java
@@ -0,0 +1,102 @@
+package com.application.zhangshi_app_android.ui.function;
+
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.EditText;
+
+import androidx.recyclerview.widget.GridLayoutManager;
+
+import com.application.zhangshi_app_android.BR;
+import com.application.zhangshi_app_android.R;
+import com.application.zhangshi_app_android.adapter.ImageRvAdapter;
+import com.application.zhangshi_app_android.bean.CertificateOfHonorBean;
+import com.application.zhangshi_app_android.bean.HundredWishBean;
+import com.application.zhangshi_app_android.databinding.ActivityCertificateOfHonorDetailBinding;
+import com.application.zhangshi_app_android.databinding.ActivityHundredWishDetailBinding;
+import com.application.zhangshi_app_android.ui.DLBaseActivity;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * @author Ljj
+ * @date 2023.04.23. 22:49
+ * @desc
+ */
+public class CertificateOfHonorDetailActivity extends DLBaseActivity<ActivityCertificateOfHonorDetailBinding,CertificateOfHonorDetailActivityViewModel> {
+
+    private ImageRvAdapter adapter;
+
+    @Override
+    public int getLayoutId() {
+        return R.layout.activity_certificate_of_honor_detail;
+    }
+
+    @Override
+    public int getVariableId() {
+        return BR.viewModel;
+    }
+
+    @Override
+    public void initParam() {
+        if (getIntent().hasExtra("bean")){
+            viewModel.getBeanLiveData().setValue((CertificateOfHonorBean) getIntent().getSerializableExtra("bean"));
+        }
+    }
+
+    @Override
+    public void initView() {
+        adapter = new ImageRvAdapter(this);
+        GridLayoutManager gridLayoutManager = new GridLayoutManager(this, 3);
+        binding.rvImage.setLayoutManager(gridLayoutManager);
+        binding.rvImage.setNestedScrollingEnabled(false);
+        setIsEdited(false);
+    }
+
+    @Override
+    public void initData() {
+
+    }
+
+    @Override
+    public void initLiveDataObserve() {
+        viewModel.getBeanLiveData().observe(this,bean -> {
+            if (bean!=null){
+                String url = bean.getUrl();
+                if (url == null||url.isEmpty()){
+                    return;
+                }
+                List<String> list;
+                if (url.contains(",")){
+                    String[] split = url.split(",");
+                    list = new ArrayList<>(Arrays.asList(split));
+                }else {
+                    list = new ArrayList<>();
+                    list.add(url);
+                }
+                adapter.setData(list);
+            }
+        });
+    }
+
+    public void setIsEdited(boolean isEdited){
+        disableAllEditText(getContentView(),isEdited);
+        adapter.setIsEdited(isEdited);
+    }
+    public void disableAllEditText(ViewGroup viewGroup, boolean isEdited) {
+        for (int i = 0; i < viewGroup.getChildCount(); i++) {
+            View child = viewGroup.getChildAt(i);
+            if (child instanceof ViewGroup) {
+                disableAllEditText((ViewGroup) child,isEdited);
+            } else if (child instanceof EditText) {
+                child.setEnabled(isEdited);
+                child.setFocusable(isEdited);
+                child.setFocusableInTouchMode(isEdited);
+                if (!isEdited){
+                    child.clearFocus();
+                }
+            }
+        }
+    }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/CertificateOfHonorDetailActivityViewModel.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/CertificateOfHonorDetailActivityViewModel.java
new file mode 100644
index 0000000..a725378
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/CertificateOfHonorDetailActivityViewModel.java
@@ -0,0 +1,41 @@
+package com.application.zhangshi_app_android.ui.function;
+
+import android.app.Application;
+
+import androidx.annotation.NonNull;
+import androidx.lifecycle.MutableLiveData;
+
+import com.android.app_base.base.viewmodel.BaseViewModel;
+import com.application.zhangshi_app_android.bean.CertificateOfHonorBean;
+import com.application.zhangshi_app_android.data.DataRepository;
+
+/**
+ * @author Ljj
+ * @date 2023.04.23. 22:47
+ * @desc 鑽h獕璇佷功璇︽儏
+ */
+public class CertificateOfHonorDetailActivityViewModel extends BaseViewModel<DataRepository> {
+
+    private MutableLiveData<CertificateOfHonorBean> beanLiveData;
+
+    public CertificateOfHonorDetailActivityViewModel(@NonNull Application application) {
+        super(application);
+    }
+
+    @Override
+    protected DataRepository initModel() {
+        return DataRepository.getInstance();
+    }
+
+
+    public MutableLiveData<CertificateOfHonorBean> getBeanLiveData() {
+        if (beanLiveData == null) {
+            beanLiveData = new MutableLiveData<>();
+        }
+        return beanLiveData;
+    }
+
+    public void setBeanLiveData(MutableLiveData<CertificateOfHonorBean> beanLiveData) {
+        this.beanLiveData = beanLiveData;
+    }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/CleanStorageActivity.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/CleanStorageActivity.java
new file mode 100644
index 0000000..36f3f4b
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/CleanStorageActivity.java
@@ -0,0 +1,57 @@
+package com.application.zhangshi_app_android.ui.function;
+
+import androidx.appcompat.app.AppCompatActivity;
+
+import android.os.Bundle;
+
+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.CleanStorageRvAdapter;
+import com.application.zhangshi_app_android.adapter.LittleDoctorRvAdapter;
+import com.application.zhangshi_app_android.databinding.ActivityCleanStorageBinding;
+import com.application.zhangshi_app_android.databinding.ActivityLittleDoctorBinding;
+import com.application.zhangshi_app_android.ui.DLBaseActivity;
+
+public class CleanStorageActivity extends DLBaseActivity<ActivityCleanStorageBinding, CleanStorageActivityViewModel> {
+
+    private CleanStorageRvAdapter adapter;
+
+    @Override
+    public int getLayoutId() {
+        return R.layout.activity_clean_storage;
+    }
+
+    @Override
+    public int getVariableId() {
+        return BR.viewModel;
+    }
+
+    @Override
+    public void initParam() {
+
+    }
+
+    @Override
+    public void initView() {
+        adapter = new CleanStorageRvAdapter(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() {
+        viewModel.getCleanStorages();
+    }
+
+    @Override
+    public void initLiveDataObserve() {
+        viewModel.getDataListLiveData().observe(this, dataList -> {
+            adapter.setData(dataList);
+        });
+    }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/CleanStorageActivityViewModel.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/CleanStorageActivityViewModel.java
new file mode 100644
index 0000000..a0bda32
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/CleanStorageActivityViewModel.java
@@ -0,0 +1,52 @@
+package com.application.zhangshi_app_android.ui.function;
+
+import android.app.Application;
+
+import androidx.annotation.NonNull;
+import androidx.lifecycle.LiveData;
+import androidx.lifecycle.MutableLiveData;
+
+import com.android.app_base.base.viewmodel.BaseViewModel;
+import com.application.zhangshi_app_android.bean.CleanStorageBean;
+import com.application.zhangshi_app_android.data.DataRepository;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author Ljj
+ * @date 2023.04.16. 18:56
+ * @desc
+ */
+public class CleanStorageActivityViewModel extends BaseViewModel<DataRepository> {
+    private MutableLiveData<List<CleanStorageBean>> dataListLiveData;
+
+    public CleanStorageActivityViewModel(@NonNull Application application) {
+        super(application);
+    }
+
+    @Override
+    protected DataRepository initModel() {
+        return DataRepository.getInstance();
+    }
+
+    public MutableLiveData<List<CleanStorageBean>> getDataListLiveData() {
+        if (dataListLiveData == null) {
+            dataListLiveData = new MutableLiveData<>();
+        }
+        return dataListLiveData;
+    }
+
+    public void setDataListLiveData(MutableLiveData<List<CleanStorageBean>> dataListLiveData) {
+        this.dataListLiveData = dataListLiveData;
+    }
+
+    public void getCleanStorages() {
+        List<CleanStorageBean> cleanStorageBeans =  new ArrayList<>();
+        cleanStorageBeans.add(new CleanStorageBean(1,"淇濇磥","鍏ㄤ綋","鐜荤拑绐�","鐜荤拑姘存礂","鏉傜墿鎴�","绐楁埛","鎿﹀共",null));
+        cleanStorageBeans.add(new CleanStorageBean(1,"淇濇磥","鍏ㄤ綋","鐜荤拑绐�","鐜荤拑姘存礂","鏉傜墿鎴�","绐楁埛","鎿﹀共",null));
+        cleanStorageBeans.add(new CleanStorageBean(1,"淇濇磥","鍏ㄤ綋","鐜荤拑绐�","鐜荤拑姘存礂","鏉傜墿鎴�","绐楁埛","鎿﹀共",null));
+        cleanStorageBeans.add(new CleanStorageBean(1,"淇濇磥","鍏ㄤ綋","鐜荤拑绐�","鐜荤拑姘存礂","鏉傜墿鎴�","绐楁埛","鎿﹀共",null));
+        dataListLiveData.setValue(cleanStorageBeans);
+    }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/CleanStorageDetailActivity.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/CleanStorageDetailActivity.java
new file mode 100644
index 0000000..912bc05
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/CleanStorageDetailActivity.java
@@ -0,0 +1,99 @@
+package com.application.zhangshi_app_android.ui.function;
+
+import androidx.appcompat.app.AppCompatActivity;
+import androidx.recyclerview.widget.GridLayoutManager;
+
+import android.os.Bundle;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.EditText;
+
+import com.application.zhangshi_app_android.BR;
+import com.application.zhangshi_app_android.R;
+import com.application.zhangshi_app_android.adapter.ImageRvAdapter;
+import com.application.zhangshi_app_android.bean.CleanStorageBean;
+import com.application.zhangshi_app_android.bean.LittleDoctorBean;
+import com.application.zhangshi_app_android.databinding.ActivityCleanStorageDetailBinding;
+import com.application.zhangshi_app_android.databinding.ActivityLittleDoctorDetailBinding;
+import com.application.zhangshi_app_android.ui.DLBaseActivity;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+public class CleanStorageDetailActivity extends DLBaseActivity<ActivityCleanStorageDetailBinding,CleanStorageDetailActivityViewModel> {
+
+    private ImageRvAdapter adapter;
+
+    @Override
+    public int getLayoutId() {
+        return R.layout.activity_clean_storage_detail;
+    }
+
+    @Override
+    public int getVariableId() {
+        return BR.viewModel;
+    }
+
+    @Override
+    public void initParam() {
+        if (getIntent().hasExtra("bean")){
+            viewModel.getBeanLiveData().setValue((CleanStorageBean) getIntent().getSerializableExtra("bean"));
+        }
+    }
+
+    @Override
+    public void initView() {
+        adapter = new ImageRvAdapter(this);
+        GridLayoutManager gridLayoutManager = new GridLayoutManager(this, 3);
+        binding.rvImage.setLayoutManager(gridLayoutManager);
+        binding.rvImage.setNestedScrollingEnabled(false);
+        setIsEdited(false);
+    }
+
+    @Override
+    public void initData() {
+
+    }
+
+    @Override
+    public void initLiveDataObserve() {
+        viewModel.getBeanLiveData().observe(this,bean -> {
+            if (bean!=null){
+                String url = bean.getUrl();
+                if (url == null||url.isEmpty()){
+                    return;
+                }
+                List<String> list;
+                if (url.contains(",")){
+                    String[] split = url.split(",");
+                    list = new ArrayList<>(Arrays.asList(split));
+                }else {
+                    list = new ArrayList<>();
+                    list.add(url);
+                }
+                adapter.setData(list);
+            }
+        });
+    }
+
+    public void setIsEdited(boolean isEdited){
+        disableAllEditText(getContentView(),isEdited);
+        adapter.setIsEdited(isEdited);
+    }
+    public void disableAllEditText(ViewGroup viewGroup, boolean isEdited) {
+        for (int i = 0; i < viewGroup.getChildCount(); i++) {
+            View child = viewGroup.getChildAt(i);
+            if (child instanceof ViewGroup) {
+                disableAllEditText((ViewGroup) child,isEdited);
+            } else if (child instanceof EditText) {
+                child.setEnabled(isEdited);
+                child.setFocusable(isEdited);
+                child.setFocusableInTouchMode(isEdited);
+                if (!isEdited){
+                    child.clearFocus();
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/CleanStorageDetailActivityViewModel.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/CleanStorageDetailActivityViewModel.java
new file mode 100644
index 0000000..2860b62
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/CleanStorageDetailActivityViewModel.java
@@ -0,0 +1,41 @@
+package com.application.zhangshi_app_android.ui.function;
+
+import android.app.Application;
+
+import androidx.annotation.NonNull;
+import androidx.lifecycle.MutableLiveData;
+
+import com.android.app_base.base.viewmodel.BaseViewModel;
+import com.application.zhangshi_app_android.bean.CleanStorageBean;
+import com.application.zhangshi_app_android.data.DataRepository;
+
+/**
+ * @author Ljj
+ * @date 2023.04.16. 21:53
+ * @desc
+ */
+public class CleanStorageDetailActivityViewModel extends BaseViewModel<DataRepository> {
+
+    private MutableLiveData<CleanStorageBean> beanLiveData;
+
+    public CleanStorageDetailActivityViewModel(@NonNull Application application) {
+        super(application);
+    }
+
+    @Override
+    protected DataRepository initModel() {
+        return DataRepository.getInstance();
+    }
+
+
+    public MutableLiveData<CleanStorageBean> getBeanLiveData() {
+        if (beanLiveData == null) {
+            beanLiveData = new MutableLiveData<>();
+        }
+        return beanLiveData;
+    }
+
+    public void setBeanLiveData(MutableLiveData<CleanStorageBean> beanLiveData) {
+        this.beanLiveData = beanLiveData;
+    }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/CreateFamilyProjectActivity.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/CreateFamilyProjectActivity.java
index 40ecd10..b56c433 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/ui/function/CreateFamilyProjectActivity.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/CreateFamilyProjectActivity.java
@@ -62,12 +62,13 @@
 
     @Override
     public void initView() {
-        adapter = new ImageRvAdapter(this);
+        adapter = new ImageRvAdapter(this,viewModel);
         GridLayoutManager gridLayoutManager = new GridLayoutManager(this, 3);
         binding.rvImage.setLayoutManager(gridLayoutManager);
         binding.rvImage.setNestedScrollingEnabled(false);
         View footerView = View.inflate(this,R.layout.item_image_footer,null);
         binding.rvImage.addFooterView(footerView);
+        binding.rvImage.requestLayout();
         footerView.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
@@ -108,7 +109,7 @@
             // 璁剧疆pop閫忔槑鏁堟灉
             popupWindow.setBackgroundDrawable(new ColorDrawable(0x0000));
             // 璁剧疆pop鍑哄叆鍔ㄧ敾
-            popupWindow.setAnimationStyle(com.android.app_base.R.style.pop_add);
+            popupWindow.setAnimationStyle(com.android.app_base.R.style.pop_operate);
             // 璁剧疆pop鑾峰彇鐒︾偣锛屽鏋滀负false鐐瑰嚮杩斿洖鎸夐挳浼氶��鍑哄綋鍓岮ctivity锛屽鏋減op涓湁Editor鐨勮瘽锛宖ocusable蹇呴』瑕佷负true
             popupWindow.setFocusable(true);
             // 璁剧疆pop鍙偣鍑伙紝涓篺alse鐐瑰嚮浜嬩欢鏃犳晥锛岄粯璁や负true
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/FamilyAssetsActivity.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/FamilyAssetsActivity.java
index 18ea31e..4e82550 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/ui/function/FamilyAssetsActivity.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/FamilyAssetsActivity.java
@@ -6,18 +6,13 @@
 import android.widget.PopupWindow;
 
 import androidx.databinding.library.baseAdapters.BR;
-import androidx.lifecycle.Observer;
 
 import com.android.app_base.utils.ScreenSizeUtils;
 import com.android.app_base.widget.LinearItemDecoration;
 import com.application.zhangshi_app_android.R;
 import com.application.zhangshi_app_android.adapter.FamilyAssetsRvAdapter;
-import com.application.zhangshi_app_android.adapter.FamilyMemorabiliaRvAdapter;
-import com.application.zhangshi_app_android.bean.FamilyMemorabiliaBean;
 import com.application.zhangshi_app_android.databinding.ActivityFamilyAssetsBinding;
 import com.application.zhangshi_app_android.ui.DLBaseActivity;
-
-import java.util.List;
 
 /**
  * @author Ljj
@@ -48,6 +43,13 @@
 
     @Override
     public void initView() {
+        binding.refreshLayout.setEnableRefresh(false);
+        binding.refreshLayout.setEnableLoadMore(true);
+        binding.refreshLayout.setEnableOverScrollDrag(true);
+        binding.refreshLayout.setOnLoadMoreListener(refreshLayout -> {
+//            viewModel.getMoreFamilyMemorabilia();
+        });
+
         adapter = new FamilyAssetsRvAdapter(this);
         LinearItemDecoration itemDecoration = new LinearItemDecoration();
         itemDecoration.setBottomSpace((int) getResources().getDimension(com.android.app_base.R.dimen.dp_12));
@@ -93,7 +95,7 @@
         // 璁剧疆pop閫忔槑鏁堟灉
         popupWindow.setBackgroundDrawable(new ColorDrawable(0x0000));
         // 璁剧疆pop鍑哄叆鍔ㄧ敾
-        popupWindow.setAnimationStyle(com.android.app_base.R.style.pop_add);
+        popupWindow.setAnimationStyle(com.android.app_base.R.style.pop_operate);
         // 璁剧疆pop鑾峰彇鐒︾偣锛屽鏋滀负false鐐瑰嚮杩斿洖鎸夐挳浼氶��鍑哄綋鍓岮ctivity锛屽鏋減op涓湁Editor鐨勮瘽锛宖ocusable蹇呴』瑕佷负true
         popupWindow.setFocusable(true);
         // 璁剧疆pop鍙偣鍑伙紝涓篺alse鐐瑰嚮浜嬩欢鏃犳晥锛岄粯璁や负true
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
index e920c93..ef77b64 100644
--- 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
@@ -1,6 +1,5 @@
 package com.application.zhangshi_app_android.ui.function;
 
-import android.content.DialogInterface;
 import android.content.Intent;
 import android.graphics.drawable.ColorDrawable;
 import android.view.KeyEvent;
@@ -8,22 +7,15 @@
 import android.view.View;
 import android.view.ViewGroup;
 import android.view.inputmethod.EditorInfo;
-import android.widget.Button;
 import android.widget.PopupWindow;
 import android.widget.TextView;
 
-import androidx.annotation.IdRes;
-import androidx.annotation.LayoutRes;
-import androidx.appcompat.app.AlertDialog;
 import androidx.databinding.DataBindingUtil;
-import androidx.databinding.ViewDataBinding;
-import androidx.drawerlayout.widget.DrawerLayout;
 import androidx.lifecycle.Observer;
 
 import com.android.app_base.base.BaseConfig;
 import com.android.app_base.base.dialog.BaseDialog;
 import com.android.app_base.base.dialog.UIDialog;
-import com.android.app_base.base.view.BaseActivity;
 import com.android.app_base.manager.AppManager;
 import com.android.app_base.utils.ScreenSizeUtils;
 import com.android.app_base.widget.LinearItemDecoration;
@@ -34,7 +26,6 @@
 import com.application.zhangshi_app_android.databinding.ActivityFamilyMemorabiliaBinding;
 import com.application.zhangshi_app_android.databinding.PopSearchBinding;
 import com.application.zhangshi_app_android.ui.DLBaseActivity;
-import com.hjq.bar.TitleBar;
 
 import java.util.List;
 
@@ -67,6 +58,13 @@
 
     @Override
     public void initView() {
+        binding.refreshLayout.setEnableRefresh(false);
+        binding.refreshLayout.setEnableLoadMore(true);
+        binding.refreshLayout.setEnableOverScrollDrag(true);
+            binding.refreshLayout.setOnLoadMoreListener(refreshLayout -> {
+            viewModel.getMoreFamilyMemorabilia();
+        });
+
         adapter = new FamilyMemorabiliaRvAdapter(this,viewModel);
         LinearItemDecoration itemDecoration = new LinearItemDecoration();
         itemDecoration.setBottomSpace((int) getResources().getDimension(com.android.app_base.R.dimen.dp_12));
@@ -87,6 +85,7 @@
         });
 
         binding.ivSearchType.setOnClickListener(v -> {
+            hideSoftKeyboard();
             mSearchPopupWindow.setWidth(binding.layoutSearch.getMeasuredWidth());
             mSearchPopupWindow.showAsDropDown(binding.layoutSearch,0,0);
         });
@@ -148,9 +147,9 @@
                     return;
                 }
                 if (familyMemorabiliaBeans.isEmpty()){
-                    viewModel.getOperateTypeLiveData().postValue(1);
+                    viewModel.getOperateTypeLiveData().setValue(1);
                 }else{
-                    viewModel.getOperateTypeLiveData().postValue(2);
+                    viewModel.getOperateTypeLiveData().setValue(2);
                 }
             }
         });
@@ -158,6 +157,12 @@
             @Override
             public void onChanged(List<FamilyMemorabiliaBean> familyMemorabiliaBeans) {
                 adapter.setData(familyMemorabiliaBeans);
+            }
+        });
+        viewModel.getMoreListLiveData().observe(this, new Observer<List<FamilyMemorabiliaBean>>() {
+            @Override
+            public void onChanged(List<FamilyMemorabiliaBean> familyMemorabiliaBeans) {
+                adapter.addData(familyMemorabiliaBeans);
             }
         });
         viewModel.getOperateTypeLiveData().observe(this, integer -> {
@@ -175,19 +180,20 @@
                 adapter.setCheckable(true);
             }else if (integer == 2){
                 binding.ivOperate.setBackgroundResource(R.drawable.ic_delete_white);
-                new UIDialog.Builder(this)
-                        .setTitle("鎮ㄧ‘瀹氳鍒犻櫎椤圭洰鍚�")
-                        .setContent("椤圭洰鍒犻櫎鍚庡皢鏃犳硶鎭㈠")
-                        .setConfirm("纭畾")
-                        .setCancel("鍙栨秷")
-                        .setListener(new UIDialog.OnListener() {
-                            @Override
-                            public void onConfirm(BaseDialog dialog) {
-                                viewModel.delete();
-                            }
-                        })
-                        .show();
-                adapter.setCheckable(true);
+                binding.ivOperate.setOnClickListener(v -> {
+                    new UIDialog.Builder(this)
+                            .setTitle("鎮ㄧ‘瀹氳鍒犻櫎椤圭洰鍚�")
+                            .setContent("椤圭洰鍒犻櫎鍚庡皢鏃犳硶鎭㈠")
+                            .setConfirm("纭畾")
+                            .setCancel("鍙栨秷")
+                            .setListener(new UIDialog.OnListener() {
+                                @Override
+                                public void onConfirm(BaseDialog dialog) {
+                                    viewModel.delete();
+                                }
+                            })
+                            .show();
+                });
             }
         });
     }
@@ -203,10 +209,10 @@
         // 璁剧疆pop閫忔槑鏁堟灉
         popupWindow.setBackgroundDrawable(new ColorDrawable(0x0000));
         // 璁剧疆pop鍑哄叆鍔ㄧ敾
-        popupWindow.setAnimationStyle(com.android.app_base.R.style.pop_add);
-        // 璁剧疆pop鑾峰彇鐒︾偣锛屽鏋滀负false鐐瑰嚮杩斿洖鎸夐挳浼氶��鍑哄綋鍓岮ctivity锛屽鏋減op涓湁Editor鐨勮瘽锛宖ocusable蹇呴』瑕佷负true
+        popupWindow.setAnimationStyle(com.android.app_base.R.style.pop_operate);
+//        // 璁剧疆pop鑾峰彇鐒︾偣锛屽鏋滀负false鐐瑰嚮杩斿洖鎸夐挳浼氶��鍑哄綋鍓岮ctivity锛屽鏋減op涓湁Editor鐨勮瘽锛宖ocusable蹇呴』瑕佷负true
         popupWindow.setFocusable(true);
-        // 璁剧疆pop鍙偣鍑伙紝涓篺alse鐐瑰嚮浜嬩欢鏃犳晥锛岄粯璁や负true
+//        // 璁剧疆pop鍙偣鍑伙紝涓篺alse鐐瑰嚮浜嬩欢鏃犳晥锛岄粯璁や负true
         popupWindow.setTouchable(true);
         // 璁剧疆鐐瑰嚮pop澶栦晶娑堝け锛岄粯璁や负false锛涘湪focusable涓簍rue鏃剁偣鍑诲渚у缁堟秷澶�
         popupWindow.setOutsideTouchable(false);
@@ -221,10 +227,17 @@
     }
 
     @Override
+    protected void dataFinish() {
+        super.dataFinish();
+        binding.refreshLayout.finishLoadMore();
+    }
+
+    @Override
     protected void hide() {
         super.hide();
         binding.layoutDataNull.setVisibility(View.GONE);
         binding.recyclerView.setVisibility(View.VISIBLE);
+        binding.refreshLayout.finishLoadMore();
     }
 
     @Override
@@ -243,4 +256,15 @@
             mOperatePopupWindow.dismiss();
         }
     }
+
+    @Override
+    protected void onDestroy() {
+        super.onDestroy();
+        if (mSearchPopupWindow != null){
+            mSearchPopupWindow.dismiss();
+        }
+        if (mOperatePopupWindow != null){
+            mOperatePopupWindow.dismiss();
+        }
+    }
 }
\ 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
index dbaa710..b363acd 100644
--- 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
@@ -29,6 +29,7 @@
 
 import io.reactivex.Observer;
 import io.reactivex.disposables.Disposable;
+import io.reactivex.functions.Action;
 
 /**
  * @author Ljj
@@ -41,7 +42,8 @@
     private MutableLiveData<List<FamilyMemorabiliaBean>> dataListLiveData;//鎵�鏈夋暟鎹�
     private MutableLiveData<Integer> operateTypeLiveData;//鎿嶄綔绫诲瀷 0 閫夋嫨鎿嶄綔 1.瀹屾垚 2.鍒犻櫎
 
-    private MutableLiveData<FamilyMemorabiliaRequestBean> requestBeanMutableLiveData;
+    private MutableLiveData<FamilyMemorabiliaRequestBean> requestBeanMutableLiveData;//璇锋眰鍙傛暟
+    private MutableLiveData<List<FamilyMemorabiliaBean>> moreListLiveData;//涓嬫媺鍔犺浇鏁版嵁
     public FamilyMemorabiliaActivityViewModel(@NonNull Application application) {
         super(application);
     }
@@ -54,9 +56,7 @@
      * 鑾峰彇瀹跺ぇ浜嬭
      */
     public void getFamilyMemorabilia() {
-        if (getRequestBeanMutableLiveData().getValue() == null){
-            getRequestBeanMutableLiveData().setValue(new FamilyMemorabiliaRequestBean());
-        }
+        System.out.println(getRequestBeanMutableLiveData().getValue());
         model.getFamilyMemorabilia(getRequestBeanMutableLiveData().getValue().getMap())
                 .compose(RxUtils.schedulersTransformer())
                 .subscribe(new Observer<ResultData<FamilyMemorabiliaResponseBean>>() {
@@ -73,6 +73,50 @@
                             }else {
                                 changeStateView(StateViewEnum.HIDE);
                                 dataListLiveData.postValue(data.getData().getData());
+                            }
+                        }else {
+                            messageLiveData.postValue(data.getMsg());
+                        }
+                    }
+
+                    @Override
+                    public void onError(Throwable e) {
+                        messageLiveData.postValue(e.getMessage());
+                    }
+
+                    @Override
+                    public void onComplete() {
+
+                    }
+                });
+    }
+    /**
+     * 鑾峰彇瀹跺ぇ浜嬭 鍔犺浇鏇村
+     */
+    public void getMoreFamilyMemorabilia() {
+        requestBeanMutableLiveData.getValue().setPageNum(requestBeanMutableLiveData.getValue().getPageNum() + 1);
+        model.getFamilyMemorabilia(getRequestBeanMutableLiveData().getValue().getMap())
+                .compose(RxUtils.schedulersTransformer())
+                .doFinally(new Action() {
+                    @Override
+                    public void run() throws Exception {
+                        changeStateView(StateViewEnum.DATA_FINISH);
+                    }
+                })
+                .subscribe(new Observer<ResultData<FamilyMemorabiliaResponseBean>>() {
+                    @Override
+                    public void onSubscribe(Disposable d) {
+                        addSubscribe(d);
+                    }
+
+                    @Override
+                    public void onNext(ResultData<FamilyMemorabiliaResponseBean> data) {
+                        if (data.getCode() == CODE_SUCCESS){
+                            if (data.getData().getData().isEmpty()){
+                                messageLiveData.postValue("娌℃湁鏇村鏁版嵁浜�");
+                            }else {
+                                changeStateView(StateViewEnum.HIDE);
+                                moreListLiveData.postValue(data.getData().getData());
                             }
                         }else {
                             messageLiveData.postValue(data.getMsg());
@@ -152,6 +196,20 @@
         this.checkListLiveData = checkListLiveData;
     }
 
+    public MutableLiveData<FamilyMemorabiliaRequestBean> getRequestBeanMutableLiveData() {
+        if (requestBeanMutableLiveData == null){
+            requestBeanMutableLiveData = new MutableLiveData<>();
+        }
+        if (requestBeanMutableLiveData.getValue() == null){
+            requestBeanMutableLiveData.setValue(new FamilyMemorabiliaRequestBean());
+        }
+        return requestBeanMutableLiveData;
+    }
+
+    public void setRequestBeanMutableLiveData(MutableLiveData<FamilyMemorabiliaRequestBean> requestBeanMutableLiveData) {
+        this.requestBeanMutableLiveData = requestBeanMutableLiveData;
+    }
+
     public MutableLiveData<List<FamilyMemorabiliaBean>> getDataListLiveData() {
         if (dataListLiveData == null){
             dataListLiveData = new MutableLiveData<>();
@@ -163,19 +221,15 @@
         this.dataListLiveData = dataListLiveData;
     }
 
-    @NonNull
-    public MutableLiveData<FamilyMemorabiliaRequestBean> getRequestBeanMutableLiveData() {
-        if (requestBeanMutableLiveData == null){
-            requestBeanMutableLiveData = new MutableLiveData<>();
+    public MutableLiveData<List<FamilyMemorabiliaBean>> getMoreListLiveData() {
+        if (moreListLiveData == null){
+            moreListLiveData = new MutableLiveData<>();
         }
-        if (requestBeanMutableLiveData.getValue()==null){
-            requestBeanMutableLiveData.postValue(new FamilyMemorabiliaRequestBean());
-        }
-        return requestBeanMutableLiveData;
+        return moreListLiveData;
     }
 
-    public void setRequestBeanMutableLiveData(MutableLiveData<FamilyMemorabiliaRequestBean> requestBeanMutableLiveData) {
-        this.requestBeanMutableLiveData = requestBeanMutableLiveData;
+    public void setMoreListLiveData(MutableLiveData<List<FamilyMemorabiliaBean>> moreListLiveData) {
+        this.moreListLiveData = moreListLiveData;
     }
 
     public MutableLiveData<Integer> getOperateTypeLiveData() {
@@ -190,6 +244,10 @@
         this.operateTypeLiveData = operateTypeLiveData;
     }
 
+    /**
+     * 鏀瑰彉鎺掑簭
+     * @param b true 闄嶅簭 false 鍗囧簭
+     */
     public void changeOrder(boolean b) {
         List<FamilyMemorabiliaBean> list = getDataListLiveData().getValue();
         if (list == null || list.isEmpty()){
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/FunctionFragment.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/FunctionFragment.java
index c5ec593..40fa8e2 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/ui/function/FunctionFragment.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/FunctionFragment.java
@@ -71,6 +71,33 @@
                 AppManager.getAppManager().startActivity(GrowthExperienceActivity.class);
             }
         });
+        binding.layoutHonorCollection.setOnClickListener(v->{
+            AppManager.getAppManager().startActivity(HonorCollectionActivity.class);
+        });
+        binding.layoutLittleDoctor.setOnClickListener(v->{
+            AppManager.getAppManager().startActivity(LittleDoctorActivity.class);
+        });
+        binding.layoutCleanStorage.setOnClickListener(v->{
+            AppManager.getAppManager().startActivity(CleanStorageActivity.class);
+        });
+        binding.layoutPet.setOnClickListener(v->{
+            AppManager.getAppManager().startActivity(PetActivity.class);
+        });
+        binding.layoutIncomeAndExpenses.setOnClickListener(v->{
+            AppManager.getAppManager().startActivity(IncomeAndExpensesActivity.class);
+        });
+        binding.layoutProperty.setOnClickListener(v->{
+            AppManager.getAppManager().startActivity(PropertyActivity.class);
+        });
+        binding.layoutHundredWish.setOnClickListener(v->{
+            AppManager.getAppManager().startActivity(HundredWishActivity.class);
+        });
+        binding.layoutCertificateOfHonor.setOnClickListener(v->{
+            AppManager.getAppManager().startActivity(CertificateOfHonorActivity.class);
+        });
+        binding.layoutMarriage.setOnClickListener(v->{
+            AppManager.getAppManager().startActivity(MarriageActivity.class);
+        });
     }
 
     @Override
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/HomeDevicesActivity.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/HomeDevicesActivity.java
index 9a32a27..074df03 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/ui/function/HomeDevicesActivity.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/HomeDevicesActivity.java
@@ -9,7 +9,6 @@
 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.FamilyAssetsRvAdapter;
 import com.application.zhangshi_app_android.adapter.HomeDevicesRvAdapter;
 import com.application.zhangshi_app_android.databinding.ActivityHomeDevicesBinding;
 import com.application.zhangshi_app_android.ui.DLBaseActivity;
@@ -86,7 +85,7 @@
         // 璁剧疆pop閫忔槑鏁堟灉
         popupWindow.setBackgroundDrawable(new ColorDrawable(0x0000));
         // 璁剧疆pop鍑哄叆鍔ㄧ敾
-        popupWindow.setAnimationStyle(com.android.app_base.R.style.pop_add);
+        popupWindow.setAnimationStyle(com.android.app_base.R.style.pop_operate);
         // 璁剧疆pop鑾峰彇鐒︾偣锛屽鏋滀负false鐐瑰嚮杩斿洖鎸夐挳浼氶��鍑哄綋鍓岮ctivity锛屽鏋減op涓湁Editor鐨勮瘽锛宖ocusable蹇呴』瑕佷负true
         popupWindow.setFocusable(true);
         // 璁剧疆pop鍙偣鍑伙紝涓篺alse鐐瑰嚮浜嬩欢鏃犳晥锛岄粯璁や负true
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/HomeDevicesActivityViewModel.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/HomeDevicesActivityViewModel.java
index 8fa8936..d7d8806 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/ui/function/HomeDevicesActivityViewModel.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/HomeDevicesActivityViewModel.java
@@ -5,22 +5,18 @@
 import android.app.Application;
 
 import androidx.annotation.NonNull;
-import androidx.lifecycle.LiveData;
 import androidx.lifecycle.MutableLiveData;
 
 import com.android.app_base.base.StateViewEnum;
 import com.android.app_base.base.viewmodel.BaseViewModel;
 import com.android.app_base.http.ResultData;
 import com.android.app_base.utils.RxUtils;
-import com.application.zhangshi_app_android.bean.FamilyAssetsBean;
-import com.application.zhangshi_app_android.bean.FamilyAssetsResponseBean;
 import com.application.zhangshi_app_android.bean.HomeDevicesBean;
 import com.application.zhangshi_app_android.bean.HomeDevicesResponseBean;
 import com.application.zhangshi_app_android.data.DataRepository;
 
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
-import java.util.ArrayList;
 import java.util.Comparator;
 import java.util.Date;
 import java.util.HashMap;
@@ -48,14 +44,6 @@
     }
 
     public void getHomeDevices(){
-        List<HomeDevicesBean> list = new ArrayList<>();
-        list.add(new HomeDevicesBean(1,"鐢佃","2023-04-03","寮犱笁","澶忔櫘娑叉櫠鐢佃","瀹㈠巺","4k瓒呴珮娓�",""));
-        list.add(new HomeDevicesBean(1,"鐢佃","2023-04-02","寮犱笁","澶忔櫘娑叉櫠鐢佃","瀹㈠巺","4k瓒呴珮娓�",""));
-        list.add(new HomeDevicesBean(1,"鐢佃","2023-04-01","寮犱笁","澶忔櫘娑叉櫠鐢佃","瀹㈠巺","4k瓒呴珮娓�",""));
-        if (list != null && !list.isEmpty()){
-            dataListLiveData.postValue(list);
-            return;
-        }
         model.getHomeDevices(new HashMap<>())
                 .compose(RxUtils.schedulersTransformer())
                 .subscribe(new Observer<ResultData<HomeDevicesResponseBean>>() {
@@ -118,8 +106,8 @@
                 Date date1 = null;
                 Date date2 = null;
                 try {
-                    date1 = format.parse(o1.getCreateTime());
-                    date2 = format.parse(o2.getCreateTime());
+                    date1 = format.parse(o1.getCreateDate());
+                    date2 = format.parse(o2.getCreateDate());
                 } catch (ParseException e) {
                     throw new RuntimeException(e);
                 }
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/HonorCollectionActivity.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/HonorCollectionActivity.java
new file mode 100644
index 0000000..6bde34c
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/HonorCollectionActivity.java
@@ -0,0 +1,57 @@
+package com.application.zhangshi_app_android.ui.function;
+
+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.FamilyAssetsRvAdapter;
+import com.application.zhangshi_app_android.adapter.HonorCollectionRvAdapter;
+import com.application.zhangshi_app_android.databinding.ActivityHonorCollectionBinding;
+import com.application.zhangshi_app_android.ui.DLBaseActivity;
+
+/**
+ * @author Ljj
+ * @date 2023.04.14. 20:50
+ * @desc 鑽h獕鏀惰棌 Activity
+ */
+public class HonorCollectionActivity extends DLBaseActivity<ActivityHonorCollectionBinding, HonorCollectionActivityViewModel> {
+
+    private HonorCollectionRvAdapter adapter;
+
+    @Override
+    public int getLayoutId() {
+        return R.layout.activity_honor_collection;
+    }
+
+    @Override
+    public int getVariableId() {
+        return BR.viewModel;
+    }
+
+    @Override
+    public void initParam() {
+
+    }
+
+    @Override
+    public void initView() {
+        adapter = new HonorCollectionRvAdapter(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() {
+        viewModel.getHonorCollections();
+    }
+
+    @Override
+    public void initLiveDataObserve() {
+        viewModel.getDataListLiveData().observe(this, homeDevices -> {
+            adapter.setData(homeDevices);
+        });
+    }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/HonorCollectionActivityViewModel.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/HonorCollectionActivityViewModel.java
new file mode 100644
index 0000000..d12ded7
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/HonorCollectionActivityViewModel.java
@@ -0,0 +1,92 @@
+package com.application.zhangshi_app_android.ui.function;
+
+import static com.android.app_base.base.BaseConfig.CODE_SUCCESS;
+
+import android.app.Application;
+
+import androidx.annotation.NonNull;
+import androidx.lifecycle.LiveData;
+import androidx.lifecycle.MutableLiveData;
+
+import com.android.app_base.base.StateViewEnum;
+import com.android.app_base.base.viewmodel.BaseViewModel;
+import com.android.app_base.http.ResultData;
+import com.android.app_base.utils.RxUtils;
+import com.application.zhangshi_app_android.bean.HomeDevicesResponseBean;
+import com.application.zhangshi_app_android.bean.HonorCollectionBean;
+import com.application.zhangshi_app_android.bean.HonorCollectionRequestBean;
+import com.application.zhangshi_app_android.bean.HonorCollectionResponseBean;
+import com.application.zhangshi_app_android.data.DataRepository;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+
+import io.reactivex.Observer;
+import io.reactivex.disposables.Disposable;
+
+/**
+ * @author Ljj
+ * @date 2023.04.14. 20:53
+ * @desc 鑽h獕鏀惰棌 ViewModel
+ */
+public class HonorCollectionActivityViewModel extends BaseViewModel<DataRepository> {
+
+    private MutableLiveData<List<HonorCollectionBean>> dataListLiveData;
+    private HonorCollectionRequestBean requestBean = new HonorCollectionRequestBean();
+
+    public HonorCollectionActivityViewModel(@NonNull Application application) {
+        super(application);
+    }
+
+    @Override
+    protected DataRepository initModel() {
+        return DataRepository.getInstance();
+    }
+
+    public MutableLiveData<List<HonorCollectionBean>> getDataListLiveData() {
+        if (dataListLiveData == null){
+            dataListLiveData = new MutableLiveData<>();
+        }
+        return dataListLiveData;
+    }
+
+    public void setDataListLiveData(MutableLiveData<List<HonorCollectionBean>> dataListLiveData) {
+        this.dataListLiveData = dataListLiveData;
+    }
+
+    public void getHonorCollections() {
+        model.getHonorCollections(requestBean.toMap())
+                .compose(RxUtils.schedulersTransformer())
+                .subscribe(new Observer<ResultData<HonorCollectionResponseBean>>() {
+                    @Override
+                    public void onSubscribe(Disposable d) {
+                        addSubscribe(d);
+                    }
+
+                    @Override
+                    public void onNext(ResultData<HonorCollectionResponseBean> data) {
+                        if (data.getCode() == CODE_SUCCESS){
+                            if (data.getData().getData().isEmpty()){
+                                changeStateView(StateViewEnum.DATA_NULL);
+                            }else {
+                                changeStateView(StateViewEnum.HIDE);
+                                dataListLiveData.postValue(data.getData().getData());
+                            }
+                        }else {
+                            messageLiveData.postValue(data.getMsg());
+                        }
+                    }
+
+                    @Override
+                    public void onError(Throwable e) {
+                        messageLiveData.postValue(e.getMessage());
+                    }
+
+                    @Override
+                    public void onComplete() {
+
+                    }
+                });
+    }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/HonorCollectionDetailActivity.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/HonorCollectionDetailActivity.java
new file mode 100644
index 0000000..96263f0
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/HonorCollectionDetailActivity.java
@@ -0,0 +1,99 @@
+package com.application.zhangshi_app_android.ui.function;
+
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.EditText;
+
+import androidx.recyclerview.widget.GridLayoutManager;
+
+import com.application.zhangshi_app_android.BR;
+import com.application.zhangshi_app_android.R;
+import com.application.zhangshi_app_android.adapter.ImageRvAdapter;
+import com.application.zhangshi_app_android.bean.HonorCollectionBean;
+import com.application.zhangshi_app_android.databinding.ActivityHonorCollectionDetailBinding;
+import com.application.zhangshi_app_android.ui.DLBaseActivity;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * @author Ljj
+ * @date 2023.04.14. 22:21
+ * @desc
+ */
+public class HonorCollectionDetailActivity extends DLBaseActivity<ActivityHonorCollectionDetailBinding, HonorCollectionDetailActivityViewModel> {
+    private ImageRvAdapter adapter;
+
+    @Override
+    public int getLayoutId() {
+        return R.layout.activity_honor_collection_detail;
+    }
+
+    @Override
+    public int getVariableId() {
+        return BR.viewModel;
+    }
+
+    @Override
+    public void initParam() {
+        if (getIntent().hasExtra("bean")){
+            viewModel.getBeanLiveData().setValue((HonorCollectionBean) getIntent().getSerializableExtra("bean"));
+        }
+    }
+
+    @Override
+    public void initView() {
+        adapter = new ImageRvAdapter(this);
+        GridLayoutManager gridLayoutManager = new GridLayoutManager(this, 3);
+        binding.rvImage.setLayoutManager(gridLayoutManager);
+        binding.rvImage.setNestedScrollingEnabled(false);
+        setIsEdited(false);
+    }
+
+    @Override
+    public void initData() {
+
+    }
+
+    @Override
+    public void initLiveDataObserve() {
+        viewModel.getBeanLiveData().observe(this,bean -> {
+            if (bean!=null){
+                String url = bean.getUrl();
+                if (url == null||url.isEmpty()){
+                    return;
+                }
+                List<String> list;
+                if (url.contains(",")){
+                    String[] split = url.split(",");
+                    list = new ArrayList<>(Arrays.asList(split));
+                }else {
+                    list = new ArrayList<>();
+                    list.add(url);
+                }
+                adapter.setData(list);
+            }
+        });
+    }
+    public void setIsEdited(boolean isEdited){
+        disableAllEditText(getContentView(),isEdited);
+        adapter.setIsEdited(isEdited);
+    }
+    public void disableAllEditText(ViewGroup viewGroup, boolean isEdited) {
+        for (int i = 0; i < viewGroup.getChildCount(); i++) {
+            View child = viewGroup.getChildAt(i);
+            if (child instanceof ViewGroup) {
+                disableAllEditText((ViewGroup) child,isEdited);
+            } else if (child instanceof EditText) {
+                child.setEnabled(isEdited);
+                child.setFocusable(isEdited);
+                child.setFocusableInTouchMode(isEdited);
+                if (!isEdited){
+                    child.clearFocus();
+                }
+            }
+        }
+    }
+
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/HonorCollectionDetailActivityViewModel.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/HonorCollectionDetailActivityViewModel.java
new file mode 100644
index 0000000..ca300d7
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/HonorCollectionDetailActivityViewModel.java
@@ -0,0 +1,40 @@
+package com.application.zhangshi_app_android.ui.function;
+
+import android.app.Application;
+
+import androidx.annotation.NonNull;
+import androidx.lifecycle.MutableLiveData;
+
+import com.android.app_base.base.viewmodel.BaseViewModel;
+import com.application.zhangshi_app_android.bean.HonorCollectionBean;
+import com.application.zhangshi_app_android.data.DataRepository;
+
+/**
+ * @author Ljj
+ * @date 2023.04.14. 22:24
+ * @desc
+ */
+public class HonorCollectionDetailActivityViewModel extends BaseViewModel<DataRepository> {
+
+    private MutableLiveData<HonorCollectionBean> beanLiveData;
+
+    public HonorCollectionDetailActivityViewModel(@NonNull Application application) {
+        super(application);
+    }
+
+    @Override
+    protected DataRepository initModel() {
+        return DataRepository.getInstance();
+    }
+
+    public MutableLiveData<HonorCollectionBean> getBeanLiveData() {
+        if (beanLiveData == null){
+            beanLiveData = new MutableLiveData<>();
+        }
+        return beanLiveData;
+    }
+
+    public void setBeanLiveData(MutableLiveData<HonorCollectionBean> beanLiveData) {
+        this.beanLiveData = beanLiveData;
+    }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/HundredWishActivity.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/HundredWishActivity.java
new file mode 100644
index 0000000..d632efd
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/HundredWishActivity.java
@@ -0,0 +1,58 @@
+package com.application.zhangshi_app_android.ui.function;
+
+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.HundredWishRvAdapter;
+import com.application.zhangshi_app_android.adapter.PropertyRvAdapter;
+import com.application.zhangshi_app_android.databinding.ActivityHundredWishBinding;
+import com.application.zhangshi_app_android.databinding.ActivityPropertyBinding;
+import com.application.zhangshi_app_android.ui.DLBaseActivity;
+
+/**
+ * @author Ljj
+ * @date 2023.04.23. 14:15
+ * @desc 鐧惧勾蹇冩効
+ */
+public class HundredWishActivity extends DLBaseActivity<ActivityHundredWishBinding, HundredWishActivityViewModel> {
+
+    private HundredWishRvAdapter adapter;
+
+    @Override
+    public int getLayoutId() {
+        return R.layout.activity_hundred_wish;
+    }
+
+    @Override
+    public int getVariableId() {
+        return BR.viewModel;
+    }
+
+    @Override
+    public void initParam() {
+
+    }
+
+    @Override
+    public void initView() {
+        adapter = new HundredWishRvAdapter(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() {
+        viewModel.getHundredWish();
+    }
+
+    @Override
+    public void initLiveDataObserve() {
+        viewModel.getDataListLiveData().observe(this, dataList -> {
+            adapter.setData(dataList);
+        });
+    }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/HundredWishActivityViewModel.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/HundredWishActivityViewModel.java
new file mode 100644
index 0000000..831bd6f
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/HundredWishActivityViewModel.java
@@ -0,0 +1,70 @@
+package com.application.zhangshi_app_android.ui.function;
+
+import android.app.Application;
+
+import androidx.annotation.NonNull;
+import androidx.lifecycle.MutableLiveData;
+
+import com.android.app_base.base.viewmodel.BaseViewModel;
+import com.application.zhangshi_app_android.bean.HundredWishBean;
+import com.application.zhangshi_app_android.bean.PropertyBean;
+import com.application.zhangshi_app_android.data.DataRepository;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author Ljj
+ * @date 2023.04.23. 20:04
+ * @desc
+ */
+public class HundredWishActivityViewModel extends BaseViewModel<DataRepository> {
+    private MutableLiveData<List<HundredWishBean>> dataListLiveData;
+
+    public HundredWishActivityViewModel(@NonNull Application application) {
+        super(application);
+    }
+
+    @Override
+    protected DataRepository initModel() {
+        return DataRepository.getInstance();
+    }
+
+    public MutableLiveData<List<HundredWishBean>> getDataListLiveData() {
+        if (dataListLiveData == null) {
+            dataListLiveData = new MutableLiveData<>();
+        }
+        return dataListLiveData;
+    }
+
+    public void setDataListLiveData(MutableLiveData<List<HundredWishBean>> dataListLiveData) {
+        this.dataListLiveData = dataListLiveData;
+    }
+
+    public void getHundredWish() {
+        List<HundredWishBean> beans =  new ArrayList<>();
+        for (int i = 0; i < 10; i++) {
+            HundredWishBean bean = new HundredWishBean();
+            bean.setTitle("鏍囬");
+            bean.setCreateTime("2020-01-01");
+            bean.setReason("濮嬩簬浣曞洜");
+            bean.setBeneficiary("鍙楁儬浜�");
+            bean.setHeir("缁ф壙浜�");
+            bean.setDifficulty("瀹炵幇闅惧害");
+            bean.setIsEffective(1);
+            bean.setRemark("澶囨敞");
+            beans.add(bean);
+        }
+        HundredWishBean bean = new HundredWishBean();
+        bean.setTitle("鏍囬aaaaaaaaaaaaaa");
+        bean.setCreateTime("2020-01-01");
+        bean.setReason("濮嬩簬浣曞洜");
+        bean.setBeneficiary("鍙楁儬浜�");
+        bean.setHeir("缁ф壙浜�");
+        bean.setDifficulty("瀹炵幇闅惧害");
+        bean.setIsEffective(1);
+        bean.setRemark("澶囨敞");
+        beans.add(bean);
+        dataListLiveData.setValue(beans);
+    }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/HundredWishDetailActivity.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/HundredWishDetailActivity.java
new file mode 100644
index 0000000..8fda651
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/HundredWishDetailActivity.java
@@ -0,0 +1,102 @@
+package com.application.zhangshi_app_android.ui.function;
+
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.EditText;
+
+import androidx.recyclerview.widget.GridLayoutManager;
+
+import com.application.zhangshi_app_android.BR;
+import com.application.zhangshi_app_android.R;
+import com.application.zhangshi_app_android.adapter.ImageRvAdapter;
+import com.application.zhangshi_app_android.bean.HundredWishBean;
+import com.application.zhangshi_app_android.bean.PropertyBean;
+import com.application.zhangshi_app_android.databinding.ActivityHundredWishDetailBinding;
+import com.application.zhangshi_app_android.databinding.ActivityPropertyDetailBinding;
+import com.application.zhangshi_app_android.ui.DLBaseActivity;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * @author Ljj
+ * @date 2023.04.23. 20:18
+ * @desc
+ */
+public class HundredWishDetailActivity extends DLBaseActivity<ActivityHundredWishDetailBinding,HundredWishDetailActivityViewModel> {
+
+    private ImageRvAdapter adapter;
+
+    @Override
+    public int getLayoutId() {
+        return R.layout.activity_hundred_wish_detail;
+    }
+
+    @Override
+    public int getVariableId() {
+        return BR.viewModel;
+    }
+
+    @Override
+    public void initParam() {
+        if (getIntent().hasExtra("bean")){
+            viewModel.getBeanLiveData().setValue((HundredWishBean) getIntent().getSerializableExtra("bean"));
+        }
+    }
+
+    @Override
+    public void initView() {
+        adapter = new ImageRvAdapter(this);
+        GridLayoutManager gridLayoutManager = new GridLayoutManager(this, 3);
+        binding.rvImage.setLayoutManager(gridLayoutManager);
+        binding.rvImage.setNestedScrollingEnabled(false);
+        setIsEdited(false);
+    }
+
+    @Override
+    public void initData() {
+
+    }
+
+    @Override
+    public void initLiveDataObserve() {
+        viewModel.getBeanLiveData().observe(this,bean -> {
+            if (bean!=null){
+                String url = bean.getUrl();
+                if (url == null||url.isEmpty()){
+                    return;
+                }
+                List<String> list;
+                if (url.contains(",")){
+                    String[] split = url.split(",");
+                    list = new ArrayList<>(Arrays.asList(split));
+                }else {
+                    list = new ArrayList<>();
+                    list.add(url);
+                }
+                adapter.setData(list);
+            }
+        });
+    }
+
+    public void setIsEdited(boolean isEdited){
+        disableAllEditText(getContentView(),isEdited);
+        adapter.setIsEdited(isEdited);
+    }
+    public void disableAllEditText(ViewGroup viewGroup, boolean isEdited) {
+        for (int i = 0; i < viewGroup.getChildCount(); i++) {
+            View child = viewGroup.getChildAt(i);
+            if (child instanceof ViewGroup) {
+                disableAllEditText((ViewGroup) child,isEdited);
+            } else if (child instanceof EditText) {
+                child.setEnabled(isEdited);
+                child.setFocusable(isEdited);
+                child.setFocusableInTouchMode(isEdited);
+                if (!isEdited){
+                    child.clearFocus();
+                }
+            }
+        }
+    }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/HundredWishDetailActivityViewModel.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/HundredWishDetailActivityViewModel.java
new file mode 100644
index 0000000..fce563c
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/HundredWishDetailActivityViewModel.java
@@ -0,0 +1,42 @@
+package com.application.zhangshi_app_android.ui.function;
+
+import android.app.Application;
+
+import androidx.annotation.NonNull;
+import androidx.lifecycle.MutableLiveData;
+
+import com.android.app_base.base.viewmodel.BaseViewModel;
+import com.application.zhangshi_app_android.bean.HundredWishBean;
+import com.application.zhangshi_app_android.bean.PropertyBean;
+import com.application.zhangshi_app_android.data.DataRepository;
+
+/**
+ * @author Ljj
+ * @date 2023.04.23. 20:19
+ * @desc
+ */
+public class HundredWishDetailActivityViewModel extends BaseViewModel<DataRepository> {
+
+    private MutableLiveData<HundredWishBean> beanLiveData;
+
+    public HundredWishDetailActivityViewModel(@NonNull Application application) {
+        super(application);
+    }
+
+    @Override
+    protected DataRepository initModel() {
+        return DataRepository.getInstance();
+    }
+
+
+    public MutableLiveData<HundredWishBean> getBeanLiveData() {
+        if (beanLiveData == null) {
+            beanLiveData = new MutableLiveData<>();
+        }
+        return beanLiveData;
+    }
+
+    public void setBeanLiveData(MutableLiveData<HundredWishBean> beanLiveData) {
+        this.beanLiveData = beanLiveData;
+    }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/IncomeAndExpensesActivity.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/IncomeAndExpensesActivity.java
new file mode 100644
index 0000000..df52eb5
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/IncomeAndExpensesActivity.java
@@ -0,0 +1,58 @@
+package com.application.zhangshi_app_android.ui.function;
+
+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.CleanStorageRvAdapter;
+import com.application.zhangshi_app_android.adapter.IncomeAndExpensesRvAdapter;
+import com.application.zhangshi_app_android.databinding.ActivityCleanStorageBinding;
+import com.application.zhangshi_app_android.databinding.ActivityIncomeAndExpensesBinding;
+import com.application.zhangshi_app_android.ui.DLBaseActivity;
+
+/**
+ * @author Ljj
+ * @date 2023.04.20. 22:17
+ * @desc 鏀舵敮鍙拌处
+ */
+public class IncomeAndExpensesActivity extends DLBaseActivity<ActivityIncomeAndExpensesBinding, IncomeAndExpensesActivityViewModel> {
+
+    private IncomeAndExpensesRvAdapter adapter;
+
+    @Override
+    public int getLayoutId() {
+        return R.layout.activity_income_and_expenses;
+    }
+
+    @Override
+    public int getVariableId() {
+        return BR.viewModel;
+    }
+
+    @Override
+    public void initParam() {
+
+    }
+
+    @Override
+    public void initView() {
+        adapter = new IncomeAndExpensesRvAdapter(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() {
+        viewModel.getIncomeAndExpenses();
+    }
+
+    @Override
+    public void initLiveDataObserve() {
+        viewModel.getDataListLiveData().observe(this, dataList -> {
+            adapter.setData(dataList);
+        });
+    }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/IncomeAndExpensesActivityViewModel.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/IncomeAndExpensesActivityViewModel.java
new file mode 100644
index 0000000..6d68d42
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/IncomeAndExpensesActivityViewModel.java
@@ -0,0 +1,89 @@
+package com.application.zhangshi_app_android.ui.function;
+
+import static com.android.app_base.base.BaseConfig.CODE_SUCCESS;
+
+import android.app.Application;
+
+import androidx.annotation.NonNull;
+import androidx.lifecycle.MutableLiveData;
+
+import com.android.app_base.base.StateViewEnum;
+import com.android.app_base.base.viewmodel.BaseViewModel;
+import com.android.app_base.http.ResultData;
+import com.android.app_base.utils.RxUtils;
+import com.application.zhangshi_app_android.bean.CleanStorageBean;
+import com.application.zhangshi_app_android.bean.HomeDevicesResponseBean;
+import com.application.zhangshi_app_android.bean.IncomeAndExpensesBean;
+import com.application.zhangshi_app_android.bean.IncomeAndExpensesResponseBean;
+import com.application.zhangshi_app_android.data.DataRepository;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+
+import io.reactivex.Observer;
+import io.reactivex.disposables.Disposable;
+
+/**
+ * @author Ljj
+ * @date 2023.04.20. 22:21
+ * @desc
+ */
+public class IncomeAndExpensesActivityViewModel extends BaseViewModel<DataRepository> {
+    private MutableLiveData<List<IncomeAndExpensesBean>> dataListLiveData;
+
+    public IncomeAndExpensesActivityViewModel(@NonNull Application application) {
+        super(application);
+    }
+
+    @Override
+    protected DataRepository initModel() {
+        return DataRepository.getInstance();
+    }
+
+    public MutableLiveData<List<IncomeAndExpensesBean>> getDataListLiveData() {
+        if (dataListLiveData == null) {
+            dataListLiveData = new MutableLiveData<>();
+        }
+        return dataListLiveData;
+    }
+
+    public void setDataListLiveData(MutableLiveData<List<IncomeAndExpensesBean>> dataListLiveData) {
+        this.dataListLiveData = dataListLiveData;
+    }
+
+    public void getIncomeAndExpenses() {
+        model.getIncomeAndExpenses(new HashMap<>())
+                .compose(RxUtils.schedulersTransformer())
+                .subscribe(new Observer<ResultData<IncomeAndExpensesResponseBean>>() {
+                    @Override
+                    public void onSubscribe(Disposable d) {
+                        addSubscribe(d);
+                    }
+
+                    @Override
+                    public void onNext(ResultData<IncomeAndExpensesResponseBean> data) {
+                        if (data.getCode() == CODE_SUCCESS){
+                            if (data.getData().getData().isEmpty()){
+                                changeStateView(StateViewEnum.DATA_NULL);
+                            }else {
+                                changeStateView(StateViewEnum.HIDE);
+                                dataListLiveData.postValue(data.getData().getData());
+                            }
+                        }else {
+                            messageLiveData.postValue(data.getMsg());
+                        }
+                    }
+
+                    @Override
+                    public void onError(Throwable e) {
+                        messageLiveData.postValue(e.getMessage());
+                    }
+
+                    @Override
+                    public void onComplete() {
+
+                    }
+                });
+    }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/IncomeAndExpensesDetailActivity.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/IncomeAndExpensesDetailActivity.java
new file mode 100644
index 0000000..b6eaec8
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/IncomeAndExpensesDetailActivity.java
@@ -0,0 +1,103 @@
+package com.application.zhangshi_app_android.ui.function;
+
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.EditText;
+
+import androidx.recyclerview.widget.GridLayoutManager;
+
+import com.application.zhangshi_app_android.BR;
+import com.application.zhangshi_app_android.R;
+import com.application.zhangshi_app_android.adapter.ImageRvAdapter;
+import com.application.zhangshi_app_android.bean.IncomeAndExpensesBean;
+import com.application.zhangshi_app_android.bean.LittleDoctorBean;
+import com.application.zhangshi_app_android.databinding.ActivityIncomeAndExpensesBinding;
+import com.application.zhangshi_app_android.databinding.ActivityIncomeAndExpensesDetailBinding;
+import com.application.zhangshi_app_android.databinding.ActivityLittleDoctorDetailBinding;
+import com.application.zhangshi_app_android.ui.DLBaseActivity;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * @author Ljj
+ * @date 2023.04.20. 22:56
+ * @desc
+ */
+public class IncomeAndExpensesDetailActivity extends DLBaseActivity<ActivityIncomeAndExpensesDetailBinding, IncomeAndExpensesDetailActivityViewModel> {
+
+    private ImageRvAdapter adapter;
+
+    @Override
+    public int getLayoutId() {
+        return R.layout.activity_income_and_expenses_detail;
+    }
+
+    @Override
+    public int getVariableId() {
+        return BR.viewModel;
+    }
+
+    @Override
+    public void initParam() {
+        if (getIntent().hasExtra("bean")){
+            viewModel.getBeanLiveData().setValue((IncomeAndExpensesBean) getIntent().getSerializableExtra("bean"));
+        }
+    }
+
+    @Override
+    public void initView() {
+        adapter = new ImageRvAdapter(this);
+        GridLayoutManager gridLayoutManager = new GridLayoutManager(this, 3);
+        binding.rvImage.setLayoutManager(gridLayoutManager);
+        binding.rvImage.setNestedScrollingEnabled(false);
+        setIsEdited(false);
+    }
+
+    @Override
+    public void initData() {
+
+    }
+
+    @Override
+    public void initLiveDataObserve() {
+        viewModel.getBeanLiveData().observe(this,bean -> {
+            if (bean!=null){
+                String url = bean.getUrl();
+                if (url == null||url.isEmpty()){
+                    return;
+                }
+                List<String> list;
+                if (url.contains(",")){
+                    String[] split = url.split(",");
+                    list = new ArrayList<>(Arrays.asList(split));
+                }else {
+                    list = new ArrayList<>();
+                    list.add(url);
+                }
+                adapter.setData(list);
+            }
+        });
+    }
+
+    public void setIsEdited(boolean isEdited){
+        disableAllEditText(getContentView(),isEdited);
+        adapter.setIsEdited(isEdited);
+    }
+    public void disableAllEditText(ViewGroup viewGroup, boolean isEdited) {
+        for (int i = 0; i < viewGroup.getChildCount(); i++) {
+            View child = viewGroup.getChildAt(i);
+            if (child instanceof ViewGroup) {
+                disableAllEditText((ViewGroup) child,isEdited);
+            } else if (child instanceof EditText) {
+                child.setEnabled(isEdited);
+                child.setFocusable(isEdited);
+                child.setFocusableInTouchMode(isEdited);
+                if (!isEdited){
+                    child.clearFocus();
+                }
+            }
+        }
+    }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/IncomeAndExpensesDetailActivityViewModel.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/IncomeAndExpensesDetailActivityViewModel.java
new file mode 100644
index 0000000..d059b9c
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/IncomeAndExpensesDetailActivityViewModel.java
@@ -0,0 +1,40 @@
+package com.application.zhangshi_app_android.ui.function;
+
+import android.app.Application;
+
+import androidx.annotation.NonNull;
+import androidx.lifecycle.MutableLiveData;
+
+import com.android.app_base.base.viewmodel.BaseViewModel;
+import com.application.zhangshi_app_android.bean.IncomeAndExpensesBean;
+import com.application.zhangshi_app_android.data.DataRepository;
+
+/**
+ * @author Ljj
+ * @date 2023.04.20. 22:59
+ * @desc
+ */
+public class IncomeAndExpensesDetailActivityViewModel extends BaseViewModel<DataRepository> {
+
+    private MutableLiveData<IncomeAndExpensesBean> beanLiveData;
+
+    public IncomeAndExpensesDetailActivityViewModel(@NonNull Application application) {
+        super(application);
+    }
+
+    @Override
+    protected DataRepository initModel() {
+        return DataRepository.getInstance();
+    }
+
+    public MutableLiveData<IncomeAndExpensesBean> getBeanLiveData() {
+        if (beanLiveData == null){
+            beanLiveData = new MutableLiveData<>();
+        }
+        return beanLiveData;
+    }
+
+    public void setBeanLiveData(IncomeAndExpensesBean littleDoctorBean) {
+        beanLiveData.setValue(littleDoctorBean);
+    }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/LittleDoctorActivity.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/LittleDoctorActivity.java
new file mode 100644
index 0000000..c0b8fa9
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/LittleDoctorActivity.java
@@ -0,0 +1,57 @@
+package com.application.zhangshi_app_android.ui.function;
+
+import androidx.appcompat.app.AppCompatActivity;
+
+import android.os.Bundle;
+
+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.HonorCollectionRvAdapter;
+import com.application.zhangshi_app_android.adapter.LittleDoctorRvAdapter;
+import com.application.zhangshi_app_android.databinding.ActivityLittleDoctorBinding;
+import com.application.zhangshi_app_android.ui.DLBaseActivity;
+
+public class LittleDoctorActivity extends DLBaseActivity<ActivityLittleDoctorBinding,LittleDoctorActivityViewModel> {
+
+    private LittleDoctorRvAdapter adapter;
+
+    @Override
+    public int getLayoutId() {
+        return R.layout.activity_little_doctor;
+    }
+
+    @Override
+    public int getVariableId() {
+        return BR.viewModel;
+    }
+
+    @Override
+    public void initParam() {
+
+    }
+
+    @Override
+    public void initView() {
+        adapter = new LittleDoctorRvAdapter(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() {
+        viewModel.getLittleDoctors();
+    }
+
+    @Override
+    public void initLiveDataObserve() {
+        viewModel.getDataListLiveData().observe(this, homeDevices -> {
+            adapter.setData(homeDevices);
+        });
+    }
+
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/LittleDoctorActivityViewModel.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/LittleDoctorActivityViewModel.java
new file mode 100644
index 0000000..5be8866
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/LittleDoctorActivityViewModel.java
@@ -0,0 +1,99 @@
+package com.application.zhangshi_app_android.ui.function;
+
+import static com.android.app_base.base.BaseConfig.CODE_SUCCESS;
+
+import android.app.Application;
+
+import androidx.annotation.NonNull;
+import androidx.lifecycle.LiveData;
+import androidx.lifecycle.MutableLiveData;
+
+import com.android.app_base.base.StateViewEnum;
+import com.android.app_base.base.viewmodel.BaseViewModel;
+import com.android.app_base.http.ResultData;
+import com.android.app_base.utils.RxUtils;
+import com.application.zhangshi_app_android.bean.FamilyMemorabiliaRequestBean;
+import com.application.zhangshi_app_android.bean.FamilyMemorabiliaResponseBean;
+import com.application.zhangshi_app_android.bean.HomeDevicesResponseBean;
+import com.application.zhangshi_app_android.bean.HonorCollectionBean;
+import com.application.zhangshi_app_android.bean.HonorCollectionResponseBean;
+import com.application.zhangshi_app_android.bean.LittleDoctorBean;
+import com.application.zhangshi_app_android.bean.LittleDoctorRequestBean;
+import com.application.zhangshi_app_android.bean.LittleDoctorResponseBean;
+import com.application.zhangshi_app_android.data.DataRepository;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+
+import io.reactivex.Observer;
+import io.reactivex.disposables.Disposable;
+
+/**
+ * @author Ljj
+ * @date 2023.04.15. 14:04
+ * @desc
+ */
+public class LittleDoctorActivityViewModel extends BaseViewModel<DataRepository> {
+
+    private MutableLiveData<List<LittleDoctorBean>> dataListLiveData;
+
+    private LittleDoctorRequestBean requestBean = new LittleDoctorRequestBean();
+
+    public LittleDoctorActivityViewModel(@NonNull Application application) {
+        super(application);
+    }
+
+    @Override
+    protected DataRepository initModel() {
+        return DataRepository.getInstance();
+    }
+
+    public MutableLiveData<List<LittleDoctorBean>> getDataListLiveData() {
+        if (dataListLiveData == null){
+            dataListLiveData = new MutableLiveData<>();
+        }
+        return dataListLiveData;
+    }
+
+    public void setDataListLiveData(MutableLiveData<List<LittleDoctorBean>> dataListLiveData) {
+        this.dataListLiveData = dataListLiveData;
+    }
+
+    public void getLittleDoctors() {
+        model.getLittleDoctors(requestBean.toMap())
+                .compose(RxUtils.schedulersTransformer())
+                .subscribe(new Observer<ResultData<LittleDoctorResponseBean>>() {
+                    @Override
+                    public void onSubscribe(Disposable d) {
+                        addSubscribe(d);
+                    }
+
+                    @Override
+                    public void onNext(ResultData<LittleDoctorResponseBean> data) {
+                        if (data.getCode() == CODE_SUCCESS){
+                            if (data.getData().getData().isEmpty()){
+                                changeStateView(StateViewEnum.DATA_NULL);
+                            }else {
+                                changeStateView(StateViewEnum.HIDE);
+                                dataListLiveData.postValue(data.getData().getData());
+                            }
+                        }else {
+                            messageLiveData.postValue(data.getMsg());
+                        }
+                    }
+
+                    @Override
+                    public void onError(Throwable e) {
+                        messageLiveData.postValue(e.getMessage());
+                    }
+
+                    @Override
+                    public void onComplete() {
+
+                    }
+                });
+    }
+
+
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/LittleDoctorDetailActivity.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/LittleDoctorDetailActivity.java
new file mode 100644
index 0000000..c10e656
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/LittleDoctorDetailActivity.java
@@ -0,0 +1,95 @@
+package com.application.zhangshi_app_android.ui.function;
+
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.EditText;
+
+import androidx.recyclerview.widget.GridLayoutManager;
+
+import com.application.zhangshi_app_android.BR;
+import com.application.zhangshi_app_android.R;
+import com.application.zhangshi_app_android.adapter.ImageRvAdapter;
+import com.application.zhangshi_app_android.bean.LittleDoctorBean;
+import com.application.zhangshi_app_android.databinding.ActivityLittleDoctorDetailBinding;
+import com.application.zhangshi_app_android.ui.DLBaseActivity;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+public class LittleDoctorDetailActivity extends DLBaseActivity<ActivityLittleDoctorDetailBinding, LittleDoctorDetailActivityViewModel> {
+
+    private ImageRvAdapter adapter;
+
+    @Override
+    public int getLayoutId() {
+        return R.layout.activity_little_doctor_detail;
+    }
+
+    @Override
+    public int getVariableId() {
+        return BR.viewModel;
+    }
+
+    @Override
+    public void initParam() {
+        if (getIntent().hasExtra("bean")){
+            viewModel.getBeanLiveData().setValue((LittleDoctorBean) getIntent().getSerializableExtra("bean"));
+        }
+    }
+
+    @Override
+    public void initView() {
+        adapter = new ImageRvAdapter(this);
+        GridLayoutManager gridLayoutManager = new GridLayoutManager(this, 3);
+        binding.rvImage.setLayoutManager(gridLayoutManager);
+        binding.rvImage.setNestedScrollingEnabled(false);
+        setIsEdited(false);
+    }
+
+    @Override
+    public void initData() {
+
+    }
+
+    @Override
+    public void initLiveDataObserve() {
+        viewModel.getBeanLiveData().observe(this,bean -> {
+            if (bean!=null){
+                String url = bean.getUrl();
+                if (url == null||url.isEmpty()){
+                    return;
+                }
+                List<String> list;
+                if (url.contains(",")){
+                    String[] split = url.split(",");
+                    list = new ArrayList<>(Arrays.asList(split));
+                }else {
+                    list = new ArrayList<>();
+                    list.add(url);
+                }
+                adapter.setData(list);
+            }
+        });
+    }
+
+    public void setIsEdited(boolean isEdited){
+        disableAllEditText(getContentView(),isEdited);
+        adapter.setIsEdited(isEdited);
+    }
+    public void disableAllEditText(ViewGroup viewGroup, boolean isEdited) {
+        for (int i = 0; i < viewGroup.getChildCount(); i++) {
+            View child = viewGroup.getChildAt(i);
+            if (child instanceof ViewGroup) {
+                disableAllEditText((ViewGroup) child,isEdited);
+            } else if (child instanceof EditText) {
+                child.setEnabled(isEdited);
+                child.setFocusable(isEdited);
+                child.setFocusableInTouchMode(isEdited);
+                if (!isEdited){
+                    child.clearFocus();
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/LittleDoctorDetailActivityViewModel.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/LittleDoctorDetailActivityViewModel.java
new file mode 100644
index 0000000..0ecf7d4
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/LittleDoctorDetailActivityViewModel.java
@@ -0,0 +1,40 @@
+package com.application.zhangshi_app_android.ui.function;
+
+import android.app.Application;
+
+import androidx.annotation.NonNull;
+import androidx.lifecycle.MutableLiveData;
+
+import com.android.app_base.base.viewmodel.BaseViewModel;
+import com.application.zhangshi_app_android.bean.LittleDoctorBean;
+import com.application.zhangshi_app_android.data.DataRepository;
+
+/**
+ * @author Ljj
+ * @date 2023.04.15. 17:56
+ * @desc 灏忓尰鐢熻鎯� ViewModel
+ */
+public class LittleDoctorDetailActivityViewModel extends BaseViewModel<DataRepository> {
+
+    private MutableLiveData<LittleDoctorBean> beanLiveData;
+
+    public LittleDoctorDetailActivityViewModel(@NonNull Application application) {
+        super(application);
+    }
+
+    @Override
+    protected DataRepository initModel() {
+        return DataRepository.getInstance();
+    }
+
+    public MutableLiveData<LittleDoctorBean> getBeanLiveData() {
+        if (beanLiveData == null){
+            beanLiveData = new MutableLiveData<>();
+        }
+        return beanLiveData;
+    }
+
+    public void setBeanLiveData(LittleDoctorBean littleDoctorBean) {
+        beanLiveData.setValue(littleDoctorBean);
+    }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/MarriageActivity.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/MarriageActivity.java
new file mode 100644
index 0000000..cc69d3d
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/MarriageActivity.java
@@ -0,0 +1,136 @@
+package com.application.zhangshi_app_android.ui.function;
+
+import android.animation.ValueAnimator;
+import android.view.View;
+import android.view.ViewGroup;
+import android.view.animation.Animation;
+import android.view.animation.Transformation;
+import android.widget.FrameLayout;
+import android.widget.LinearLayout;
+
+import androidx.annotation.NonNull;
+
+import com.application.zhangshi_app_android.BR;
+import com.application.zhangshi_app_android.R;
+import com.application.zhangshi_app_android.databinding.ActivityMarriageBinding;
+import com.application.zhangshi_app_android.ui.DLBaseActivity;
+
+/**
+ * @author Ljj
+ * @date 2023.04.23. 23:23
+ * @desc 濠氬Щ鐘跺喌 Activity
+ */
+public class MarriageActivity extends DLBaseActivity<ActivityMarriageBinding,MarriageActivityViewModel> {
+
+    @Override
+    public int getLayoutId() {
+        return R.layout.activity_marriage;
+    }
+
+    @Override
+    public int getVariableId() {
+        return BR.viewModel;
+    }
+
+    @Override
+    public void initParam() {
+
+    }
+
+    private boolean isExpended = false;
+    @Override
+    public void initView() {
+    }
+
+    @Override
+    public void initData() {
+
+    }
+
+    @Override
+    public void initLiveDataObserve() {
+        viewModel.getIsSpouseExpendedLiveData().observe(this, aBoolean -> {
+            if (aBoolean){
+                binding.ivSpouseFold.setOnClickListener(view -> {
+                    collapseView(binding.cardSpouse,binding.layoutTitleSpouse);
+                    viewModel.getIsSpouseExpendedLiveData().setValue(false);
+                });
+            }else {
+                binding.ivSpouseFold.setOnClickListener(view -> {
+                    expendView(binding.cardSpouse);
+                    viewModel.getIsSpouseExpendedLiveData().setValue(true);
+                });
+            }
+        });
+        viewModel.getIsPredecessorExpendedLiveData().observe(this, aBoolean -> {
+            if (aBoolean){
+                binding.ivPredecessorFold.setOnClickListener(view -> {
+                    collapseView(binding.cardPredecessor,binding.layoutTitlePredecessor);
+                    viewModel.getIsPredecessorExpendedLiveData().setValue(false);
+                });
+            }else {
+                binding.ivPredecessorFold.setOnClickListener(new View.OnClickListener() {
+                    @Override
+                    public void onClick(View view) {
+                        expendView(binding.cardPredecessor);
+                        viewModel.getIsPredecessorExpendedLiveData().setValue(true);
+                    }
+                });
+            }
+        });
+        viewModel.getIsProcreateExpendedLiveData().observe(this, aBoolean -> {
+            if (aBoolean){
+                binding.ivProcreateFold.setOnClickListener(new View.OnClickListener() {
+                    @Override
+                    public void onClick(View view) {
+                        collapseView(binding.cardProcreate,binding.layoutTitleProcreate);
+                        viewModel.getIsProcreateExpendedLiveData().setValue(false);
+                    }
+                });
+            }else {
+                binding.ivProcreateFold.setOnClickListener(new View.OnClickListener() {
+                    @Override
+                    public void onClick(View view) {
+                        expendView(binding.cardProcreate);
+                        viewModel.getIsProcreateExpendedLiveData().setValue(true);
+                    }
+                });
+            }
+        });
+    }
+
+    public void collapseView(View initialView,View collapsedView){
+        int initialHeight = initialView.getMeasuredHeight();
+        int collapsedHeight = collapsedView.getMeasuredHeight();
+        int distanceToCollapse = (int) (initialHeight - collapsedHeight);
+
+        Animation a = new Animation() {
+            @Override
+            protected void applyTransformation(float interpolatedTime, Transformation t) {
+                if (interpolatedTime == 1){
+                }
+                initialView.getLayoutParams().height = (int) (initialHeight - (distanceToCollapse * interpolatedTime));
+                initialView.requestLayout();
+            }
+
+            @Override
+            public boolean willChangeBounds() {
+                return true;
+            }
+        };
+        a.setDuration(500);
+        initialView.startAnimation(a);
+    }
+    public void expendView(View initialView){
+        int initialHeight = initialView.getMeasuredHeight();
+        initialView.measure(FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.WRAP_CONTENT);
+        int targetHeight = initialView.getMeasuredHeight();
+        ValueAnimator animator = ValueAnimator.ofInt(initialHeight,targetHeight);
+        animator.addUpdateListener(animation -> {
+            initialView.getLayoutParams().height = (int) animation.getAnimatedValue();
+            initialView.requestLayout();
+        });
+        animator.setDuration(500);
+        animator.start();
+    }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/MarriageActivityViewModel.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/MarriageActivityViewModel.java
new file mode 100644
index 0000000..cd6dc56
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/MarriageActivityViewModel.java
@@ -0,0 +1,65 @@
+package com.application.zhangshi_app_android.ui.function;
+
+import android.app.Application;
+
+import androidx.annotation.NonNull;
+import androidx.lifecycle.MutableLiveData;
+
+import com.android.app_base.base.viewmodel.BaseViewModel;
+import com.application.zhangshi_app_android.data.DataRepository;
+
+/**
+ * @author Ljj
+ * @date 2023.04.23. 23:24
+ * @desc 濠氬Щ鐘跺喌 ViewModel
+ */
+public class MarriageActivityViewModel extends BaseViewModel<DataRepository> {
+    private MutableLiveData<Boolean> isSpouseExpendedLiveData;
+    private MutableLiveData<Boolean> isPredecessorExpendedLiveData;
+    private MutableLiveData<Boolean> isProcreateExpendedLiveData;
+
+    public MarriageActivityViewModel(@NonNull Application application) {
+        super(application);
+    }
+
+    @Override
+    protected DataRepository initModel() {
+        return DataRepository.getInstance();
+    }
+
+    public MutableLiveData<Boolean> getIsSpouseExpendedLiveData() {
+        if (isSpouseExpendedLiveData == null){
+            isSpouseExpendedLiveData = new MutableLiveData<>();
+            isSpouseExpendedLiveData.setValue(false);
+        }
+        return isSpouseExpendedLiveData;
+    }
+
+    public void setIsSpouseExpendedLiveData(MutableLiveData<Boolean> isSpouseExpendedLiveData) {
+        this.isSpouseExpendedLiveData = isSpouseExpendedLiveData;
+    }
+
+    public MutableLiveData<Boolean> getIsPredecessorExpendedLiveData() {
+        if (isPredecessorExpendedLiveData == null){
+            isPredecessorExpendedLiveData = new MutableLiveData<>();
+            isPredecessorExpendedLiveData.setValue(false);
+        }
+        return isPredecessorExpendedLiveData;
+    }
+
+    public void setIsPredecessorExpendedLiveData(MutableLiveData<Boolean> isPredecessorExpendedLiveData) {
+        this.isPredecessorExpendedLiveData = isPredecessorExpendedLiveData;
+    }
+
+    public MutableLiveData<Boolean> getIsProcreateExpendedLiveData() {
+        if (isProcreateExpendedLiveData == null){
+            isProcreateExpendedLiveData = new MutableLiveData<>();
+            isProcreateExpendedLiveData.setValue(false);
+        }
+        return isProcreateExpendedLiveData;
+    }
+
+    public void setIsProcreateExpendedLiveData(MutableLiveData<Boolean> isProcreateExpendedLiveData) {
+        this.isProcreateExpendedLiveData = isProcreateExpendedLiveData;
+    }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/PetActivity.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/PetActivity.java
new file mode 100644
index 0000000..e07476a
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/PetActivity.java
@@ -0,0 +1,58 @@
+package com.application.zhangshi_app_android.ui.function;
+
+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.LittleDoctorRvAdapter;
+import com.application.zhangshi_app_android.adapter.PetRvAdapter;
+import com.application.zhangshi_app_android.databinding.ActivityLittleDoctorBinding;
+import com.application.zhangshi_app_android.ui.DLBaseActivity;
+
+/**
+ * @author Ljj
+ * @date 2023.04.17. 18:21
+ * @desc
+ */
+public class PetActivity extends DLBaseActivity<ActivityLittleDoctorBinding,LittleDoctorActivityViewModel> {
+
+    private PetRvAdapter adapter;
+
+    @Override
+    public int getLayoutId() {
+        return R.layout.activity_pet;
+    }
+
+    @Override
+    public int getVariableId() {
+        return BR.viewModel;
+    }
+
+    @Override
+    public void initParam() {
+
+    }
+
+    @Override
+    public void initView() {
+        adapter = new PetRvAdapter(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() {
+//        viewModel.getPets();
+    }
+
+    @Override
+    public void initLiveDataObserve() {
+//        viewModel.getDataListLiveData().observe(this, homeDevices -> {
+//            adapter.setData(homeDevices);
+//        });
+    }
+
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/PetActivityViewModel.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/PetActivityViewModel.java
new file mode 100644
index 0000000..19ebec6
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/PetActivityViewModel.java
@@ -0,0 +1,24 @@
+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.04.17. 18:23
+ * @desc
+ */
+public class PetActivityViewModel extends BaseViewModel<DataRepository> {
+    public PetActivityViewModel(@NonNull Application application) {
+        super(application);
+    }
+
+    @Override
+    protected DataRepository initModel() {
+        return DataRepository.getInstance();
+    }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/PropertyActivity.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/PropertyActivity.java
new file mode 100644
index 0000000..799d3af
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/PropertyActivity.java
@@ -0,0 +1,56 @@
+package com.application.zhangshi_app_android.ui.function;
+
+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.PropertyRvAdapter;
+import com.application.zhangshi_app_android.databinding.ActivityPropertyBinding;
+import com.application.zhangshi_app_android.ui.DLBaseActivity;
+
+/**
+ * @author Ljj
+ * @date 2023.04.21. 18:55
+ * @desc 涓汉璐骇 Activity
+ */
+public class PropertyActivity extends DLBaseActivity<ActivityPropertyBinding, PropertyActivityViewModel> {
+
+    private PropertyRvAdapter adapter;
+
+    @Override
+    public int getLayoutId() {
+        return R.layout.activity_property;
+    }
+
+    @Override
+    public int getVariableId() {
+        return BR.viewModel;
+    }
+
+    @Override
+    public void initParam() {
+
+    }
+
+    @Override
+    public void initView() {
+        adapter = new PropertyRvAdapter(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() {
+        viewModel.getProperty();
+    }
+
+    @Override
+    public void initLiveDataObserve() {
+        viewModel.getDataListLiveData().observe(this, dataList -> {
+            adapter.setData(dataList);
+        });
+    }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/PropertyActivityViewModel.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/PropertyActivityViewModel.java
new file mode 100644
index 0000000..91ce4a3
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/PropertyActivityViewModel.java
@@ -0,0 +1,60 @@
+package com.application.zhangshi_app_android.ui.function;
+
+import android.app.Application;
+
+import androidx.annotation.NonNull;
+import androidx.lifecycle.MutableLiveData;
+
+import com.android.app_base.base.viewmodel.BaseViewModel;
+import com.application.zhangshi_app_android.bean.PropertyBean;
+import com.application.zhangshi_app_android.data.DataRepository;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author Ljj
+ * @date 2023.04.21. 19:10
+ * @desc 涓汉璐骇 ViewModel
+ */
+public class PropertyActivityViewModel  extends BaseViewModel<DataRepository> {
+    private MutableLiveData<List<PropertyBean>> dataListLiveData;
+
+    public PropertyActivityViewModel(@NonNull Application application) {
+        super(application);
+    }
+
+    @Override
+    protected DataRepository initModel() {
+        return DataRepository.getInstance();
+    }
+
+    public MutableLiveData<List<PropertyBean>> getDataListLiveData() {
+        if (dataListLiveData == null) {
+            dataListLiveData = new MutableLiveData<>();
+        }
+        return dataListLiveData;
+    }
+
+    public void setDataListLiveData(MutableLiveData<List<PropertyBean>> dataListLiveData) {
+        this.dataListLiveData = dataListLiveData;
+    }
+
+    public void getProperty() {
+        List<PropertyBean> cleanStorageBeans =  new ArrayList<>();
+        for (int i = 0; i < 10; i++) {
+            PropertyBean bean = new PropertyBean();
+            bean.setType("鎴夸骇");
+            bean.setName("鎴夸骇");
+            bean.setPrice("1000");
+            bean.setCreateTime("2020-01-01");
+            bean.setTerm("2020-01-01");
+            bean.setStatus("鍙樻洿");
+            bean.setPropertyRight("浜ф潈");
+            bean.setLocation("浣嶇疆");
+            bean.setRemark("澶囨敞");
+            cleanStorageBeans.add(bean);
+        }
+        dataListLiveData.setValue(cleanStorageBeans);
+    }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/PropertyDetailActivity.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/PropertyDetailActivity.java
new file mode 100644
index 0000000..1e758b8
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/PropertyDetailActivity.java
@@ -0,0 +1,102 @@
+package com.application.zhangshi_app_android.ui.function;
+
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.EditText;
+
+import androidx.recyclerview.widget.GridLayoutManager;
+
+import com.application.zhangshi_app_android.BR;
+import com.application.zhangshi_app_android.R;
+import com.application.zhangshi_app_android.adapter.ImageRvAdapter;
+import com.application.zhangshi_app_android.bean.CleanStorageBean;
+import com.application.zhangshi_app_android.bean.PropertyBean;
+import com.application.zhangshi_app_android.databinding.ActivityCleanStorageDetailBinding;
+import com.application.zhangshi_app_android.databinding.ActivityPropertyDetailBinding;
+import com.application.zhangshi_app_android.ui.DLBaseActivity;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * @author Ljj
+ * @date 2023.04.21. 21:02
+ * @desc
+ */
+public class PropertyDetailActivity extends DLBaseActivity<ActivityPropertyDetailBinding,PropertyDetailActivityViewModel> {
+
+    private ImageRvAdapter adapter;
+
+    @Override
+    public int getLayoutId() {
+        return R.layout.activity_property_detail;
+    }
+
+    @Override
+    public int getVariableId() {
+        return BR.viewModel;
+    }
+
+    @Override
+    public void initParam() {
+        if (getIntent().hasExtra("bean")){
+            viewModel.getBeanLiveData().setValue((PropertyBean) getIntent().getSerializableExtra("bean"));
+        }
+    }
+
+    @Override
+    public void initView() {
+        adapter = new ImageRvAdapter(this);
+        GridLayoutManager gridLayoutManager = new GridLayoutManager(this, 3);
+        binding.rvImage.setLayoutManager(gridLayoutManager);
+        binding.rvImage.setNestedScrollingEnabled(false);
+        setIsEdited(false);
+    }
+
+    @Override
+    public void initData() {
+
+    }
+
+    @Override
+    public void initLiveDataObserve() {
+        viewModel.getBeanLiveData().observe(this,bean -> {
+            if (bean!=null){
+                String url = bean.getUrl();
+                if (url == null||url.isEmpty()){
+                    return;
+                }
+                List<String> list;
+                if (url.contains(",")){
+                    String[] split = url.split(",");
+                    list = new ArrayList<>(Arrays.asList(split));
+                }else {
+                    list = new ArrayList<>();
+                    list.add(url);
+                }
+                adapter.setData(list);
+            }
+        });
+    }
+
+    public void setIsEdited(boolean isEdited){
+        disableAllEditText(getContentView(),isEdited);
+        adapter.setIsEdited(isEdited);
+    }
+    public void disableAllEditText(ViewGroup viewGroup, boolean isEdited) {
+        for (int i = 0; i < viewGroup.getChildCount(); i++) {
+            View child = viewGroup.getChildAt(i);
+            if (child instanceof ViewGroup) {
+                disableAllEditText((ViewGroup) child,isEdited);
+            } else if (child instanceof EditText) {
+                child.setEnabled(isEdited);
+                child.setFocusable(isEdited);
+                child.setFocusableInTouchMode(isEdited);
+                if (!isEdited){
+                    child.clearFocus();
+                }
+            }
+        }
+    }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/PropertyDetailActivityViewModel.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/PropertyDetailActivityViewModel.java
new file mode 100644
index 0000000..ae7e9d1
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/PropertyDetailActivityViewModel.java
@@ -0,0 +1,42 @@
+package com.application.zhangshi_app_android.ui.function;
+
+import android.app.Application;
+
+import androidx.annotation.NonNull;
+import androidx.lifecycle.MutableLiveData;
+
+import com.android.app_base.base.viewmodel.BaseViewModel;
+import com.application.zhangshi_app_android.bean.CleanStorageBean;
+import com.application.zhangshi_app_android.bean.PropertyBean;
+import com.application.zhangshi_app_android.data.DataRepository;
+
+/**
+ * @author Ljj
+ * @date 2023.04.21. 21:16
+ * @desc
+ */
+public class PropertyDetailActivityViewModel extends BaseViewModel<DataRepository> {
+
+    private MutableLiveData<PropertyBean> beanLiveData;
+
+    public PropertyDetailActivityViewModel(@NonNull Application application) {
+        super(application);
+    }
+
+    @Override
+    protected DataRepository initModel() {
+        return DataRepository.getInstance();
+    }
+
+
+    public MutableLiveData<PropertyBean> getBeanLiveData() {
+        if (beanLiveData == null) {
+            beanLiveData = new MutableLiveData<>();
+        }
+        return beanLiveData;
+    }
+
+    public void setBeanLiveData(MutableLiveData<PropertyBean> beanLiveData) {
+        this.beanLiveData = beanLiveData;
+    }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/home/HomeFragment.java b/app/src/main/java/com/application/zhangshi_app_android/ui/home/HomeFragment.java
index b2a9383..ed40d97 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/ui/home/HomeFragment.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/home/HomeFragment.java
@@ -1,11 +1,19 @@
 package com.application.zhangshi_app_android.ui.home;
 
+import android.graphics.drawable.ColorDrawable;
 import android.os.Bundle;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.PopupWindow;
 
 import com.android.app_base.base.view.BaseFragment;
+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.HomeMemberAdapter;
+import com.application.zhangshi_app_android.bean.HomeMemberBean;
 import com.application.zhangshi_app_android.databinding.FragmentHomeBinding;
+import com.hjq.bar.TitleBar;
 
 /**
  * @author Ljj
@@ -13,6 +21,9 @@
  * @desc 棣栭〉 Fragment
  */
 public class HomeFragment extends BaseFragment<FragmentHomeBinding,HomeFragmentViewModel> {
+    private PopupWindow mPopupWindow;
+    private HomeMemberAdapter homeMemberAdapter;
+
     public HomeFragment() {
     }
 
@@ -40,6 +51,23 @@
 
     @Override
     protected void initView() {
+        mPopupWindow = new PopupWindow(getSelfActivity());
+        mPopupWindow.setContentView(View.inflate(getSelfActivity(),R.layout.pop_basic_information,null));
+        mPopupWindow.setWidth(ViewGroup.LayoutParams.MATCH_PARENT);
+        mPopupWindow.setHeight(ViewGroup.LayoutParams.WRAP_CONTENT);
+        mPopupWindow.setBackgroundDrawable(new ColorDrawable(0x0000));
+        mPopupWindow.setAnimationStyle(com.android.app_base.R.style.pop_info);
+        mPopupWindow.setFocusable(true);
+        mPopupWindow.setTouchable(true);
+        mPopupWindow.setOutsideTouchable(true);
+
+        homeMemberAdapter = new HomeMemberAdapter(getSelfActivity());
+        LinearItemDecoration itemDecoration = new LinearItemDecoration();
+        itemDecoration.setBottomSpace((int) getResources().getDimension(com.android.app_base.R.dimen.dp_8));
+        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.rvHomeMember.addItemDecoration(itemDecoration);
+        binding.rvHomeMember.setAdapter(homeMemberAdapter);
     }
 
     @Override
@@ -51,4 +79,33 @@
     protected void initLiveDataObserve() {
 
     }
+
+    @Override
+    protected boolean isStatusBarImmersionEnabled() {
+        return true;
+    }
+
+    private boolean isShow = true;
+    @Override
+    public void onLeftClick(TitleBar titleBar) {
+        if (isShow) {
+
+            mPopupWindow.setHeight(binding.treeView.getHeight());
+            mPopupWindow.showAsDropDown(binding.titleBar,0,0);
+            isShow = false;
+        }else {
+            binding.rvHomeMember.setVisibility(View.VISIBLE);
+            binding.treeView.setVisibility(View.GONE);
+            binding.layoutHomeRootNet.setVisibility(View.GONE);
+            homeMemberAdapter.addItem(new HomeMemberBean("绗竴浠�","寮犱笁","鐢�",null,"2023.09.09","2023.09.09","12345678901","寮犳皬鍏徃","寮犲洓"));
+            homeMemberAdapter.addItem(new HomeMemberBean("绗竴浠�","寮犱笁","鐢�",null,"2023.09.09","2023.09.09","12345678901","寮犳皬鍏徃","寮犲洓"));
+            homeMemberAdapter.addItem(new HomeMemberBean("绗竴浠�","寮犱笁","鐢�",null,"2023.09.09","2023.09.09","12345678901","寮犳皬鍏徃","寮犲洓"));
+            homeMemberAdapter.addItem(new HomeMemberBean("绗竴浠�","寮犱笁","鐢�",null,"2023.09.09","2023.09.09","12345678901","寮犳皬鍏徃","寮犲洓"));
+            homeMemberAdapter.addItem(new HomeMemberBean("绗竴浠�","寮犱笁","鐢�",null,"2023.09.09","2023.09.09","12345678901","寮犳皬鍏徃","寮犲洓"));
+            homeMemberAdapter.addItem(new HomeMemberBean("绗竴浠�","寮犱笁","鐢�",null,"2023.09.09","2023.09.09","12345678901","寮犳皬鍏徃","寮犲洓"));
+            isShow = true;
+        }
+
+
+    }
 }
\ No newline at end of file
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/main/MainActivity.java b/app/src/main/java/com/application/zhangshi_app_android/ui/main/MainActivity.java
index d81ca89..a44e4f2 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/ui/main/MainActivity.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/main/MainActivity.java
@@ -54,6 +54,7 @@
                 super.onPageSelected(position);
             }
         });
+        binding.mainVp.setUserInputEnabled(false);
 
         // 涓嶄娇鐢ㄥ浘鏍囬粯璁ゅ彉鑹�
         binding.mainBnv.setItemIconTintList(null);
diff --git a/app/src/main/java/com/application/zhangshi_app_android/widget/TreeView.java b/app/src/main/java/com/application/zhangshi_app_android/widget/TreeView.java
new file mode 100644
index 0000000..07caf2b
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/widget/TreeView.java
@@ -0,0 +1,395 @@
+package com.application.zhangshi_app_android.widget;
+
+import android.animation.ObjectAnimator;
+import android.content.Context;
+import android.graphics.Canvas;
+import android.util.AttributeSet;
+import android.view.GestureDetector;
+import android.view.LayoutInflater;
+import android.view.MotionEvent;
+import android.view.ScaleGestureDetector;
+import android.view.View;
+import android.widget.OverScroller;
+import android.widget.RelativeLayout;
+
+import androidx.annotation.Nullable;
+
+import com.application.zhangshi_app_android.R;
+
+/**
+ * @author Ljj
+ * @date 2023.04.08. 20:03
+ * @desc
+ */
+public class TreeView extends RelativeLayout {
+
+    private Context mContext;
+    // 鏈�灏忕缉鏀炬瘮渚�
+    float smallScale = 0f;
+    // 姝e父缂╂斁姣斾緥
+    float normalScale = 0f;
+    // 鏈�澶х缉鏀炬瘮渚�
+    float bigScale = 0f;
+
+    // 褰撳墠姣斾緥
+    float currentScale = 0f;
+
+    // 缂╂斁鍊嶆暟
+    private static final float ZOOM_SCALE = 2f;
+    private final View treeView;
+    private final GestureDetector mGestureDetector;
+    // 鍙屾寚鎿嶄綔
+    private final ScaleGestureDetector mScaleGestureDetector;
+    // 鎯�ф粦鍔�
+    private final OverScroller mOverScroller;
+    private final FlingRunner mFlingRunner;
+    // 鏄惁鏀惧ぇ [榛樿鏄缉灏忥紝鍙屽嚮鏀瑰彉鐘舵�乚
+    boolean isZoomIn = false;
+    // 鏀惧ぇ鍚庢墜鎸囩Щ鍔ㄤ綅缃�
+    private final OffSet moveOffset = new OffSet();
+    private boolean isDoubleClickZoomIn = false;
+    
+    public TreeView(Context context) {
+        this(context, null);
+    }
+
+    public TreeView(Context context, @Nullable AttributeSet attrs) {
+        this(context, attrs, 0);
+    }
+
+    public TreeView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
+        this(context, attrs, defStyleAttr, 0);
+    }
+
+    public TreeView(Context context, @Nullable AttributeSet attrs, int defStyleAttr, int defStyleRes) {
+        super(context, attrs, defStyleAttr, defStyleRes);
+        setWillNotDraw(false);
+        mContext = context;
+        treeView = LayoutInflater.from(context).inflate(R.layout.layout_tree_view,this,false);
+        LayoutParams layoutParams = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
+        layoutParams.alignWithParent = true;
+        layoutParams.addRule(CENTER_IN_PARENT);
+        addView(treeView,layoutParams);
+        mGestureDetector = new GestureDetector(context, new MyGestureListener());
+        mScaleGestureDetector = new ScaleGestureDetector(context, new MyScaleGestureListener());
+        mOverScroller = new OverScroller(context);
+        mFlingRunner = new FlingRunner();
+    }
+
+    @Override
+    protected void onSizeChanged(int w, int h, int oldw, int oldh) {
+        super.onSizeChanged(w, h, oldw, oldh);
+
+        // view姣斾緥
+        float viewScale = (float) getWidth() / (float) getHeight();
+
+        // 鍥剧墖姣斾緥
+        float bitScale = (float) treeView.getMeasuredWidth() / (float) treeView.getMeasuredHeight();
+
+//        // 濡傛灉鍥剧墖姣斾緥澶т簬view姣斾緥
+//        if (bitScale > viewScale) {
+//            // 妯悜鍥剧墖
+//            smallScale = (float) getWidth() / (float) treeView.getMeasuredWidth();
+//            bigScale = (float) getHeight() / (float) treeView.getMeasuredHeight() * ZOOM_SCALE;
+//        } else {
+//            // 绾靛悜鍥剧墖
+//            smallScale = (float) getHeight() / (float) treeView.getMeasuredHeight();
+//            bigScale = (float) getWidth() / (float) treeView.getMeasuredWidth() * ZOOM_SCALE;
+//        }
+
+        smallScale = (float) getWidth() / (float) treeView.getMeasuredWidth();
+        smallScale = (float) getHeight() / (float) treeView.getMeasuredHeight();
+        bigScale = (float) getHeight() / (float) treeView.getMeasuredHeight() * ZOOM_SCALE;
+
+        // 褰撳墠缂╂斁姣斾緥 = 缂╂斁鍓嶇殑姣斾緥
+        currentScale = smallScale;
+    }
+
+    @Override
+    protected void onDraw(Canvas canvas) {
+        super.onDraw(canvas);
+        canvas.scale(currentScale, currentScale, getWidth() / 2f, getHeight() / 2f);
+        // 绉诲姩鐢诲竷
+        if (isDoubleClickZoomIn){
+            if (currentScale <= bigScale) {//鍙屽嚮鏀瑰彉鐘舵�佹椂鍋忕Щ閲忛殢鐫�缂╂斁姣斾緥鍙樺寲
+                float a = (currentScale - smallScale) / (bigScale - smallScale);
+                moveOffset.setPhyX(moveOffset.getPhyX() * a);
+                moveOffset.setPhyY(moveOffset.getPhyY() * a);
+            }
+        }
+        canvas.translate(moveOffset.getLogX(currentScale), moveOffset.getLogY(currentScale));
+    }
+
+    @Override
+    public boolean onTouchEvent(MotionEvent event) {
+        // 鍙屾寚鎿嶄綔
+        boolean scaleTouchEvent = mScaleGestureDetector.onTouchEvent(event);
+        // 鏄惁鏄弻鎸囨搷浣�
+        if (mScaleGestureDetector.isInProgress()) {
+            return scaleTouchEvent;
+        }
+        // 鍙屽嚮鎿嶄綔
+        return mGestureDetector.onTouchEvent(event);
+    }
+
+    private class MyGestureListener extends GestureDetector.SimpleOnGestureListener {
+        // 鍗曞嚮鎯呭喌 : 鎶捣[ACTION_UP]鏃跺�欒Е鍙�
+        // 鍙屽嚮鎯呭喌 : 绗簩娆℃姮璧穂ACTION_POINTER_UP]鏃跺�欒Е鍙�
+        @Override
+        public boolean onSingleTapUp(MotionEvent e) {
+            return super.onSingleTapUp(e);
+        }
+
+        // 闀挎寜鏃惰Е鍙� [300ms]
+        @Override
+        public void onLongPress(MotionEvent e) {
+            super.onLongPress(e);
+        }
+
+        // 婊戝姩鏃跺�欒Е鍙� 绫讳技 ACTION_MOVE 浜嬩欢
+        @Override
+        public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {
+            // 濡傛灉鏄斁澶х姸鎬佹墠鑳界Щ鍔�
+//            if (isZoomIn) {
+                moveOffset.setPhyX(moveOffset.getPhyX() - distanceX);
+                moveOffset.setPhyY(moveOffset.getPhyY() - distanceY);
+                // 淇鍋忕Щ閲忥紝闃叉鍥剧墖绉诲姩鏃惰竟缂樺嚭鐜扮櫧鑹茶儗鏅�
+                fixOffset();
+
+                invalidate();
+//            }
+            return super.onScroll(e1, e2, distanceX, distanceY);
+        }
+
+        // 婊戠繑/椋炵繑 [鎯�ф粦鍔╙
+        @Override
+        public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
+//            mOverScroller.fling(
+//                    (int) moveOffset.getX(),
+//                    (int) moveOffset.getY(),
+//                    (int) velocityX,
+//                    (int) velocityY,
+//                    (int) (-(treeView.getMeasuredWidth() * bigScale - getWidth()) / 2),
+//                    (int) ((treeView.getMeasuredHeight() * bigScale - getWidth()) / 2),
+//                    (int) (-(treeView.getMeasuredHeight() * bigScale - getHeight()) / 2),
+//                    (int) ((treeView.getMeasuredHeight() * bigScale - getHeight()) / 2),
+//                    300,
+//                    300
+//            );
+//            // 璁剧疆fling鏁堟灉
+//            mFlingRunner.run();
+            return super.onFling(e1, e2, velocityX, velocityY);
+        }
+
+        // 寤舵椂瑙﹀彂 [100ms] -- 甯哥敤涓庢按娉㈢汗绛夋晥鏋�
+        @Override
+        public void onShowPress(MotionEvent e) {
+            super.onShowPress(e);
+        }
+
+        // 鎸変笅 杩欓噷蹇呴』杩斿洖true 鍥犱负鎵�鏈変簨浠堕兘鏄敱鎸変笅鍑哄彂鐨�
+        @Override
+        public boolean onDown(MotionEvent e) {
+            return true;
+        }
+
+        // 鍙屽嚮 -- 绗簩娆℃寜涓嬫椂鍊欒Е鍙� (40ms - 300ms) [灏忎簬40ms鏄负浜嗛槻姝㈡姈鍔╙
+        @Override
+        public boolean onDoubleTap(MotionEvent e) {
+            if (isDoubleClickZoomIn){
+                // 鍒ゆ柇鍙屽嚮鐨勪綅缃槸鍚﹀湪treeView涓�
+                float fixedWidth =  treeView.getWidth()*(1-currentScale)/2;
+                float fixedHeight =  treeView.getHeight()*(1-currentScale)/2;
+                if (treeView.getLeft()+fixedWidth <= e.getX() && e.getX()  <= treeView.getRight()-fixedWidth  && treeView.getTop()+fixedHeight <= e.getY() && e.getY() <= treeView.getBottom()-fixedHeight){
+                    // 鍏堟敼涓烘斁澶�,绗竴娆″弻鍑绘槸鏀惧ぇ鏁堟灉
+                    isZoomIn = !isZoomIn;
+                    if (isZoomIn) {
+                        // 鍙屽嚮鏀惧ぇ鏃跺畾浣嶅埌鏀惧ぇ鍚庡弻鍑荤殑浣嶇疆
+//                    float currentX = e.getX() - (float) treeView.getWidth() / 2f;
+//                    float currentY = e.getY() - (float) treeView.getHeight() / 2f;
+//                    moveOffset.setX(currentX - currentX * bigScale);
+//                    moveOffset.setY(currentY - currentY * bigScale);
+//                    // 淇鍋忕Щ閲忥紝闃叉鍥剧墖绉诲姩鏃惰竟缂樺嚭鐜扮櫧鑹茶儗鏅�
+//                    fixOffset();
+
+                        // 鏀惧ぇ 鏀惧ぇ鍒版渶澶ф瘮渚�
+                        //娣诲姞鍔ㄧ敾锛屾洿鍔犳祦鐣�
+                        scaleAnimation(currentScale, bigScale).start();
+                    } else {
+                        // 缂╁皬 缂╁皬涓哄師鍏堢暀鐧界殑姣斾緥
+                        scaleAnimation(bigScale, smallScale).start();
+                    }
+                }
+            }
+            return super.onDoubleTap(e);
+        }
+
+        // 鍙屽嚮 绗簩娆$殑浜嬩欢澶勭悊 DOWN MOVE UP 閮戒細鎵ц鍒拌繖閲�
+        @Override
+        public boolean onDoubleTapEvent(MotionEvent e) {
+            return super.onDoubleTapEvent(e);
+        }
+
+        // 鍗曞嚮鏃惰Е鍙� 鍙屽嚮鏃朵笉瑙﹀彂
+        @Override
+        public boolean onSingleTapConfirmed(MotionEvent e) {
+            return super.onSingleTapConfirmed(e);
+        }
+    }
+    // 缂╂斁鍔ㄧ敾
+    public ObjectAnimator scaleAnimation(float start, float end) {
+        ObjectAnimator animator = ObjectAnimator.ofFloat(this, "currentScale", start, end);
+        // 鍔ㄧ敾鏃堕棿
+        animator.setDuration(500);
+        return animator;
+    }
+
+    // 灞炴�у姩鐢荤殑鍏抽敭!!  鍐呴儴閫氳繃鍙嶅皠璋冪敤set鏂规硶鏉ヨ祴鍊�
+    public void setCurrentScale(float currentScale) {
+        this.currentScale = currentScale;
+        invalidate();
+    }
+
+    public void fixOffset() {
+        // 褰撳墠鍥剧墖鏀惧ぇ鍚庣殑瀹�
+        float currentWidth = treeView.getMeasuredWidth() * currentScale;
+        // 褰撳墠鍥剧墖鏀惧ぇ鍚庣殑楂�
+        float currentHeight = treeView.getMeasuredHeight() * currentScale;
+
+        System.out.println("currentScale = " + currentScale);
+        System.out.println("moveOffset.getLogX(currentScale) = " + moveOffset.getLogX(currentScale));
+        System.out.println("moveOffset.getLogY(currentScale) = " + moveOffset.getLogY(currentScale));
+        System.out.println("moveOffset.getPhyX() = " + moveOffset.getPhyX());
+        System.out.println("moveOffset.getPhyY() = " + moveOffset.getPhyY());
+        System.out.println("currentWidth = " + currentWidth);
+        System.out.println("currentHeight = " + currentHeight);
+        System.out.println(-(currentWidth - getWidth()) / 2 / bigScale);
+        System.out.println(-(currentWidth - getWidth()) / 2 / currentScale);
+        System.out.println(-(currentWidth - getWidth()) / 2 );
+        System.out.println(moveOffset.getPhyX());
+        // 鍙充晶闄愬埗
+        moveOffset.setPhyX(Math.max(moveOffset.getPhyX(), -(currentWidth - getWidth()) / 2));
+
+        // 宸︿晶闄愬埗 [宸︿晶moveOffset.getX()涓鸿礋鏁癩
+        moveOffset.setPhyX(Math.min(moveOffset.getPhyX(), (currentWidth - getWidth()) / 2 ));
+
+        // 涓嬩晶闄愬埗
+        moveOffset.setPhyY(Math.max(moveOffset.getPhyY(), -(currentHeight - getHeight()) / 2 ));
+
+        // 涓婁晶闄愬埗 [涓婁晶moveOffset.getY()涓鸿礋鏁癩
+        moveOffset.setPhyY(Math.min(moveOffset.getPhyY(), (currentHeight - getHeight()) / 2 ));
+    }
+
+    class MyScaleGestureListener implements ScaleGestureDetector.OnScaleGestureListener {
+        // 鍦ㄥ弻鎸囨搷浣滃紑濮嬫椂鍊欒幏鍙栧綋鍓嶇缉鏀惧��
+        private float scaleFactor = 0f;
+
+
+        // 鍙屾寚鎿嶄綔
+        @Override
+        public boolean onScale(ScaleGestureDetector detector) {
+            // detector.getScaleFactor 缂╂斁鍥犲瓙
+            currentScale = scaleFactor * detector.getScaleFactor();
+
+            // 鍒锋柊
+            invalidate();
+            return false;
+        }
+
+        // 鍙屾寚鎿嶄綔寮�濮�
+        @Override
+        public boolean onScaleBegin(ScaleGestureDetector detector) {
+            scaleFactor = currentScale;
+            // 娉ㄦ剰杩欓噷瑕佷负true 琛ㄧず寮�濮嬪弻鎸囨搷浣�
+            return true;
+        }
+
+        // 鍙屾寚鎿嶄綔缁撴潫
+        @Override
+        public void onScaleEnd(ScaleGestureDetector detector) {
+            // 褰撳墠鍥剧墖瀹�
+            float currentWidth = treeView.getMeasuredWidth() * currentScale;
+            // 缂╂斁鍓嶇殑鍥剧墖瀹�
+            float smallWidth = treeView.getMeasuredWidth() * smallScale;
+            // 缂╂斁鍚庣殑鍥剧墖瀹�
+            float bigWidth = treeView.getMeasuredWidth() * bigScale;
+
+            // 濡傛灉褰撳墠鍥剧墖 < 缂╂斁鍓嶇殑鍥剧墖
+            if (currentWidth < smallWidth) {
+                // 鍥剧墖缂╁皬
+                isZoomIn = false;
+                scaleAnimation(currentScale, smallScale).start();
+            }else if (currentWidth > bigWidth) {// 濡傛灉褰撳墠鐘舵�� > 缂╂斁鍚庣殑鍥剧墖 閭d箞灏辫浠栨敼鍙樹负鏈�澶х殑鐘舵��
+                scaleAnimation(currentScale, bigScale).start();
+                // 鍙屽嚮鏃跺�� 鍥剧墖鏀惧ぇ
+                isZoomIn = true;
+            } else{
+                // 鍥剧墖缂╁皬
+                isZoomIn = true;
+            }
+
+
+        }
+    }
+
+    // 鎯�ф粦鍔ㄨ緟鍔�
+    class FlingRunner implements Runnable {
+
+        @Override
+        public void run() {
+            // 鍒ゆ柇褰撳墠鏄惁鏄墽琛�
+            if (mOverScroller.computeScrollOffset()) {
+                // 璁剧疆fling鐨勫��
+                moveOffset.setPhyX(mOverScroller.getCurrX());
+                moveOffset.setPhyY(mOverScroller.getCurrY());
+
+                // 缁х画鎵цFlingRunner.run
+                postOnAnimation(this);
+                // 鍒锋柊
+                invalidate();
+            }
+        }
+    }
+
+
+    private static class OffSet {
+        float phyX;
+        float phyY;
+
+
+        public OffSet() {
+        }
+
+        public float getPhyX() {
+            return phyX;
+        }
+
+        public void setPhyX(float phyX) {
+            this.phyX = phyX;
+        }
+
+        public float getPhyY() {
+            return phyY;
+        }
+
+        public void setPhyY(float phyY) {
+            this.phyY = phyY;
+        }
+
+        public float getLogX(float scale) {
+            return phyX / scale;
+        }
+
+        public float getLogY(float scale) {
+            return phyY / scale;
+        }
+
+    }
+
+    /**
+     * 鏄惁鍙屽嚮鏀惧ぇ
+     */
+    public void setDoubleClickZoomIn(boolean doubleClickZoomIn) {
+        isDoubleClickZoomIn = doubleClickZoomIn;
+    }
+}
diff --git a/app/src/main/res/drawable-xhdpi/bg_home_root_net.png b/app/src/main/res/drawable-xhdpi/bg_home_root_net.png
new file mode 100644
index 0000000..8d8d960
--- /dev/null
+++ b/app/src/main/res/drawable-xhdpi/bg_home_root_net.png
Binary files differ
diff --git a/app/src/main/res/drawable-xhdpi/bg_home_root_net_detail.png b/app/src/main/res/drawable-xhdpi/bg_home_root_net_detail.png
new file mode 100644
index 0000000..e8c67bf
--- /dev/null
+++ b/app/src/main/res/drawable-xhdpi/bg_home_root_net_detail.png
Binary files differ
diff --git a/app/src/main/res/drawable-xhdpi/bg_home_root_net_grass.png b/app/src/main/res/drawable-xhdpi/bg_home_root_net_grass.png
new file mode 100644
index 0000000..9a0f8de
--- /dev/null
+++ b/app/src/main/res/drawable-xhdpi/bg_home_root_net_grass.png
Binary files differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_fold.png b/app/src/main/res/drawable-xhdpi/ic_fold.png
index 2cc9b5d..4517fc8 100644
--- a/app/src/main/res/drawable-xhdpi/ic_fold.png
+++ b/app/src/main/res/drawable-xhdpi/ic_fold.png
Binary files differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_radio_button.png b/app/src/main/res/drawable-xhdpi/ic_radio_button.png
new file mode 100644
index 0000000..f32acae
--- /dev/null
+++ b/app/src/main/res/drawable-xhdpi/ic_radio_button.png
Binary files differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_unfold.png b/app/src/main/res/drawable-xhdpi/ic_unfold.png
index dba1404..d932e7b 100644
--- a/app/src/main/res/drawable-xhdpi/ic_unfold.png
+++ b/app/src/main/res/drawable-xhdpi/ic_unfold.png
Binary files differ
diff --git a/app/src/main/res/drawable-xxhdpi/bg_home_root_net.png b/app/src/main/res/drawable-xxhdpi/bg_home_root_net.png
new file mode 100644
index 0000000..19563df
--- /dev/null
+++ b/app/src/main/res/drawable-xxhdpi/bg_home_root_net.png
Binary files differ
diff --git a/app/src/main/res/drawable-xxhdpi/bg_home_root_net_detail.png b/app/src/main/res/drawable-xxhdpi/bg_home_root_net_detail.png
new file mode 100644
index 0000000..85043c7
--- /dev/null
+++ b/app/src/main/res/drawable-xxhdpi/bg_home_root_net_detail.png
Binary files differ
diff --git a/app/src/main/res/drawable-xxhdpi/bg_home_root_net_grass.png b/app/src/main/res/drawable-xxhdpi/bg_home_root_net_grass.png
new file mode 100644
index 0000000..514ca7a
--- /dev/null
+++ b/app/src/main/res/drawable-xxhdpi/bg_home_root_net_grass.png
Binary files differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_fold.png b/app/src/main/res/drawable-xxhdpi/ic_fold.png
index 2cc9b5d..b885910 100644
--- a/app/src/main/res/drawable-xxhdpi/ic_fold.png
+++ b/app/src/main/res/drawable-xxhdpi/ic_fold.png
Binary files differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_radio_button.png b/app/src/main/res/drawable-xxhdpi/ic_radio_button.png
new file mode 100644
index 0000000..a587d3d
--- /dev/null
+++ b/app/src/main/res/drawable-xxhdpi/ic_radio_button.png
Binary files differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_unfold.png b/app/src/main/res/drawable-xxhdpi/ic_unfold.png
index dba1404..d911ccc 100644
--- a/app/src/main/res/drawable-xxhdpi/ic_unfold.png
+++ b/app/src/main/res/drawable-xxhdpi/ic_unfold.png
Binary files differ
diff --git a/app/src/main/res/drawable/shape_ffd8e6f5_10_10_0_10.xml b/app/src/main/res/drawable/shape_ffd8e6f5_10_10_0_10.xml
new file mode 100644
index 0000000..2c9e32f
--- /dev/null
+++ b/app/src/main/res/drawable/shape_ffd8e6f5_10_10_0_10.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+    <solid android:color="#FFD8E6F5"/>
+    <corners android:topLeftRadius="10dp" android:topRightRadius="10dp" android:bottomLeftRadius="10dp" android:bottomRightRadius="0dp" />
+</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/shape_fffad1e0_10_10_0_10.xml b/app/src/main/res/drawable/shape_fffad1e0_10_10_0_10.xml
new file mode 100644
index 0000000..1ef7b95
--- /dev/null
+++ b/app/src/main/res/drawable/shape_fffad1e0_10_10_0_10.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+    <solid android:color="#FFFAD1E0"/>
+    <corners android:topLeftRadius="10dp" android:topRightRadius="10dp" android:bottomLeftRadius="10dp" android:bottomRightRadius="0dp" />
+</shape>
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_certificate_of_honor.xml b/app/src/main/res/layout/activity_certificate_of_honor.xml
new file mode 100644
index 0000000..cbc1500
--- /dev/null
+++ b/app/src/main/res/layout/activity_certificate_of_honor.xml
@@ -0,0 +1,143 @@
+<?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.CertificateOfHonorActivityViewModel" />
+    </data>
+
+    <androidx.constraintlayout.widget.ConstraintLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:orientation="vertical">
+
+        <com.android.app_base.widget.ExtendTitleBar
+            android:id="@+id/titleBar"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            app:layout_constraintTop_toTopOf="parent"
+            >
+            <FrameLayout
+                android:layout_width="24dp"
+                android:layout_height="24dp"
+                android:layout_marginHorizontal="16dp"
+                android:layout_gravity="center_vertical|end"
+                >
+                <ImageView
+                    android:id="@+id/iv_operate"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_gravity="center"
+                    android:background="@drawable/ic_operate"
+                    />
+            </FrameLayout>
+
+            <LinearLayout
+                android:id="@+id/layout_default"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:layout_marginHorizontal="56dp"
+                android:gravity="center_vertical"
+                >
+                <TextView
+                    android:id="@+id/tv_title"
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:layout_marginStart="16dp"
+                    android:text="鐧惧勾蹇冩効(浠呬緵鍙傝��)"
+                    android:layout_weight="1"
+                    android:textColor="@color/white"
+                    android:textSize="@dimen/sp_20"
+                    />
+                <ImageView
+                    android:id="@+id/iv_search_default"
+                    android:layout_width="@dimen/dp_24"
+                    android:layout_height="@dimen/dp_24"
+                    android:background="@drawable/ic_search"
+                    />
+            </LinearLayout>
+
+            <LinearLayout
+                android:id="@+id/layout_search"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:layout_marginVertical="4dp"
+                android:layout_marginHorizontal="56dp"
+                android:gravity="center_vertical"
+                android:background="@color/white"
+                android:paddingHorizontal="5dp"
+                android:visibility="gone"
+                >
+                <ImageView
+                    android:id="@+id/iv_search"
+                    android:layout_width="24dp"
+                    android:layout_height="24dp"
+                    android:background="@drawable/ic_search_gray"
+                    />
+                <EditText
+                    android:id="@+id/et_search"
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:layout_weight="1"
+                    android:layout_marginStart="5dp"
+                    android:textSize="14sp"
+                    android:textColor="#61000000"
+                    android:background="@null"
+                    android:imeOptions="actionSearch"
+                    android:text=""
+                    android:singleLine="true"
+                    android:hint="鍦ㄢ�滃澶т簨璁板唴鎼滅储鈥�"
+                    />
+                <ImageView
+                    android:id="@+id/iv_search_type"
+                    android:layout_width="24dp"
+                    android:layout_height="24dp"
+                    android:background="@drawable/ic_search_by"
+                    />
+            </LinearLayout>
+
+        </com.android.app_base.widget.ExtendTitleBar>
+
+        <LinearLayout
+            android:id="@+id/layout_data_null"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:orientation="vertical"
+            android:gravity="center"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/titleBar">
+
+            <ImageView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:background="@drawable/img_data_null"
+                />
+            <TextView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="18dp"
+                android:text="鏆傛椂杩樻病鏈夋暟鎹摝~\n鐐瑰嚮鈥濓紜鈥濈珛鍗冲垱寤�"
+                android:textSize="14sp"
+                android:textColor="#73000000"
+                />
+        </LinearLayout>
+
+        <androidx.recyclerview.widget.RecyclerView
+            android:id="@+id/recyclerView"
+            android:layout_width="match_parent"
+            android:layout_height="0dp"
+            android:background="@color/color_normal_background"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/titleBar"
+            app:layout_constraintVertical_bias="1.0"
+            tools:itemCount="20"
+            />
+
+    </androidx.constraintlayout.widget.ConstraintLayout>
+
+</layout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_certificate_of_honor_detail.xml b/app/src/main/res/layout/activity_certificate_of_honor_detail.xml
new file mode 100644
index 0000000..322d4d3
--- /dev/null
+++ b/app/src/main/res/layout/activity_certificate_of_honor_detail.xml
@@ -0,0 +1,225 @@
+<?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.CertificateOfHonorDetailActivityViewModel" />
+    </data>
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:background="@color/color_normal_background"
+        android:orientation="vertical">
+
+        <com.android.app_base.widget.ExtendTitleBar
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            app:title="@{viewModel.beanLiveData.name+`(浠呬緵鏌ョ湅)`}"
+            app:titleGravity="left"
+            />
+        <ScrollView
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            >
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:orientation="vertical"
+                android:paddingHorizontal="20dp"
+                android:paddingBottom="20dp"
+                >
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_marginTop="@dimen/dp_10"
+                    android:layout_height="@dimen/dp_20"
+                    android:text="鍚嶇О"
+                    android:textColor="#767375"
+                    android:textSize="12sp"
+                    />
+
+
+                <EditText
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:inputType="text"
+                    android:autofillHints="creditCardNumber"
+                    android:textColorHint="#6b000000"
+                    android:textColor="#DE000000"
+                    android:textSize="16sp"
+                    android:text="@={viewModel.beanLiveData.name}"
+                    />
+
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_marginTop="10dp"
+                    android:layout_height="wrap_content"
+                    android:text="鏃堕棿"
+                    android:textColor="#767375"
+                    android:textSize="12sp"
+                    />
+
+                <EditText
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="2dp"
+                    android:inputType="text"
+                    android:textColor="#DE000000"
+                    android:text="@={viewModel.beanLiveData.time}"
+                    android:textSize="16sp" />
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_marginTop="10dp"
+                    android:layout_height="wrap_content"
+                    android:text="绫诲埆"
+                    android:textColor="#767375"
+                    android:textSize="12sp"
+                    />
+                <EditText
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="2dp"
+                    android:inputType="text"
+                    android:textColorHint="#6b000000"
+                    android:text="@={viewModel.beanLiveData.type}"
+                    android:textColor="#DE000000"
+                    android:textSize="16sp" />
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_marginTop="10dp"
+                    android:layout_height="wrap_content"
+                    android:text="璇佸彿/涓撲笟"
+                    android:textColor="#767375"
+                    android:textSize="12sp"
+                    />
+                <EditText
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="2dp"
+                    android:inputType="text"
+                    android:textColorHint="#6b000000"
+                    android:textColor="#DE000000"
+                    android:text="@={viewModel.beanLiveData.certificateNumber}"
+                    android:textSize="16sp" />
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_marginTop="10dp"
+                    android:layout_height="wrap_content"
+                    android:text="绾у埆"
+                    android:textColor="#767375"
+                    android:textSize="12sp"
+                    />
+                <EditText
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="2dp"
+                    android:inputType="text"
+                    android:textColorHint="#6b000000"
+                    android:textColor="#DE000000"
+                    android:text="@={viewModel.beanLiveData.level}"
+                    android:textSize="16sp" />
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_marginTop="10dp"
+                    android:layout_height="wrap_content"
+                    android:text="鏈夋晥鏃堕棿"
+                    android:textColor="#767375"
+                    android:textSize="12sp"
+                    />
+                <EditText
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="2dp"
+                    android:inputType="text"
+                    android:textColorHint="#6b000000"
+                    android:textColor="#DE000000"
+                    android:text="@={viewModel.beanLiveData.effectiveTime}"
+                    android:textSize="16sp" />
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_marginTop="10dp"
+                    android:layout_height="wrap_content"
+                    android:text="鑾峰緱鏃堕棿"
+                    android:textColor="#767375"
+                    android:textSize="12sp"
+                    />
+                <EditText
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="2dp"
+                    android:inputType="text"
+                    android:textColorHint="#6b000000"
+                    android:textColor="#DE000000"
+                    android:text="@{viewModel.beanLiveData.getTime}"
+                    android:textSize="16sp" />
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_marginTop="10dp"
+                    android:layout_height="wrap_content"
+                    android:text="瀛樻斁浣嶇疆"
+                    android:textColor="#767375"
+                    android:textSize="12sp"
+                    />
+                <EditText
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="2dp"
+                    android:inputType="text"
+                    android:textColorHint="#6b000000"
+                    android:textColor="#DE000000"
+                    android:text="@={viewModel.beanLiveData.location}"
+                    android:textSize="16sp" />
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_marginTop="10dp"
+                    android:layout_height="wrap_content"
+                    android:text="澶囨敞"
+                    android:textColor="#767375"
+                    android:textSize="12sp"
+                    />
+                <EditText
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="2dp"
+                    android:inputType="text"
+                    android:textColorHint="#6b000000"
+                    android:textColor="#DE000000"
+                    android:text="@={viewModel.beanLiveData.remark}"
+                    android:textSize="16sp" />
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_marginTop="10dp"
+                    android:layout_height="wrap_content"
+                    android:text="鐢靛瓙鏂囦欢"
+                    android:textColor="#767375"
+                    android:textSize="12sp"
+                    />
+                <RelativeLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:background="@drawable/shape_6b0000_stroke"
+                    >
+                    <com.android.app_base.widget.WrapRecyclerView
+                        android:id="@+id/rv_image"
+                        android:orientation="vertical"
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:layout_marginBottom="10dp"
+                        android:layout_marginTop="2sp"
+                        android:paddingStart="10dp"
+                        android:paddingEnd="5dp"
+                        android:paddingVertical="10dp"
+                        />
+
+                </RelativeLayout>
+
+
+            </LinearLayout>
+        </ScrollView>
+
+
+    </LinearLayout>
+</layout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_clean_storage.xml b/app/src/main/res/layout/activity_clean_storage.xml
new file mode 100644
index 0000000..6a7324d
--- /dev/null
+++ b/app/src/main/res/layout/activity_clean_storage.xml
@@ -0,0 +1,144 @@
+<?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.CleanStorageActivityViewModel" />
+    </data>
+
+    <androidx.constraintlayout.widget.ConstraintLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:orientation="vertical">
+
+        <com.android.app_base.widget.ExtendTitleBar
+            android:id="@+id/titleBar"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            app:layout_constraintTop_toTopOf="parent"
+            >
+            <FrameLayout
+                android:layout_width="24dp"
+                android:layout_height="24dp"
+                android:layout_marginHorizontal="16dp"
+                android:layout_gravity="center_vertical|end"
+                >
+                <ImageView
+                    android:id="@+id/iv_operate"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_gravity="center"
+                    android:background="@drawable/ic_operate"
+                    />
+            </FrameLayout>
+
+            <LinearLayout
+                android:id="@+id/layout_default"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:layout_marginHorizontal="56dp"
+                android:gravity="center_vertical"
+                >
+                <TextView
+                    android:id="@+id/tv_title"
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:layout_marginStart="16dp"
+                    android:text="淇濇磥鏀剁撼"
+                    android:layout_weight="1"
+                    android:textColor="@color/white"
+                    android:textSize="@dimen/sp_20"
+                    />
+                <ImageView
+                    android:id="@+id/iv_search_default"
+                    android:layout_width="@dimen/dp_24"
+                    android:layout_height="@dimen/dp_24"
+                    android:background="@drawable/ic_search"
+                    />
+            </LinearLayout>
+
+            <LinearLayout
+                android:id="@+id/layout_search"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:layout_marginVertical="4dp"
+                android:layout_marginHorizontal="56dp"
+                android:gravity="center_vertical"
+                android:background="@color/white"
+                android:paddingHorizontal="5dp"
+                android:visibility="gone"
+                >
+                <ImageView
+                    android:id="@+id/iv_search"
+                    android:layout_width="24dp"
+                    android:layout_height="24dp"
+                    android:background="@drawable/ic_search_gray"
+                    />
+                <EditText
+                    android:id="@+id/et_search"
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:layout_weight="1"
+                    android:layout_marginStart="5dp"
+                    android:textSize="14sp"
+                    android:textColor="#61000000"
+                    android:background="@null"
+                    android:imeOptions="actionSearch"
+                    android:text=""
+                    android:singleLine="true"
+                    android:hint="鍦ㄢ�滃澶т簨璁板唴鎼滅储鈥�"
+                    />
+                <ImageView
+                    android:id="@+id/iv_search_type"
+                    android:layout_width="24dp"
+                    android:layout_height="24dp"
+                    android:background="@drawable/ic_search_by"
+                    />
+            </LinearLayout>
+
+        </com.android.app_base.widget.ExtendTitleBar>
+
+        <LinearLayout
+            android:id="@+id/layout_data_null"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:orientation="vertical"
+            android:gravity="center"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/titleBar">
+
+            <ImageView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:background="@drawable/img_data_null"
+                />
+            <TextView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="18dp"
+                android:text="鏆傛椂杩樻病鏈夋暟鎹摝~\n鐐瑰嚮鈥濓紜鈥濈珛鍗冲垱寤�"
+                android:textSize="14sp"
+                android:textColor="#73000000"
+                />
+        </LinearLayout>
+
+        <androidx.recyclerview.widget.RecyclerView
+            android:id="@+id/recyclerView"
+            android:layout_width="match_parent"
+            android:layout_height="0dp"
+            android:background="@color/color_normal_background"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/titleBar"
+            app:layout_constraintVertical_bias="1.0"
+            tools:itemCount="20"
+            tools:layout_editor_absoluteX="-81dp"
+            tools:listitem="@layout/item_family_assets" />
+
+    </androidx.constraintlayout.widget.ConstraintLayout>
+
+</layout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_clean_storage_detail.xml b/app/src/main/res/layout/activity_clean_storage_detail.xml
new file mode 100644
index 0000000..ca3055e
--- /dev/null
+++ b/app/src/main/res/layout/activity_clean_storage_detail.xml
@@ -0,0 +1,191 @@
+<?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.CleanStorageDetailActivityViewModel" />
+    </data>
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:background="@color/color_normal_background"
+        android:orientation="vertical">
+
+        <com.android.app_base.widget.ExtendTitleBar
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            app:title="淇濇磥鏀剁撼"
+            app:titleGravity="left"
+            />
+        <ScrollView
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            >
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:orientation="vertical"
+                android:paddingHorizontal="20dp"
+                android:paddingBottom="20dp"
+                >
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_marginTop="@dimen/dp_10"
+                    android:layout_height="@dimen/dp_20"
+                    android:text="绫诲瀷"
+                    android:textColor="#767375"
+                    android:textSize="12sp"
+                    />
+
+
+                <EditText
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:inputType="text"
+                    android:autofillHints="creditCardNumber"
+                    android:textColorHint="#6b000000"
+                    android:textColor="#DE000000"
+                    android:textSize="16sp"
+                    android:text="@={viewModel.beanLiveData.type}"
+                    />
+
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_marginTop="10dp"
+                    android:layout_height="wrap_content"
+                    android:text="閫傜敤浜�"
+                    android:textColor="#767375"
+                    android:textSize="12sp"
+                    />
+
+                <EditText
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="2dp"
+                    android:inputType="text"
+                    android:textColor="#DE000000"
+                    android:text="@={viewModel.beanLiveData.suitablePeople}"
+                    android:textSize="16sp" />
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_marginTop="10dp"
+                    android:layout_height="wrap_content"
+                    android:text="绫诲埆"
+                    android:textColor="#767375"
+                    android:textSize="12sp"
+                    />
+                <EditText
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="2dp"
+                    android:inputType="text"
+                    android:textColorHint="#6b000000"
+                    android:text="@={viewModel.beanLiveData.category}"
+                    android:textColor="#DE000000"
+                    android:textSize="16sp" />
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_marginTop="10dp"
+                    android:layout_height="wrap_content"
+                    android:text="淇濇磥鏂规硶"
+                    android:textColor="#767375"
+                    android:textSize="12sp"
+                    />
+                <EditText
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="2dp"
+                    android:inputType="text"
+                    android:textColorHint="#6b000000"
+                    android:textColor="#DE000000"
+                    android:text="@={viewModel.beanLiveData.cleanMethod}"
+                    android:textSize="16sp" />
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_marginTop="10dp"
+                    android:layout_height="wrap_content"
+                    android:text="鏉愭枡瀛樻斁鍦�"
+                    android:textColor="#767375"
+                    android:textSize="12sp"
+                    />
+                <EditText
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="2dp"
+                    android:inputType="text"
+                    android:textColorHint="#6b000000"
+                    android:textColor="#DE000000"
+                    android:text="@={viewModel.beanLiveData.materialStorageLocation}"
+                    android:textSize="16sp" />
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_marginTop="10dp"
+                    android:layout_height="wrap_content"
+                    android:text="鏀剧疆鍦扮偣"
+                    android:textColor="#767375"
+                    android:textSize="12sp"
+                    />
+                <EditText
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="2dp"
+                    android:inputType="text"
+                    android:textColorHint="#6b000000"
+                    android:textColor="#DE000000"
+                    android:text="@={viewModel.beanLiveData.placementLocation}"
+                    android:textSize="16sp" />
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_marginTop="10dp"
+                    android:layout_height="wrap_content"
+                    android:text="澶囨敞"
+                    android:textColor="#767375"
+                    android:textSize="12sp"
+                    />
+                <EditText
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="2dp"
+                    android:inputType="text"
+                    android:textColorHint="#6b000000"
+                    android:textColor="#DE000000"
+                    android:text="@={viewModel.beanLiveData.remark}"
+                    android:textSize="16sp" />
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_marginTop="10dp"
+                    android:layout_height="wrap_content"
+                    android:text="鐢靛瓙鏂囦欢"
+                    android:textColor="#767375"
+                    android:textSize="12sp"
+                    />
+                <RelativeLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:background="@drawable/shape_6b0000_stroke"
+                    >
+                    <com.android.app_base.widget.WrapRecyclerView
+                        android:id="@+id/rv_image"
+                        android:orientation="vertical"
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:layout_marginBottom="10dp"
+                        android:layout_marginTop="2sp"
+                        android:paddingStart="10dp"
+                        android:paddingEnd="5dp"
+                        android:paddingVertical="10dp"
+                        />
+
+                </RelativeLayout>
+
+
+            </LinearLayout>
+        </ScrollView>
+
+
+    </LinearLayout>
+</layout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_family_assets.xml b/app/src/main/res/layout/activity_family_assets.xml
index 3af418b..6409ac9 100644
--- a/app/src/main/res/layout/activity_family_assets.xml
+++ b/app/src/main/res/layout/activity_family_assets.xml
@@ -127,17 +127,30 @@
                 />
         </LinearLayout>
 
-        <androidx.recyclerview.widget.RecyclerView
-            android:id="@+id/recyclerView"
+        <com.scwang.smart.refresh.layout.SmartRefreshLayout
+            android:id="@+id/refreshLayout"
             android:layout_width="match_parent"
             android:layout_height="0dp"
             android:background="@color/color_normal_background"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintTop_toBottomOf="@+id/titleBar"
-            app:layout_constraintVertical_bias="1.0"
-            tools:itemCount="20"
-            tools:layout_editor_absoluteX="-81dp"
-            tools:listitem="@layout/item_family_memorabilia" />
+            >
+            <com.scwang.smart.refresh.header.MaterialHeader
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                />
+
+            <androidx.recyclerview.widget.RecyclerView
+                android:id="@+id/recyclerView"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                tools:itemCount="20"
+                tools:listitem="@layout/item_family_assets" />
+
+            <com.scwang.smart.refresh.footer.BallPulseFooter
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"/>
+        </com.scwang.smart.refresh.layout.SmartRefreshLayout>
 
     </androidx.constraintlayout.widget.ConstraintLayout>
 
diff --git a/app/src/main/res/layout/activity_family_assets_detail.xml b/app/src/main/res/layout/activity_family_assets_detail.xml
index 63f1c2a..fb54eb1 100644
--- a/app/src/main/res/layout/activity_family_assets_detail.xml
+++ b/app/src/main/res/layout/activity_family_assets_detail.xml
@@ -167,6 +167,7 @@
                 <RelativeLayout
                     android:layout_width="match_parent"
                     android:layout_height="wrap_content"
+                    android:layout_marginBottom="20dp"
                     android:background="@drawable/shape_6b0000_stroke"
                     >
                     <com.android.app_base.widget.WrapRecyclerView
diff --git a/app/src/main/res/layout/activity_family_memorabilia.xml b/app/src/main/res/layout/activity_family_memorabilia.xml
index 60fe133..179bf0f 100644
--- a/app/src/main/res/layout/activity_family_memorabilia.xml
+++ b/app/src/main/res/layout/activity_family_memorabilia.xml
@@ -127,18 +127,32 @@
                 android:textColor="#73000000"
                 />
         </LinearLayout>
-
-        <androidx.recyclerview.widget.RecyclerView
-            android:id="@+id/recyclerView"
+        <com.scwang.smart.refresh.layout.SmartRefreshLayout
+            android:id="@+id/refreshLayout"
             android:layout_width="match_parent"
             android:layout_height="0dp"
             android:background="@color/color_normal_background"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintTop_toBottomOf="@+id/titleBar"
-            app:layout_constraintVertical_bias="1.0"
-            tools:itemCount="20"
-            tools:layout_editor_absoluteX="-81dp"
-            tools:listitem="@layout/item_family_memorabilia" />
+            >
+            <com.scwang.smart.refresh.header.MaterialHeader
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                />
+
+            <androidx.recyclerview.widget.RecyclerView
+                android:id="@+id/recyclerView"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                app:layout_constraintBottom_toBottomOf="parent"
+                app:layout_constraintTop_toBottomOf="@+id/titleBar"
+                tools:itemCount="20"
+                tools:listitem="@layout/item_family_memorabilia" />
+            <com.scwang.smart.refresh.footer.BallPulseFooter
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"/>
+        </com.scwang.smart.refresh.layout.SmartRefreshLayout>
+
 
         <com.google.android.material.floatingactionbutton.FloatingActionButton
             android:id="@+id/fab_add"
diff --git a/app/src/main/res/layout/activity_home_devices.xml b/app/src/main/res/layout/activity_home_devices.xml
index d1078b6..9698ca1 100644
--- a/app/src/main/res/layout/activity_home_devices.xml
+++ b/app/src/main/res/layout/activity_home_devices.xml
@@ -134,10 +134,9 @@
             android:background="@color/color_normal_background"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintTop_toBottomOf="@+id/titleBar"
-            app:layout_constraintVertical_bias="1.0"
             tools:itemCount="20"
             tools:layout_editor_absoluteX="-81dp"
-            tools:listitem="@layout/item_family_memorabilia" />
+            tools:listitem="@layout/item_home_devices" />
 
     </androidx.constraintlayout.widget.ConstraintLayout>
 
diff --git a/app/src/main/res/layout/activity_home_devices_detail.xml b/app/src/main/res/layout/activity_home_devices_detail.xml
index aef2274..1324ff9 100644
--- a/app/src/main/res/layout/activity_home_devices_detail.xml
+++ b/app/src/main/res/layout/activity_home_devices_detail.xml
@@ -68,7 +68,7 @@
                     android:layout_marginTop="2dp"
                     android:inputType="text"
                     android:textColor="#DE000000"
-                    android:text="@={viewModel.beanLiveData.createTime}"
+                    android:text="@={viewModel.beanLiveData.createDate}"
                     android:textSize="16sp" />
                 <TextView
                     android:layout_width="wrap_content"
@@ -84,7 +84,7 @@
                     android:layout_marginTop="2dp"
                     android:inputType="text"
                     android:textColorHint="#6b000000"
-                    android:text="@={viewModel.beanLiveData.people}"
+                    android:text="@={viewModel.beanLiveData.buyer}"
                     android:textColor="#DE000000"
                     android:textSize="16sp" />
                 <TextView
@@ -119,7 +119,7 @@
                     android:inputType="text"
                     android:textColorHint="#6b000000"
                     android:textColor="#DE000000"
-                    android:text="@={viewModel.beanLiveData.address}"
+                    android:text="@={viewModel.beanLiveData.location}"
                     android:textSize="16sp" />
                 <TextView
                     android:layout_width="wrap_content"
diff --git a/app/src/main/res/layout/activity_honor_collection.xml b/app/src/main/res/layout/activity_honor_collection.xml
new file mode 100644
index 0000000..0e21024
--- /dev/null
+++ b/app/src/main/res/layout/activity_honor_collection.xml
@@ -0,0 +1,144 @@
+<?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.HonorCollectionActivityViewModel" />
+    </data>
+
+    <androidx.constraintlayout.widget.ConstraintLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:orientation="vertical">
+
+        <com.android.app_base.widget.ExtendTitleBar
+            android:id="@+id/titleBar"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            app:layout_constraintTop_toTopOf="parent"
+            >
+            <FrameLayout
+                android:layout_width="24dp"
+                android:layout_height="24dp"
+                android:layout_marginHorizontal="16dp"
+                android:layout_gravity="center_vertical|end"
+                >
+                <ImageView
+                    android:id="@+id/iv_operate"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_gravity="center"
+                    android:background="@drawable/ic_operate"
+                    />
+            </FrameLayout>
+
+            <LinearLayout
+                android:id="@+id/layout_default"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:layout_marginHorizontal="56dp"
+                android:gravity="center_vertical"
+                >
+                <TextView
+                    android:id="@+id/tv_title"
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:layout_marginStart="16dp"
+                    android:text="鑽h獕鏀惰棌"
+                    android:layout_weight="1"
+                    android:textColor="@color/white"
+                    android:textSize="@dimen/sp_20"
+                    />
+                <ImageView
+                    android:id="@+id/iv_search_default"
+                    android:layout_width="@dimen/dp_24"
+                    android:layout_height="@dimen/dp_24"
+                    android:background="@drawable/ic_search"
+                    />
+            </LinearLayout>
+
+            <LinearLayout
+                android:id="@+id/layout_search"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:layout_marginVertical="4dp"
+                android:layout_marginHorizontal="56dp"
+                android:gravity="center_vertical"
+                android:background="@color/white"
+                android:paddingHorizontal="5dp"
+                android:visibility="gone"
+                >
+                <ImageView
+                    android:id="@+id/iv_search"
+                    android:layout_width="24dp"
+                    android:layout_height="24dp"
+                    android:background="@drawable/ic_search_gray"
+                    />
+                <EditText
+                    android:id="@+id/et_search"
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:layout_weight="1"
+                    android:layout_marginStart="5dp"
+                    android:textSize="14sp"
+                    android:textColor="#61000000"
+                    android:background="@null"
+                    android:imeOptions="actionSearch"
+                    android:text=""
+                    android:singleLine="true"
+                    android:hint="鍦ㄢ�滃澶т簨璁板唴鎼滅储鈥�"
+                    />
+                <ImageView
+                    android:id="@+id/iv_search_type"
+                    android:layout_width="24dp"
+                    android:layout_height="24dp"
+                    android:background="@drawable/ic_search_by"
+                    />
+            </LinearLayout>
+
+        </com.android.app_base.widget.ExtendTitleBar>
+
+        <LinearLayout
+            android:id="@+id/layout_data_null"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:orientation="vertical"
+            android:gravity="center"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/titleBar">
+
+            <ImageView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:background="@drawable/img_data_null"
+                />
+            <TextView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="18dp"
+                android:text="鏆傛椂杩樻病鏈夋暟鎹摝~\n鐐瑰嚮鈥濓紜鈥濈珛鍗冲垱寤�"
+                android:textSize="14sp"
+                android:textColor="#73000000"
+                />
+        </LinearLayout>
+
+        <androidx.recyclerview.widget.RecyclerView
+            android:id="@+id/recyclerView"
+            android:layout_width="match_parent"
+            android:layout_height="0dp"
+            android:background="@color/color_normal_background"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/titleBar"
+            app:layout_constraintVertical_bias="1.0"
+            tools:itemCount="20"
+            tools:layout_editor_absoluteX="-81dp"
+            tools:listitem="@layout/item_family_assets" />
+
+    </androidx.constraintlayout.widget.ConstraintLayout>
+
+</layout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_honor_collection_detail.xml b/app/src/main/res/layout/activity_honor_collection_detail.xml
new file mode 100644
index 0000000..6a4b7c7
--- /dev/null
+++ b/app/src/main/res/layout/activity_honor_collection_detail.xml
@@ -0,0 +1,191 @@
+<?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="viewModel"
+            type="com.application.zhangshi_app_android.ui.function.HonorCollectionDetailActivityViewModel" />
+    </data>
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:background="@color/color_normal_background"
+        android:orientation="vertical">
+
+        <com.android.app_base.widget.ExtendTitleBar
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            app:title="@{viewModel.beanLiveData.owner+`鐨刞+ viewModel.beanLiveData.type}"
+            app:titleGravity="left"
+            />
+        <ScrollView
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            >
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:orientation="vertical"
+                android:paddingHorizontal="20dp"
+                android:paddingBottom="20dp"
+                >
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_marginTop="@dimen/dp_10"
+                    android:layout_height="@dimen/dp_20"
+                    android:text="鍚嶇О"
+                    android:textColor="#767375"
+                    android:textSize="12sp"
+                    />
+
+
+                <EditText
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:inputType="text"
+                    android:autofillHints="creditCardNumber"
+                    android:textColorHint="#6b000000"
+                    android:textColor="#DE000000"
+                    android:textSize="16sp"
+                    android:text="@={viewModel.beanLiveData.name}"
+                    />
+
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_marginTop="10dp"
+                    android:layout_height="wrap_content"
+                    android:text="鑾峰緱鏃堕棿"
+                    android:textColor="#767375"
+                    android:textSize="12sp"
+                    />
+
+                <EditText
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="2dp"
+                    android:inputType="text"
+                    android:textColor="#DE000000"
+                    android:text="@={viewModel.beanLiveData.getTime}"
+                    android:textSize="16sp" />
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_marginTop="10dp"
+                    android:layout_height="wrap_content"
+                    android:text="鏉ユ簮"
+                    android:textColor="#767375"
+                    android:textSize="12sp"
+                    />
+                <EditText
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="2dp"
+                    android:inputType="text"
+                    android:textColorHint="#6b000000"
+                    android:text="@={viewModel.beanLiveData.source}"
+                    android:textColor="#DE000000"
+                    android:textSize="16sp" />
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_marginTop="10dp"
+                    android:layout_height="wrap_content"
+                    android:text="浠峰��"
+                    android:textColor="#767375"
+                    android:textSize="12sp"
+                    />
+                <EditText
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="2dp"
+                    android:inputType="text"
+                    android:textColorHint="#6b000000"
+                    android:textColor="#DE000000"
+                    android:text="@={viewModel.beanLiveData.price}"
+                    android:textSize="16sp" />
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_marginTop="10dp"
+                    android:layout_height="wrap_content"
+                    android:text="鎸佹湁浜�"
+                    android:textColor="#767375"
+                    android:textSize="12sp"
+                    />
+                <EditText
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="2dp"
+                    android:inputType="text"
+                    android:textColorHint="#6b000000"
+                    android:textColor="#DE000000"
+                    android:text="@={viewModel.beanLiveData.owner}"
+                    android:textSize="16sp" />
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_marginTop="10dp"
+                    android:layout_height="wrap_content"
+                    android:text="瀛樻斁浣嶇疆"
+                    android:textColor="#767375"
+                    android:textSize="12sp"
+                    />
+                <EditText
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="2dp"
+                    android:inputType="text"
+                    android:textColorHint="#6b000000"
+                    android:textColor="#DE000000"
+                    android:text="@={viewModel.beanLiveData.location}"
+                    android:textSize="16sp" />
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_marginTop="10dp"
+                    android:layout_height="wrap_content"
+                    android:text="澶囨敞"
+                    android:textColor="#767375"
+                    android:textSize="12sp"
+                    />
+                <EditText
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="2dp"
+                    android:inputType="text"
+                    android:textColorHint="#6b000000"
+                    android:textColor="#DE000000"
+                    android:text="@={viewModel.beanLiveData.remark}"
+                    android:textSize="16sp" />
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_marginTop="10dp"
+                    android:layout_height="wrap_content"
+                    android:text="鐢靛瓙鏂囦欢"
+                    android:textColor="#767375"
+                    android:textSize="12sp"
+                    />
+                <RelativeLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:background="@drawable/shape_6b0000_stroke"
+                    >
+                    <com.android.app_base.widget.WrapRecyclerView
+                        android:id="@+id/rv_image"
+                        android:orientation="vertical"
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:layout_marginBottom="10dp"
+                        android:layout_marginTop="2sp"
+                        android:paddingStart="10dp"
+                        android:paddingEnd="5dp"
+                        android:paddingVertical="10dp"
+                        />
+
+                </RelativeLayout>
+
+
+            </LinearLayout>
+        </ScrollView>
+
+
+    </LinearLayout>
+
+</layout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_hundred_wish.xml b/app/src/main/res/layout/activity_hundred_wish.xml
new file mode 100644
index 0000000..a9745a1
--- /dev/null
+++ b/app/src/main/res/layout/activity_hundred_wish.xml
@@ -0,0 +1,143 @@
+<?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.HundredWishActivityViewModel" />
+    </data>
+
+    <androidx.constraintlayout.widget.ConstraintLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:orientation="vertical">
+
+        <com.android.app_base.widget.ExtendTitleBar
+            android:id="@+id/titleBar"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            app:layout_constraintTop_toTopOf="parent"
+            >
+            <FrameLayout
+                android:layout_width="24dp"
+                android:layout_height="24dp"
+                android:layout_marginHorizontal="16dp"
+                android:layout_gravity="center_vertical|end"
+                >
+                <ImageView
+                    android:id="@+id/iv_operate"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_gravity="center"
+                    android:background="@drawable/ic_operate"
+                    />
+            </FrameLayout>
+
+            <LinearLayout
+                android:id="@+id/layout_default"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:layout_marginHorizontal="56dp"
+                android:gravity="center_vertical"
+                >
+                <TextView
+                    android:id="@+id/tv_title"
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:layout_marginStart="16dp"
+                    android:text="鐧惧勾蹇冩効(浠呬緵鍙傝��)"
+                    android:layout_weight="1"
+                    android:textColor="@color/white"
+                    android:textSize="@dimen/sp_20"
+                    />
+                <ImageView
+                    android:id="@+id/iv_search_default"
+                    android:layout_width="@dimen/dp_24"
+                    android:layout_height="@dimen/dp_24"
+                    android:background="@drawable/ic_search"
+                    />
+            </LinearLayout>
+
+            <LinearLayout
+                android:id="@+id/layout_search"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:layout_marginVertical="4dp"
+                android:layout_marginHorizontal="56dp"
+                android:gravity="center_vertical"
+                android:background="@color/white"
+                android:paddingHorizontal="5dp"
+                android:visibility="gone"
+                >
+                <ImageView
+                    android:id="@+id/iv_search"
+                    android:layout_width="24dp"
+                    android:layout_height="24dp"
+                    android:background="@drawable/ic_search_gray"
+                    />
+                <EditText
+                    android:id="@+id/et_search"
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:layout_weight="1"
+                    android:layout_marginStart="5dp"
+                    android:textSize="14sp"
+                    android:textColor="#61000000"
+                    android:background="@null"
+                    android:imeOptions="actionSearch"
+                    android:text=""
+                    android:singleLine="true"
+                    android:hint="鍦ㄢ�滃澶т簨璁板唴鎼滅储鈥�"
+                    />
+                <ImageView
+                    android:id="@+id/iv_search_type"
+                    android:layout_width="24dp"
+                    android:layout_height="24dp"
+                    android:background="@drawable/ic_search_by"
+                    />
+            </LinearLayout>
+
+        </com.android.app_base.widget.ExtendTitleBar>
+
+        <LinearLayout
+            android:id="@+id/layout_data_null"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:orientation="vertical"
+            android:gravity="center"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/titleBar">
+
+            <ImageView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:background="@drawable/img_data_null"
+                />
+            <TextView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="18dp"
+                android:text="鏆傛椂杩樻病鏈夋暟鎹摝~\n鐐瑰嚮鈥濓紜鈥濈珛鍗冲垱寤�"
+                android:textSize="14sp"
+                android:textColor="#73000000"
+                />
+        </LinearLayout>
+
+        <androidx.recyclerview.widget.RecyclerView
+            android:id="@+id/recyclerView"
+            android:layout_width="match_parent"
+            android:layout_height="0dp"
+            android:background="@color/color_normal_background"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/titleBar"
+            app:layout_constraintVertical_bias="1.0"
+            tools:itemCount="20"
+            />
+
+    </androidx.constraintlayout.widget.ConstraintLayout>
+
+</layout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_hundred_wish_detail.xml b/app/src/main/res/layout/activity_hundred_wish_detail.xml
new file mode 100644
index 0000000..92678e0
--- /dev/null
+++ b/app/src/main/res/layout/activity_hundred_wish_detail.xml
@@ -0,0 +1,208 @@
+<?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.HundredWishDetailActivityViewModel" />
+    </data>
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:background="@color/color_normal_background"
+        android:orientation="vertical">
+
+        <com.android.app_base.widget.ExtendTitleBar
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            app:title="@{viewModel.beanLiveData.title+`(浠呬緵鏌ョ湅)`}"
+            app:titleGravity="left"
+            />
+        <ScrollView
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            >
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:orientation="vertical"
+                android:paddingHorizontal="20dp"
+                android:paddingBottom="20dp"
+                >
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_marginTop="@dimen/dp_10"
+                    android:layout_height="@dimen/dp_20"
+                    android:text="鐞嗘兂鏍囬/鐧惧勾鎰挎湜"
+                    android:textColor="#767375"
+                    android:textSize="12sp"
+                    />
+
+
+                <EditText
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:inputType="text"
+                    android:autofillHints="creditCardNumber"
+                    android:textColorHint="#6b000000"
+                    android:textColor="#DE000000"
+                    android:textSize="16sp"
+                    android:text="@={viewModel.beanLiveData.title}"
+                    />
+
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_marginTop="10dp"
+                    android:layout_height="wrap_content"
+                    android:text="鏃堕棿"
+                    android:textColor="#767375"
+                    android:textSize="12sp"
+                    />
+
+                <EditText
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="2dp"
+                    android:inputType="text"
+                    android:textColor="#DE000000"
+                    android:text="@={viewModel.beanLiveData.createTime}"
+                    android:textSize="16sp" />
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_marginTop="10dp"
+                    android:layout_height="wrap_content"
+                    android:text="濮嬩簬浣曞洜"
+                    android:textColor="#767375"
+                    android:textSize="12sp"
+                    />
+                <EditText
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="2dp"
+                    android:inputType="text"
+                    android:textColorHint="#6b000000"
+                    android:text="@={viewModel.beanLiveData.reason}"
+                    android:textColor="#DE000000"
+                    android:textSize="16sp" />
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_marginTop="10dp"
+                    android:layout_height="wrap_content"
+                    android:text="鍙楁儬浜�"
+                    android:textColor="#767375"
+                    android:textSize="12sp"
+                    />
+                <EditText
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="2dp"
+                    android:inputType="text"
+                    android:textColorHint="#6b000000"
+                    android:textColor="#DE000000"
+                    android:text="@={viewModel.beanLiveData.beneficiary}"
+                    android:textSize="16sp" />
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_marginTop="10dp"
+                    android:layout_height="wrap_content"
+                    android:text="缁ф壙浜�"
+                    android:textColor="#767375"
+                    android:textSize="12sp"
+                    />
+                <EditText
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="2dp"
+                    android:inputType="text"
+                    android:textColorHint="#6b000000"
+                    android:textColor="#DE000000"
+                    android:text="@={viewModel.beanLiveData.heir}"
+                    android:textSize="16sp" />
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_marginTop="10dp"
+                    android:layout_height="wrap_content"
+                    android:text="瀹炵幇闅惧害"
+                    android:textColor="#767375"
+                    android:textSize="12sp"
+                    />
+                <EditText
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="2dp"
+                    android:inputType="text"
+                    android:textColorHint="#6b000000"
+                    android:textColor="#DE000000"
+                    android:text="@={viewModel.beanLiveData.difficulty}"
+                    android:textSize="16sp" />
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_marginTop="10dp"
+                    android:layout_height="wrap_content"
+                    android:text="鏄惁渚濇棫鏈夋晥"
+                    android:textColor="#767375"
+                    android:textSize="12sp"
+                    />
+                <EditText
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="2dp"
+                    android:inputType="text"
+                    android:textColorHint="#6b000000"
+                    android:textColor="#DE000000"
+                    android:text="@{viewModel.beanLiveData.isEffective==1?`鏄痐:`鍚}"
+                    android:textSize="16sp" />
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_marginTop="10dp"
+                    android:layout_height="wrap_content"
+                    android:text="澶囨敞"
+                    android:textColor="#767375"
+                    android:textSize="12sp"
+                    />
+                <EditText
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="2dp"
+                    android:inputType="text"
+                    android:textColorHint="#6b000000"
+                    android:textColor="#DE000000"
+                    android:text="@={viewModel.beanLiveData.remark}"
+                    android:textSize="16sp" />
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_marginTop="10dp"
+                    android:layout_height="wrap_content"
+                    android:text="鐢靛瓙鏂囦欢"
+                    android:textColor="#767375"
+                    android:textSize="12sp"
+                    />
+                <RelativeLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:background="@drawable/shape_6b0000_stroke"
+                    >
+                    <com.android.app_base.widget.WrapRecyclerView
+                        android:id="@+id/rv_image"
+                        android:orientation="vertical"
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:layout_marginBottom="10dp"
+                        android:layout_marginTop="2sp"
+                        android:paddingStart="10dp"
+                        android:paddingEnd="5dp"
+                        android:paddingVertical="10dp"
+                        />
+
+                </RelativeLayout>
+
+
+            </LinearLayout>
+        </ScrollView>
+
+
+    </LinearLayout>
+</layout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_income_and_expenses.xml b/app/src/main/res/layout/activity_income_and_expenses.xml
new file mode 100644
index 0000000..2ad13d3
--- /dev/null
+++ b/app/src/main/res/layout/activity_income_and_expenses.xml
@@ -0,0 +1,144 @@
+<?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.IncomeAndExpensesActivityViewModel" />
+    </data>
+
+    <androidx.constraintlayout.widget.ConstraintLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:orientation="vertical">
+
+        <com.android.app_base.widget.ExtendTitleBar
+            android:id="@+id/titleBar"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            app:layout_constraintTop_toTopOf="parent"
+            >
+            <FrameLayout
+                android:layout_width="24dp"
+                android:layout_height="24dp"
+                android:layout_marginHorizontal="16dp"
+                android:layout_gravity="center_vertical|end"
+                >
+                <ImageView
+                    android:id="@+id/iv_operate"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_gravity="center"
+                    android:background="@drawable/ic_operate"
+                    />
+            </FrameLayout>
+
+            <LinearLayout
+                android:id="@+id/layout_default"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:layout_marginHorizontal="56dp"
+                android:gravity="center_vertical"
+                >
+                <TextView
+                    android:id="@+id/tv_title"
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:layout_marginStart="16dp"
+                    android:text="淇濇磥鏀剁撼"
+                    android:layout_weight="1"
+                    android:textColor="@color/white"
+                    android:textSize="@dimen/sp_20"
+                    />
+                <ImageView
+                    android:id="@+id/iv_search_default"
+                    android:layout_width="@dimen/dp_24"
+                    android:layout_height="@dimen/dp_24"
+                    android:background="@drawable/ic_search"
+                    />
+            </LinearLayout>
+
+            <LinearLayout
+                android:id="@+id/layout_search"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:layout_marginVertical="4dp"
+                android:layout_marginHorizontal="56dp"
+                android:gravity="center_vertical"
+                android:background="@color/white"
+                android:paddingHorizontal="5dp"
+                android:visibility="gone"
+                >
+                <ImageView
+                    android:id="@+id/iv_search"
+                    android:layout_width="24dp"
+                    android:layout_height="24dp"
+                    android:background="@drawable/ic_search_gray"
+                    />
+                <EditText
+                    android:id="@+id/et_search"
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:layout_weight="1"
+                    android:layout_marginStart="5dp"
+                    android:textSize="14sp"
+                    android:textColor="#61000000"
+                    android:background="@null"
+                    android:imeOptions="actionSearch"
+                    android:text=""
+                    android:singleLine="true"
+                    android:hint="鍦ㄢ�滃澶т簨璁板唴鎼滅储鈥�"
+                    />
+                <ImageView
+                    android:id="@+id/iv_search_type"
+                    android:layout_width="24dp"
+                    android:layout_height="24dp"
+                    android:background="@drawable/ic_search_by"
+                    />
+            </LinearLayout>
+
+        </com.android.app_base.widget.ExtendTitleBar>
+
+        <LinearLayout
+            android:id="@+id/layout_data_null"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:orientation="vertical"
+            android:gravity="center"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/titleBar">
+
+            <ImageView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:background="@drawable/img_data_null"
+                />
+            <TextView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="18dp"
+                android:text="鏆傛椂杩樻病鏈夋暟鎹摝~\n鐐瑰嚮鈥濓紜鈥濈珛鍗冲垱寤�"
+                android:textSize="14sp"
+                android:textColor="#73000000"
+                />
+        </LinearLayout>
+
+        <androidx.recyclerview.widget.RecyclerView
+            android:id="@+id/recyclerView"
+            android:layout_width="match_parent"
+            android:layout_height="0dp"
+            android:background="@color/color_normal_background"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/titleBar"
+            app:layout_constraintVertical_bias="1.0"
+            tools:itemCount="20"
+            tools:layout_editor_absoluteX="-81dp"
+            tools:listitem="@layout/item_family_assets" />
+
+    </androidx.constraintlayout.widget.ConstraintLayout>
+
+</layout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_income_and_expenses_detail.xml b/app/src/main/res/layout/activity_income_and_expenses_detail.xml
new file mode 100644
index 0000000..ae9cbae
--- /dev/null
+++ b/app/src/main/res/layout/activity_income_and_expenses_detail.xml
@@ -0,0 +1,208 @@
+<?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.IncomeAndExpensesDetailActivityViewModel" />
+    </data>
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:background="@color/color_normal_background"
+        android:orientation="vertical">
+
+        <com.android.app_base.widget.ExtendTitleBar
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            app:title="瀹跺涵鏀舵敮鍙拌处"
+            app:titleGravity="left" />
+
+        <ScrollView
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            >
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:orientation="vertical"
+                android:paddingHorizontal="20dp"
+                android:paddingBottom="20dp"
+                >
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_marginTop="@dimen/dp_10"
+                    android:layout_height="@dimen/dp_20"
+                    android:text="鍩洪噾/鍙拌处"
+                    android:textColor="#767375"
+                    android:textSize="12sp"
+                    />
+
+
+                <EditText
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:inputType="text"
+                    android:autofillHints="creditCardNumber"
+                    android:textColorHint="#6b000000"
+                    android:textColor="#DE000000"
+                    android:textSize="16sp"
+                    android:text="@{viewModel.beanLiveData.type==0?`鍩洪噾`:`鍙拌处`}"
+                    />
+
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_marginTop="10dp"
+                    android:layout_height="wrap_content"
+                    android:text="鏃堕棿"
+                    android:textColor="#767375"
+                    android:textSize="12sp"
+                    />
+
+                <EditText
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="2dp"
+                    android:inputType="text"
+                    android:textColor="#DE000000"
+                    android:text="@={viewModel.beanLiveData.createTime}"
+                    android:textSize="16sp" />
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_marginTop="10dp"
+                    android:layout_height="wrap_content"
+                    android:text="鏀跺叆/鏀嚭"
+                    android:textColor="#767375"
+                    android:textSize="12sp"
+                    />
+                <EditText
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="2dp"
+                    android:inputType="text"
+                    android:textColorHint="#6b000000"
+                    android:text="@{viewModel.beanLiveData.price}"
+                    android:textColor="#DE000000"
+                    android:textSize="16sp" />
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_marginTop="10dp"
+                    android:layout_height="wrap_content"
+                    android:text="鐢ㄩ��"
+                    android:textColor="#767375"
+                    android:textSize="12sp"
+                    />
+                <EditText
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="2dp"
+                    android:inputType="text"
+                    android:textColorHint="#6b000000"
+                    android:textColor="#DE000000"
+                    android:text="@={viewModel.beanLiveData.useFor}"
+                    android:textSize="16sp" />
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_marginTop="10dp"
+                    android:layout_height="wrap_content"
+                    android:text="浣跨敤浜�"
+                    android:textColor="#767375"
+                    android:textSize="12sp"
+                    />
+                <EditText
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="2dp"
+                    android:inputType="text"
+                    android:textColorHint="#6b000000"
+                    android:textColor="#DE000000"
+                    android:text="@={viewModel.beanLiveData.usePeople}"
+                    android:textSize="16sp" />
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_marginTop="10dp"
+                    android:layout_height="wrap_content"
+                    android:text="鐜伴噾/鑷姩鍒掓墸"
+                    android:textColor="#767375"
+                    android:textSize="12sp"
+                    />
+                <EditText
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="2dp"
+                    android:inputType="text"
+                    android:textColorHint="#6b000000"
+                    android:textColor="#DE000000"
+                    android:text="@{viewModel.beanLiveData.kind==0?`鐜伴噾`:`鑷姩鍒掓墸`}"
+                    android:textSize="16sp" />
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_marginTop="10dp"
+                    android:layout_height="wrap_content"
+                    android:text="浣欓"
+                    android:textColor="#767375"
+                    android:textSize="12sp"
+                    />
+                <EditText
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="2dp"
+                    android:inputType="text"
+                    android:textColorHint="#6b000000"
+                    android:textColor="#DE000000"
+                    android:text="@={viewModel.beanLiveData.balance}"
+                    android:textSize="16sp" />
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_marginTop="10dp"
+                    android:layout_height="wrap_content"
+                    android:text="澶囨敞"
+                    android:textColor="#767375"
+                    android:textSize="12sp"
+                    />
+                <EditText
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="2dp"
+                    android:inputType="text"
+                    android:textColorHint="#6b000000"
+                    android:textColor="#DE000000"
+                    android:text="@={viewModel.beanLiveData.remark}"
+                    android:textSize="16sp" />
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_marginTop="10dp"
+                    android:layout_height="wrap_content"
+                    android:text="鐢靛瓙鏂囦欢"
+                    android:textColor="#767375"
+                    android:textSize="12sp"
+                    />
+                <RelativeLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:background="@drawable/shape_6b0000_stroke"
+                    >
+                    <com.android.app_base.widget.WrapRecyclerView
+                        android:id="@+id/rv_image"
+                        android:orientation="vertical"
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:layout_marginBottom="10dp"
+                        android:layout_marginTop="2sp"
+                        android:paddingStart="10dp"
+                        android:paddingEnd="5dp"
+                        android:paddingVertical="10dp"
+                        />
+
+                </RelativeLayout>
+
+
+            </LinearLayout>
+        </ScrollView>
+
+
+    </LinearLayout>
+</layout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_little_doctor.xml b/app/src/main/res/layout/activity_little_doctor.xml
new file mode 100644
index 0000000..725efc8
--- /dev/null
+++ b/app/src/main/res/layout/activity_little_doctor.xml
@@ -0,0 +1,142 @@
+<?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>
+
+    </data>
+
+    <androidx.constraintlayout.widget.ConstraintLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:orientation="vertical">
+
+        <com.android.app_base.widget.ExtendTitleBar
+            android:id="@+id/titleBar"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            app:layout_constraintTop_toTopOf="parent"
+            >
+            <FrameLayout
+                android:layout_width="24dp"
+                android:layout_height="24dp"
+                android:layout_marginHorizontal="16dp"
+                android:layout_gravity="center_vertical|end"
+                >
+                <ImageView
+                    android:id="@+id/iv_operate"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_gravity="center"
+                    android:background="@drawable/ic_operate"
+                    />
+            </FrameLayout>
+
+            <LinearLayout
+                android:id="@+id/layout_default"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:layout_marginHorizontal="56dp"
+                android:gravity="center_vertical"
+                >
+                <TextView
+                    android:id="@+id/tv_title"
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:layout_marginStart="16dp"
+                    android:text="灏忓尰鐢�"
+                    android:layout_weight="1"
+                    android:textColor="@color/white"
+                    android:textSize="@dimen/sp_20"
+                    />
+                <ImageView
+                    android:id="@+id/iv_search_default"
+                    android:layout_width="@dimen/dp_24"
+                    android:layout_height="@dimen/dp_24"
+                    android:background="@drawable/ic_search"
+                    />
+            </LinearLayout>
+
+            <LinearLayout
+                android:id="@+id/layout_search"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:layout_marginVertical="4dp"
+                android:layout_marginHorizontal="56dp"
+                android:gravity="center_vertical"
+                android:background="@color/white"
+                android:paddingHorizontal="5dp"
+                android:visibility="gone"
+                >
+                <ImageView
+                    android:id="@+id/iv_search"
+                    android:layout_width="24dp"
+                    android:layout_height="24dp"
+                    android:background="@drawable/ic_search_gray"
+                    />
+                <EditText
+                    android:id="@+id/et_search"
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:layout_weight="1"
+                    android:layout_marginStart="5dp"
+                    android:textSize="14sp"
+                    android:textColor="#61000000"
+                    android:background="@null"
+                    android:imeOptions="actionSearch"
+                    android:text=""
+                    android:singleLine="true"
+                    android:hint="鍦ㄢ�滃澶т簨璁板唴鎼滅储鈥�"
+                    />
+                <ImageView
+                    android:id="@+id/iv_search_type"
+                    android:layout_width="24dp"
+                    android:layout_height="24dp"
+                    android:background="@drawable/ic_search_by"
+                    />
+            </LinearLayout>
+
+        </com.android.app_base.widget.ExtendTitleBar>
+
+        <LinearLayout
+            android:id="@+id/layout_data_null"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:orientation="vertical"
+            android:gravity="center"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/titleBar">
+
+            <ImageView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:background="@drawable/img_data_null"
+                />
+            <TextView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="18dp"
+                android:text="鏆傛椂杩樻病鏈夋暟鎹摝~\n鐐瑰嚮鈥濓紜鈥濈珛鍗冲垱寤�"
+                android:textSize="14sp"
+                android:textColor="#73000000"
+                />
+        </LinearLayout>
+
+        <androidx.recyclerview.widget.RecyclerView
+            android:id="@+id/recyclerView"
+            android:layout_width="match_parent"
+            android:layout_height="0dp"
+            android:background="@color/color_normal_background"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/titleBar"
+            app:layout_constraintVertical_bias="1.0"
+            tools:itemCount="20"
+            tools:layout_editor_absoluteX="-81dp"
+            tools:listitem="@layout/item_family_assets" />
+
+    </androidx.constraintlayout.widget.ConstraintLayout>
+
+</layout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_little_doctor_detail.xml b/app/src/main/res/layout/activity_little_doctor_detail.xml
new file mode 100644
index 0000000..8f0ae8b
--- /dev/null
+++ b/app/src/main/res/layout/activity_little_doctor_detail.xml
@@ -0,0 +1,191 @@
+<?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.LittleDoctorDetailActivityViewModel" />
+    </data>
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:background="@color/color_normal_background"
+        android:orientation="vertical">
+
+        <com.android.app_base.widget.ExtendTitleBar
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            app:title="灏忓尰鐢�"
+            app:titleGravity="left"
+            />
+        <ScrollView
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            >
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:orientation="vertical"
+                android:paddingHorizontal="20dp"
+                android:paddingBottom="20dp"
+                >
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_marginTop="@dimen/dp_10"
+                    android:layout_height="@dimen/dp_20"
+                    android:text="鐥囩姸"
+                    android:textColor="#767375"
+                    android:textSize="12sp"
+                    />
+
+
+                <EditText
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:inputType="text"
+                    android:autofillHints="creditCardNumber"
+                    android:textColorHint="#6b000000"
+                    android:textColor="#DE000000"
+                    android:textSize="16sp"
+                    android:text="@={viewModel.beanLiveData.symptom}"
+                    />
+
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_marginTop="10dp"
+                    android:layout_height="wrap_content"
+                    android:text="閫傜敤浜�"
+                    android:textColor="#767375"
+                    android:textSize="12sp"
+                    />
+
+                <EditText
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="2dp"
+                    android:inputType="text"
+                    android:textColor="#DE000000"
+                    android:text="@={viewModel.beanLiveData.suitable}"
+                    android:textSize="16sp" />
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_marginTop="10dp"
+                    android:layout_height="wrap_content"
+                    android:text="鎸佺画鏃堕棿"
+                    android:textColor="#767375"
+                    android:textSize="12sp"
+                    />
+                <EditText
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="2dp"
+                    android:inputType="text"
+                    android:textColorHint="#6b000000"
+                    android:text="@={viewModel.beanLiveData.duration}"
+                    android:textColor="#DE000000"
+                    android:textSize="16sp" />
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_marginTop="10dp"
+                    android:layout_height="wrap_content"
+                    android:text="涓尰澶勬柟"
+                    android:textColor="#767375"
+                    android:textSize="12sp"
+                    />
+                <EditText
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="2dp"
+                    android:inputType="text"
+                    android:textColorHint="#6b000000"
+                    android:textColor="#DE000000"
+                    android:text="@={viewModel.beanLiveData.cmedical}"
+                    android:textSize="16sp" />
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_marginTop="10dp"
+                    android:layout_height="wrap_content"
+                    android:text="瑗垮尰澶勬柟"
+                    android:textColor="#767375"
+                    android:textSize="12sp"
+                    />
+                <EditText
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="2dp"
+                    android:inputType="text"
+                    android:textColorHint="#6b000000"
+                    android:textColor="#DE000000"
+                    android:text="@={viewModel.beanLiveData.wmedical}"
+                    android:textSize="16sp" />
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_marginTop="10dp"
+                    android:layout_height="wrap_content"
+                    android:text="鍔熸晥"
+                    android:textColor="#767375"
+                    android:textSize="12sp"
+                    />
+                <EditText
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="2dp"
+                    android:inputType="text"
+                    android:textColorHint="#6b000000"
+                    android:textColor="#DE000000"
+                    android:text="@={viewModel.beanLiveData.effect}"
+                    android:textSize="16sp" />
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_marginTop="10dp"
+                    android:layout_height="wrap_content"
+                    android:text="澶囨敞"
+                    android:textColor="#767375"
+                    android:textSize="12sp"
+                    />
+                <EditText
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="2dp"
+                    android:inputType="text"
+                    android:textColorHint="#6b000000"
+                    android:textColor="#DE000000"
+                    android:text="@={viewModel.beanLiveData.remark}"
+                    android:textSize="16sp" />
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_marginTop="10dp"
+                    android:layout_height="wrap_content"
+                    android:text="鐢靛瓙鏂囦欢"
+                    android:textColor="#767375"
+                    android:textSize="12sp"
+                    />
+                <RelativeLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:background="@drawable/shape_6b0000_stroke"
+                    >
+                    <com.android.app_base.widget.WrapRecyclerView
+                        android:id="@+id/rv_image"
+                        android:orientation="vertical"
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:layout_marginBottom="10dp"
+                        android:layout_marginTop="2sp"
+                        android:paddingStart="10dp"
+                        android:paddingEnd="5dp"
+                        android:paddingVertical="10dp"
+                        />
+
+                </RelativeLayout>
+
+
+            </LinearLayout>
+        </ScrollView>
+
+
+    </LinearLayout>
+</layout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_marriage.xml b/app/src/main/res/layout/activity_marriage.xml
new file mode 100644
index 0000000..e984bc8
--- /dev/null
+++ b/app/src/main/res/layout/activity_marriage.xml
@@ -0,0 +1,1050 @@
+<?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.MarriageActivityViewModel" />
+    </data>
+
+    <androidx.constraintlayout.widget.ConstraintLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:background="@color/color_normal_background"
+        >
+
+        <com.android.app_base.widget.ExtendTitleBar
+            android:id="@+id/extendTitleBar"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:elevation="10dp"
+            app:layout_constraintTop_toTopOf="parent"
+            app:title="涓汉濠氬Щ(浠呬緵鏌ョ湅)"
+            app:titleGravity="left"
+            />
+
+        <ScrollView
+            android:layout_width="match_parent"
+            android:layout_height="0dp"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/extendTitleBar"
+            >
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:orientation="vertical"
+                >
+                <LinearLayout
+                    android:id="@+id/ll_basic_information"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:orientation="vertical"
+                    android:layout_marginHorizontal="20dp"
+                    android:layout_marginVertical="16dp"
+                    >
+                    <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:text="鍩烘湰淇℃伅"
+                        android:textColor="@color/black"
+                        android:textSize="20sp"
+                        />
+                    <LinearLayout
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:layout_marginTop="10dp"
+                        >
+                        <LinearLayout
+                            android:layout_width="0dp"
+                            android:layout_height="wrap_content"
+                            android:layout_weight="1"
+                            android:orientation="vertical"
+                            >
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:text="濮撳悕"
+                                android:textColor="@color/black"
+                                android:textSize="12sp"
+                                android:alpha="0.54"
+                                />
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:text="寮犱笁"
+                                android:textColor="#DE000000"
+                                android:textSize="14sp"
+                                android:layout_marginTop="5dp"
+                                />
+                            <View
+                                android:layout_width="match_parent"
+                                android:layout_height="1dp"
+                                android:background="#6B000000"
+                                android:layout_marginTop="8dp"
+                                />
+                        </LinearLayout>
+                        <LinearLayout
+                            android:layout_width="0dp"
+                            android:layout_height="wrap_content"
+                            android:layout_weight="1"
+                            android:orientation="vertical"
+                            android:layout_marginStart="40dp"
+                            >
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:text="鎬у埆"
+                                android:textColor="@color/black"
+                                android:textSize="12sp"
+                                android:alpha="0.54"
+                                />
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:text="鐢�"
+                                android:textColor="#DE000000"
+                                android:textSize="14sp"
+                                android:layout_marginTop="5dp"
+                                />
+                            <View
+                                android:layout_width="match_parent"
+                                android:layout_height="1dp"
+                                android:background="#6B000000"
+                                android:layout_marginTop="8dp"
+                                />
+                        </LinearLayout>
+                    </LinearLayout>
+                    <LinearLayout
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:layout_marginTop="20dp"
+                        >
+                        <LinearLayout
+                            android:layout_width="0dp"
+                            android:layout_height="wrap_content"
+                            android:layout_weight="1"
+                            android:orientation="vertical"
+                            >
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:text="鍑虹敓鏃ユ湡"
+                                android:textColor="@color/black"
+                                android:textSize="12sp"
+                                android:alpha="0.54"
+                                />
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:text="2010-01-01"
+                                android:textColor="#DE000000"
+                                android:textSize="14sp"
+                                android:layout_marginTop="5dp"
+                                />
+                            <View
+                                android:layout_width="match_parent"
+                                android:layout_height="1dp"
+                                android:background="#6B000000"
+                                android:layout_marginTop="8dp"
+                                />
+                        </LinearLayout>
+                        <LinearLayout
+                            android:layout_width="0dp"
+                            android:layout_height="wrap_content"
+                            android:layout_weight="1"
+                            android:orientation="vertical"
+                            android:layout_marginStart="40dp"
+                            >
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:text="姘戞棌"
+                                android:textColor="@color/black"
+                                android:textSize="12sp"
+                                android:alpha="0.54"
+                                />
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:text="姹夋棌"
+                                android:textColor="#DE000000"
+                                android:textSize="14sp"
+                                android:layout_marginTop="5dp"
+                                />
+                            <View
+                                android:layout_width="match_parent"
+                                android:layout_height="1dp"
+                                android:background="#6B000000"
+                                android:layout_marginTop="8dp"
+                                />
+                        </LinearLayout>
+                    </LinearLayout>
+                    <LinearLayout
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:layout_marginTop="20dp"
+                        >
+                        <LinearLayout
+                            android:layout_width="0dp"
+                            android:layout_height="wrap_content"
+                            android:layout_weight="1"
+                            android:orientation="vertical"
+                            >
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:text="韬唤璇佸彿"
+                                android:textColor="@color/black"
+                                android:textSize="12sp"
+                                android:alpha="0.54"
+                                />
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:text="445222200110233318"
+                                android:textColor="#DE000000"
+                                android:textSize="14sp"
+                                android:layout_marginTop="5dp"
+                                android:ellipsize="marquee"
+                                />
+                            <View
+                                android:layout_width="match_parent"
+                                android:layout_height="1dp"
+                                android:background="#6B000000"
+                                android:layout_marginTop="8dp"
+                                />
+                        </LinearLayout>
+                        <LinearLayout
+                            android:layout_width="0dp"
+                            android:layout_height="wrap_content"
+                            android:layout_weight="1"
+                            android:orientation="vertical"
+                            android:layout_marginStart="40dp"
+                            >
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:text="鑱旂郴鐢佃瘽"
+                                android:textColor="@color/black"
+                                android:textSize="12sp"
+                                android:alpha="0.54"
+                                />
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:text="17818824255"
+                                android:textColor="#DE000000"
+                                android:textSize="14sp"
+                                android:layout_marginTop="5dp"
+                                />
+                            <View
+                                android:layout_width="match_parent"
+                                android:layout_height="1dp"
+                                android:background="#6B000000"
+                                android:layout_marginTop="8dp"
+                                />
+                        </LinearLayout>
+                    </LinearLayout>
+                    <LinearLayout
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:layout_marginTop="20dp"
+                        >
+                        <LinearLayout
+                            android:layout_width="0dp"
+                            android:layout_height="wrap_content"
+                            android:layout_weight="1"
+                            android:orientation="vertical"
+                            >
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:text="濠氬Щ鐘跺喌"
+                                android:textColor="@color/black"
+                                android:textSize="12sp"
+                                android:alpha="0.54"
+                                />
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:text="宸插"
+                                android:textColor="#DE000000"
+                                android:textSize="14sp"
+                                android:layout_marginTop="5dp"
+                                android:drawableStart="@drawable/ic_radio_button"
+                                android:drawablePadding="8dp"
+                                />
+                            <View
+                                android:layout_width="match_parent"
+                                android:layout_height="1dp"
+                                android:background="#6B000000"
+                                android:layout_marginTop="8dp"
+                                />
+                        </LinearLayout>
+                        <LinearLayout
+                            android:layout_width="0dp"
+                            android:layout_height="wrap_content"
+                            android:layout_weight="1"
+                            android:orientation="vertical"
+                            android:layout_marginStart="40dp"
+                            >
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:text="缁撳鏃堕棿"
+                                android:textColor="@color/black"
+                                android:textSize="12sp"
+                                android:alpha="0.54"
+                                />
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:text="2020-10"
+                                android:textColor="#DE000000"
+                                android:textSize="14sp"
+                                android:layout_marginTop="5dp"
+                                />
+                            <View
+                                android:layout_width="match_parent"
+                                android:layout_height="1dp"
+                                android:background="#6B000000"
+                                android:layout_marginTop="8dp"
+                                />
+                        </LinearLayout>
+                    </LinearLayout>
+                    <LinearLayout
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:layout_marginTop="20dp"
+                        >
+                        <LinearLayout
+                            android:layout_width="0dp"
+                            android:layout_height="wrap_content"
+                            android:layout_weight="1"
+                            android:orientation="vertical"
+                            >
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:text="鎴风睄鍦板潃"
+                                android:textColor="@color/black"
+                                android:textSize="12sp"
+                                android:alpha="0.54"
+                                />
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:text="骞夸笢鐪佸箍宸炲競"
+                                android:textColor="#DE000000"
+                                android:textSize="14sp"
+                                android:layout_marginTop="5dp"
+                                />
+                            <View
+                                android:layout_width="match_parent"
+                                android:layout_height="1dp"
+                                android:background="#6B000000"
+                                android:layout_marginTop="8dp"
+                                />
+                        </LinearLayout>
+                        <LinearLayout
+                            android:layout_width="0dp"
+                            android:layout_height="wrap_content"
+                            android:layout_weight="1"
+                            android:orientation="vertical"
+                            android:layout_marginStart="40dp"
+                            >
+                        </LinearLayout>
+                    </LinearLayout>
+                </LinearLayout>
+                <androidx.cardview.widget.CardView
+                    android:id="@+id/card_spouse"
+                    android:layout_width="match_parent"
+                    android:layout_height="50dp"
+                    android:layout_marginHorizontal="14dp"
+                    app:cardCornerRadius="10dp"
+                    app:cardElevation="3dp"
+                    tools:layout_height="wrap_content"
+                    >
+                    <LinearLayout
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:orientation="vertical"
+                        android:layout_marginHorizontal="6dp"
+                        >
+                        <LinearLayout
+                            android:id="@+id/layout_title_spouse"
+                            android:layout_width="match_parent"
+                            android:layout_height="50dp"
+                            android:gravity="center_vertical"
+                            >
+                            <TextView
+                                android:layout_width="0dp"
+                                android:layout_weight="1"
+                                android:layout_height="wrap_content"
+                                android:text="閰嶅伓鎯呭喌"
+                                android:textColor="@color/black"
+                                android:textSize="20sp"
+                                />
+                            <ImageView
+                                android:id="@+id/iv_spouse_fold"
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:background="@{viewModel.isSpouseExpendedLiveData?@drawable/ic_unfold:@drawable/ic_fold}"
+                                />
+                        </LinearLayout>
+                        <LinearLayout
+                            android:id="@+id/layout_content_spouse"
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:orientation="vertical"
+
+                            >
+                            <LinearLayout
+                                android:layout_width="match_parent"
+                                android:layout_height="wrap_content"
+                                >
+                                <LinearLayout
+                                    android:layout_width="0dp"
+                                    android:layout_height="wrap_content"
+                                    android:layout_weight="1"
+                                    android:orientation="vertical"
+                                    >
+                                    <TextView
+                                        android:layout_width="wrap_content"
+                                        android:layout_height="wrap_content"
+                                        android:maxLines="1"
+                                        android:text="濮撳悕"
+                                        android:textColor="@color/black"
+                                        android:textSize="12sp"
+                                        android:alpha="0.54"
+                                        />
+                                    <TextView
+                                        android:layout_width="wrap_content"
+                                        android:layout_height="wrap_content"
+                                        android:maxLines="1"
+                                        android:text="寮犱笁"
+                                        android:textColor="#DE000000"
+                                        android:textSize="14sp"
+                                        android:layout_marginTop="5dp"
+                                        />
+                                    <View
+                                        android:layout_width="match_parent"
+                                        android:layout_height="1dp"
+                                        android:background="#6B000000"
+                                        android:layout_marginTop="8dp"
+                                        />
+                                </LinearLayout>
+                                <LinearLayout
+                                    android:layout_width="0dp"
+                                    android:layout_height="wrap_content"
+                                    android:layout_weight="1"
+                                    android:orientation="vertical"
+                                    android:layout_marginStart="40dp"
+                                    >
+                                    <TextView
+                                        android:layout_width="wrap_content"
+                                        android:layout_height="wrap_content"
+                                        android:maxLines="1"
+                                        android:text="濠氬Щ鐘跺喌"
+                                        android:textColor="@color/black"
+                                        android:textSize="12sp"
+                                        android:alpha="0.54"
+                                        />
+                                    <TextView
+                                        android:layout_width="wrap_content"
+                                        android:layout_height="wrap_content"
+                                        android:maxLines="1"
+                                        android:text="宸插"
+                                        android:textColor="#DE000000"
+                                        android:textSize="14sp"
+                                        android:layout_marginTop="5dp"
+                                        android:drawableStart="@drawable/ic_radio_button"
+                                        android:drawablePadding="8dp"
+                                        />
+                                    <View
+                                        android:layout_width="match_parent"
+                                        android:layout_height="1dp"
+                                        android:background="#6B000000"
+                                        android:layout_marginTop="8dp"
+                                        />
+                                </LinearLayout>
+                            </LinearLayout>
+                            <LinearLayout
+                                android:layout_width="match_parent"
+                                android:layout_height="wrap_content"
+                                android:layout_marginTop="20dp"
+                                >
+                                <LinearLayout
+                                    android:layout_width="0dp"
+                                    android:layout_height="wrap_content"
+                                    android:layout_weight="1"
+                                    android:orientation="vertical"
+                                    >
+                                    <TextView
+                                        android:layout_width="wrap_content"
+                                        android:layout_height="wrap_content"
+                                        android:maxLines="1"
+                                        android:text="鍑虹敓鏃ユ湡"
+                                        android:textColor="@color/black"
+                                        android:textSize="12sp"
+                                        android:alpha="0.54"
+                                        />
+                                    <TextView
+                                        android:layout_width="wrap_content"
+                                        android:layout_height="wrap_content"
+                                        android:maxLines="1"
+                                        android:text="2010-01-01"
+                                        android:textColor="#DE000000"
+                                        android:textSize="14sp"
+                                        android:layout_marginTop="5dp"
+                                        />
+                                    <View
+                                        android:layout_width="match_parent"
+                                        android:layout_height="1dp"
+                                        android:background="#6B000000"
+                                        android:layout_marginTop="8dp"
+                                        />
+                                </LinearLayout>
+                                <LinearLayout
+                                    android:layout_width="0dp"
+                                    android:layout_height="wrap_content"
+                                    android:layout_weight="1"
+                                    android:orientation="vertical"
+                                    android:layout_marginStart="40dp"
+                                    >
+                                    <TextView
+                                        android:layout_width="wrap_content"
+                                        android:layout_height="wrap_content"
+                                        android:maxLines="1"
+                                        android:text="鎴风睄鍦板潃"
+                                        android:textColor="@color/black"
+                                        android:textSize="12sp"
+                                        android:alpha="0.54"
+                                        />
+                                    <TextView
+                                        android:layout_width="wrap_content"
+                                        android:layout_height="wrap_content"
+                                        android:maxLines="1"
+                                        android:text="骞夸笢鐪佸箍宸炲競"
+                                        android:textColor="#DE000000"
+                                        android:textSize="14sp"
+                                        android:layout_marginTop="5dp"
+                                        />
+                                    <View
+                                        android:layout_width="match_parent"
+                                        android:layout_height="1dp"
+                                        android:background="#6B000000"
+                                        android:layout_marginTop="8dp"
+                                        />
+                                </LinearLayout>
+                            </LinearLayout>
+                            <LinearLayout
+                                android:layout_width="match_parent"
+                                android:layout_height="wrap_content"
+                                android:layout_marginTop="20dp"
+                                android:layout_marginBottom="10dp"
+                                >
+                                <LinearLayout
+                                    android:layout_width="0dp"
+                                    android:layout_height="wrap_content"
+                                    android:layout_weight="1"
+                                    android:orientation="vertical"
+                                    >
+                                    <TextView
+                                        android:layout_width="wrap_content"
+                                        android:layout_height="wrap_content"
+                                        android:maxLines="1"
+                                        android:text="宸ヤ綔鍗曚綅"
+                                        android:textColor="@color/black"
+                                        android:textSize="12sp"
+                                        android:alpha="0.54"
+                                        />
+                                    <TextView
+                                        android:layout_width="wrap_content"
+                                        android:layout_height="wrap_content"
+                                        android:maxLines="1"
+                                        android:text="寮犳皬鍏徃"
+                                        android:textColor="#DE000000"
+                                        android:textSize="14sp"
+                                        android:layout_marginTop="5dp"
+                                        android:ellipsize="marquee"
+                                        />
+                                    <View
+                                        android:layout_width="match_parent"
+                                        android:layout_height="1dp"
+                                        android:background="#6B000000"
+                                        android:layout_marginTop="8dp"
+                                        />
+                                </LinearLayout>
+                                <LinearLayout
+                                    android:layout_width="0dp"
+                                    android:layout_height="wrap_content"
+                                    android:layout_weight="1"
+                                    android:orientation="vertical"
+                                    android:layout_marginStart="40dp"
+                                    >
+                                </LinearLayout>
+                            </LinearLayout>
+
+                        </LinearLayout>
+
+
+                    </LinearLayout>
+
+                </androidx.cardview.widget.CardView>
+                <androidx.cardview.widget.CardView
+                    android:id="@+id/card_predecessor"
+                    android:layout_width="match_parent"
+                    android:layout_height="50dp"
+                    android:layout_marginHorizontal="14dp"
+                    android:layout_marginTop="10dp"
+                    app:cardCornerRadius="10dp"
+                    app:cardElevation="2dp"
+                    >
+                    <LinearLayout
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:orientation="vertical"
+                        android:layout_marginHorizontal="6dp"
+                        >
+                        <LinearLayout
+                            android:id="@+id/layout_title_predecessor"
+                            android:layout_width="match_parent"
+                            android:layout_height="50dp"
+                            android:gravity="center_vertical"
+                            >
+                            <TextView
+                                android:layout_width="0dp"
+                                android:layout_weight="1"
+                                android:layout_height="wrap_content"
+                                android:text="鍓嶄换"
+                                android:textColor="@color/black"
+                                android:textSize="20sp"
+                                />
+                            <ImageView
+                                android:id="@+id/iv_predecessor_fold"
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:background="@{viewModel.isPredecessorExpendedLiveData?@drawable/ic_unfold:@drawable/ic_fold}"
+                                />
+                        </LinearLayout>
+                        <LinearLayout
+                            android:id="@+id/layout_content_predecessor"
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:orientation="vertical"
+                            >
+                            <LinearLayout
+                                android:layout_width="match_parent"
+                                android:layout_height="wrap_content"
+                                >
+                                <LinearLayout
+                                    android:layout_width="0dp"
+                                    android:layout_height="wrap_content"
+                                    android:layout_weight="1"
+                                    android:orientation="vertical"
+                                    >
+                                    <TextView
+                                        android:layout_width="wrap_content"
+                                        android:layout_height="wrap_content"
+                                        android:maxLines="1"
+                                        android:text="濮撳悕"
+                                        android:textColor="@color/black"
+                                        android:textSize="12sp"
+                                        android:alpha="0.54"
+                                        />
+                                    <TextView
+                                        android:layout_width="wrap_content"
+                                        android:layout_height="wrap_content"
+                                        android:maxLines="1"
+                                        android:text="寮犱笁"
+                                        android:textColor="#DE000000"
+                                        android:textSize="14sp"
+                                        android:layout_marginTop="5dp"
+                                        />
+                                    <View
+                                        android:layout_width="match_parent"
+                                        android:layout_height="1dp"
+                                        android:background="#6B000000"
+                                        android:layout_marginTop="8dp"
+                                        />
+                                </LinearLayout>
+                                <LinearLayout
+                                    android:layout_width="0dp"
+                                    android:layout_height="wrap_content"
+                                    android:layout_weight="1"
+                                    android:orientation="vertical"
+                                    android:layout_marginStart="40dp"
+                                    >
+                                    <TextView
+                                        android:layout_width="wrap_content"
+                                        android:layout_height="wrap_content"
+                                        android:maxLines="1"
+                                        android:text="濠氬Щ鐘跺喌"
+                                        android:textColor="@color/black"
+                                        android:textSize="12sp"
+                                        android:alpha="0.54"
+                                        />
+                                    <TextView
+                                        android:layout_width="wrap_content"
+                                        android:layout_height="wrap_content"
+                                        android:maxLines="1"
+                                        android:text="绂诲"
+                                        android:textColor="#DE000000"
+                                        android:textSize="14sp"
+                                        android:layout_marginTop="5dp"
+                                        android:drawableStart="@drawable/ic_radio_button"
+                                        android:drawablePadding="8dp"
+                                        />
+                                    <View
+                                        android:layout_width="match_parent"
+                                        android:layout_height="1dp"
+                                        android:background="#6B000000"
+                                        android:layout_marginTop="8dp"
+                                        />
+                                </LinearLayout>
+                            </LinearLayout>
+                            <LinearLayout
+                                android:layout_width="match_parent"
+                                android:layout_height="wrap_content"
+                                android:layout_marginTop="20dp"
+                                >
+                                <LinearLayout
+                                    android:layout_width="0dp"
+                                    android:layout_height="wrap_content"
+                                    android:layout_weight="1"
+                                    android:orientation="vertical"
+                                    >
+                                    <TextView
+                                        android:layout_width="wrap_content"
+                                        android:layout_height="wrap_content"
+                                        android:maxLines="1"
+                                        android:text="鍑虹敓鏃ユ湡"
+                                        android:textColor="@color/black"
+                                        android:textSize="12sp"
+                                        android:alpha="0.54"
+                                        />
+                                    <TextView
+                                        android:layout_width="wrap_content"
+                                        android:layout_height="wrap_content"
+                                        android:maxLines="1"
+                                        android:text="2010-01-01"
+                                        android:textColor="#DE000000"
+                                        android:textSize="14sp"
+                                        android:layout_marginTop="5dp"
+                                        />
+                                    <View
+                                        android:layout_width="match_parent"
+                                        android:layout_height="1dp"
+                                        android:background="#6B000000"
+                                        android:layout_marginTop="8dp"
+                                        />
+                                </LinearLayout>
+                                <LinearLayout
+                                    android:layout_width="0dp"
+                                    android:layout_height="wrap_content"
+                                    android:layout_weight="1"
+                                    android:orientation="vertical"
+                                    android:layout_marginStart="40dp"
+                                    >
+                                    <TextView
+                                        android:layout_width="wrap_content"
+                                        android:layout_height="wrap_content"
+                                        android:maxLines="1"
+                                        android:text="鎴风睄鍦板潃"
+                                        android:textColor="@color/black"
+                                        android:textSize="12sp"
+                                        android:alpha="0.54"
+                                        />
+                                    <TextView
+                                        android:layout_width="wrap_content"
+                                        android:layout_height="wrap_content"
+                                        android:maxLines="1"
+                                        android:text="骞夸笢鐪佸箍宸炲競"
+                                        android:textColor="#DE000000"
+                                        android:textSize="14sp"
+                                        android:layout_marginTop="5dp"
+                                        />
+                                    <View
+                                        android:layout_width="match_parent"
+                                        android:layout_height="1dp"
+                                        android:background="#6B000000"
+                                        android:layout_marginTop="8dp"
+                                        />
+                                </LinearLayout>
+                            </LinearLayout>
+                            <LinearLayout
+                                android:layout_width="match_parent"
+                                android:layout_height="wrap_content"
+                                android:layout_marginTop="20dp"
+                                android:layout_marginBottom="10dp"
+                                >
+                                <LinearLayout
+                                    android:layout_width="0dp"
+                                    android:layout_height="wrap_content"
+                                    android:layout_weight="1"
+                                    android:orientation="vertical"
+                                    >
+                                    <TextView
+                                        android:layout_width="wrap_content"
+                                        android:layout_height="wrap_content"
+                                        android:maxLines="1"
+                                        android:text="宸ヤ綔鍗曚綅"
+                                        android:textColor="@color/black"
+                                        android:textSize="12sp"
+                                        android:alpha="0.54"
+                                        />
+                                    <TextView
+                                        android:layout_width="wrap_content"
+                                        android:layout_height="wrap_content"
+                                        android:maxLines="1"
+                                        android:text="寮犳皬鍏徃"
+                                        android:textColor="#DE000000"
+                                        android:textSize="14sp"
+                                        android:layout_marginTop="5dp"
+                                        android:ellipsize="marquee"
+                                        />
+                                    <View
+                                        android:layout_width="match_parent"
+                                        android:layout_height="1dp"
+                                        android:background="#6B000000"
+                                        android:layout_marginTop="8dp"
+                                        />
+                                </LinearLayout>
+                                <LinearLayout
+                                    android:layout_width="0dp"
+                                    android:layout_height="wrap_content"
+                                    android:layout_weight="1"
+                                    android:orientation="vertical"
+                                    android:layout_marginStart="40dp"
+                                    >
+                                </LinearLayout>
+                            </LinearLayout>
+                        </LinearLayout>
+
+                    </LinearLayout>
+
+                </androidx.cardview.widget.CardView>
+                <androidx.cardview.widget.CardView
+                    android:id="@+id/card_procreate"
+                    android:layout_width="match_parent"
+                    android:layout_height="50dp"
+                    android:layout_marginHorizontal="14dp"
+                    android:layout_marginTop="10dp"
+                    app:cardCornerRadius="10dp"
+                    app:cardElevation="2dp"
+                    >
+                    <LinearLayout
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:orientation="vertical"
+                        android:layout_marginHorizontal="6dp"
+                        >
+                        <LinearLayout
+                            android:id="@+id/layout_title_procreate"
+                            android:layout_width="match_parent"
+                            android:layout_height="50dp"
+                            android:gravity="center_vertical"
+                            >
+                            <TextView
+                                android:layout_width="0dp"
+                                android:layout_weight="1"
+                                android:layout_height="wrap_content"
+                                android:text="鐢熻偛鎯呭喌"
+                                android:textColor="@color/black"
+                                android:textSize="20sp"
+                                />
+                            <ImageView
+                                android:id="@+id/iv_procreate_fold"
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:background="@{viewModel.isProcreateExpendedLiveData?@drawable/ic_unfold:@drawable/ic_fold}"
+                                />
+                        </LinearLayout>
+                        <LinearLayout
+                            android:id="@+id/layout_content_procreate"
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:orientation="vertical"
+
+                            >
+                            <LinearLayout
+                                android:layout_width="match_parent"
+                                android:layout_height="wrap_content"
+                                >
+                                <LinearLayout
+                                    android:layout_width="0dp"
+                                    android:layout_height="wrap_content"
+                                    android:layout_weight="1"
+                                    android:orientation="vertical"
+                                    >
+                                    <TextView
+                                        android:layout_width="wrap_content"
+                                        android:layout_height="wrap_content"
+                                        android:maxLines="1"
+                                        android:text="鐢熻偛鐘跺喌"
+                                        android:textColor="@color/black"
+                                        android:textSize="12sp"
+                                        android:alpha="0.54"
+                                        />
+                                    <TextView
+                                        android:layout_width="wrap_content"
+                                        android:layout_height="wrap_content"
+                                        android:maxLines="1"
+                                        android:text="宸茬敓鑲�"
+                                        android:textColor="#DE000000"
+                                        android:textSize="14sp"
+                                        android:layout_marginTop="5dp"
+                                        android:drawableStart="@drawable/ic_radio_button"
+                                        android:drawablePadding="8dp"
+                                        />
+                                    <View
+                                        android:layout_width="match_parent"
+                                        android:layout_height="1dp"
+                                        android:background="#6B000000"
+                                        android:layout_marginTop="8dp"
+                                        />
+                                </LinearLayout>
+                                <LinearLayout
+                                    android:layout_width="0dp"
+                                    android:layout_height="wrap_content"
+                                    android:layout_weight="1"
+                                    android:orientation="vertical"
+                                    android:layout_marginStart="40dp"
+                                    >
+                                </LinearLayout>
+                            </LinearLayout>
+                            <LinearLayout
+                                android:layout_width="match_parent"
+                                android:layout_height="wrap_content"
+                                android:layout_marginTop="20dp"
+                                >
+                                <LinearLayout
+                                    android:layout_width="0dp"
+                                    android:layout_height="wrap_content"
+                                    android:layout_weight="1"
+                                    android:orientation="vertical"
+                                    >
+                                    <TextView
+                                        android:layout_width="wrap_content"
+                                        android:layout_height="wrap_content"
+                                        android:maxLines="1"
+                                        android:text="棰嗗彇銆婅鍒掔敓鑲叉湇鍔℃墜鍐屻��"
+                                        android:textColor="@color/black"
+                                        android:textSize="12sp"
+                                        android:alpha="0.54"
+                                        />
+                                    <TextView
+                                        android:layout_width="wrap_content"
+                                        android:layout_height="wrap_content"
+                                        android:maxLines="1"
+                                        android:text="鏄�"
+                                        android:textColor="#DE000000"
+                                        android:textSize="14sp"
+                                        android:layout_marginTop="5dp"
+                                        android:drawableStart="@drawable/ic_radio_button"
+                                        android:drawablePadding="8dp"
+                                        />
+                                    <View
+                                        android:layout_width="match_parent"
+                                        android:layout_height="1dp"
+                                        android:background="#6B000000"
+                                        android:layout_marginTop="8dp"
+                                        />
+                                </LinearLayout>
+                                <LinearLayout
+                                    android:layout_width="0dp"
+                                    android:layout_height="wrap_content"
+                                    android:layout_weight="1"
+                                    android:orientation="vertical"
+                                    android:layout_marginStart="40dp"
+                                    >
+                                </LinearLayout>
+                            </LinearLayout>
+                            <LinearLayout
+                                android:layout_width="match_parent"
+                                android:layout_height="wrap_content"
+                                android:layout_marginTop="20dp"
+                                android:layout_marginBottom="10dp"
+                                >
+                                <LinearLayout
+                                    android:layout_width="0dp"
+                                    android:layout_height="wrap_content"
+                                    android:layout_weight="1"
+                                    android:orientation="vertical"
+                                    >
+                                    <TextView
+                                        android:layout_width="wrap_content"
+                                        android:layout_height="wrap_content"
+                                        android:maxLines="1"
+                                        android:text="棰嗗彇銆婄嫭鐢熷瓙濂宠瘉銆�"
+                                        android:textColor="@color/black"
+                                        android:textSize="12sp"
+                                        android:alpha="0.54"
+                                        />
+                                    <TextView
+                                        android:layout_width="wrap_content"
+                                        android:layout_height="wrap_content"
+                                        android:maxLines="1"
+                                        android:text="鏄�"
+                                        android:textColor="#DE000000"
+                                        android:textSize="14sp"
+                                        android:layout_marginTop="5dp"
+                                        android:drawableStart="@drawable/ic_radio_button"
+                                        android:drawablePadding="8dp"
+                                        />
+                                    <View
+                                        android:layout_width="match_parent"
+                                        android:layout_height="1dp"
+                                        android:background="#6B000000"
+                                        android:layout_marginTop="8dp"
+                                        />
+                                </LinearLayout>
+                                <LinearLayout
+                                    android:layout_width="0dp"
+                                    android:layout_height="wrap_content"
+                                    android:layout_weight="1"
+                                    android:orientation="vertical"
+                                    android:layout_marginStart="40dp"
+                                    >
+                                    <TextView
+                                        android:layout_width="wrap_content"
+                                        android:layout_height="wrap_content"
+                                        android:maxLines="1"
+                                        android:text="棰嗗彇鏃堕棿"
+                                        android:textColor="@color/black"
+                                        android:textSize="12sp"
+                                        android:alpha="0.54"
+                                        />
+                                    <TextView
+                                        android:layout_width="wrap_content"
+                                        android:layout_height="wrap_content"
+                                        android:maxLines="1"
+                                        android:text="2023-01-01"
+                                        android:textColor="#DE000000"
+                                        android:textSize="14sp"
+                                        android:layout_marginTop="5dp"
+                                        />
+                                    <View
+                                        android:layout_width="match_parent"
+                                        android:layout_height="1dp"
+                                        android:background="#6B000000"
+                                        android:layout_marginTop="8dp"
+                                        />
+                                </LinearLayout>
+                            </LinearLayout>
+                        </LinearLayout>
+
+                    </LinearLayout>
+
+                </androidx.cardview.widget.CardView>
+            </LinearLayout>
+        </ScrollView>
+
+
+
+    </androidx.constraintlayout.widget.ConstraintLayout>
+</layout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_pet.xml b/app/src/main/res/layout/activity_pet.xml
new file mode 100644
index 0000000..2accf0d
--- /dev/null
+++ b/app/src/main/res/layout/activity_pet.xml
@@ -0,0 +1,144 @@
+<?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.PetActivityViewModel" />
+    </data>
+
+    <androidx.constraintlayout.widget.ConstraintLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:orientation="vertical">
+
+        <com.android.app_base.widget.ExtendTitleBar
+            android:id="@+id/titleBar"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            app:layout_constraintTop_toTopOf="parent"
+            >
+            <FrameLayout
+                android:layout_width="24dp"
+                android:layout_height="24dp"
+                android:layout_marginHorizontal="16dp"
+                android:layout_gravity="center_vertical|end"
+                >
+                <ImageView
+                    android:id="@+id/iv_operate"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_gravity="center"
+                    android:background="@drawable/ic_operate"
+                    />
+            </FrameLayout>
+
+            <LinearLayout
+                android:id="@+id/layout_default"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:layout_marginHorizontal="56dp"
+                android:gravity="center_vertical"
+                >
+                <TextView
+                    android:id="@+id/tv_title"
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:layout_marginStart="16dp"
+                    android:text="榄呭疇"
+                    android:layout_weight="1"
+                    android:textColor="@color/white"
+                    android:textSize="@dimen/sp_20"
+                    />
+                <ImageView
+                    android:id="@+id/iv_search_default"
+                    android:layout_width="@dimen/dp_24"
+                    android:layout_height="@dimen/dp_24"
+                    android:background="@drawable/ic_search"
+                    />
+            </LinearLayout>
+
+            <LinearLayout
+                android:id="@+id/layout_search"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:layout_marginVertical="4dp"
+                android:layout_marginHorizontal="56dp"
+                android:gravity="center_vertical"
+                android:background="@color/white"
+                android:paddingHorizontal="5dp"
+                android:visibility="gone"
+                >
+                <ImageView
+                    android:id="@+id/iv_search"
+                    android:layout_width="24dp"
+                    android:layout_height="24dp"
+                    android:background="@drawable/ic_search_gray"
+                    />
+                <EditText
+                    android:id="@+id/et_search"
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:layout_weight="1"
+                    android:layout_marginStart="5dp"
+                    android:textSize="14sp"
+                    android:textColor="#61000000"
+                    android:background="@null"
+                    android:imeOptions="actionSearch"
+                    android:text=""
+                    android:singleLine="true"
+                    android:hint="鍦ㄢ�滃澶т簨璁板唴鎼滅储鈥�"
+                    />
+                <ImageView
+                    android:id="@+id/iv_search_type"
+                    android:layout_width="24dp"
+                    android:layout_height="24dp"
+                    android:background="@drawable/ic_search_by"
+                    />
+            </LinearLayout>
+
+        </com.android.app_base.widget.ExtendTitleBar>
+
+        <LinearLayout
+            android:id="@+id/layout_data_null"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:orientation="vertical"
+            android:gravity="center"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/titleBar">
+
+            <ImageView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:background="@drawable/img_data_null"
+                />
+            <TextView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="18dp"
+                android:text="鏆傛椂杩樻病鏈夋暟鎹摝~\n鐐瑰嚮鈥濓紜鈥濈珛鍗冲垱寤�"
+                android:textSize="14sp"
+                android:textColor="#73000000"
+                />
+        </LinearLayout>
+
+        <androidx.recyclerview.widget.RecyclerView
+            android:id="@+id/recyclerView"
+            android:layout_width="match_parent"
+            android:layout_height="0dp"
+            android:background="@color/color_normal_background"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/titleBar"
+            app:layout_constraintVertical_bias="1.0"
+            tools:itemCount="20"
+            tools:layout_editor_absoluteX="-81dp"
+            tools:listitem="@layout/item_family_assets" />
+
+    </androidx.constraintlayout.widget.ConstraintLayout>
+
+</layout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_property.xml b/app/src/main/res/layout/activity_property.xml
new file mode 100644
index 0000000..9ccda7f
--- /dev/null
+++ b/app/src/main/res/layout/activity_property.xml
@@ -0,0 +1,143 @@
+<?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.PropertyActivityViewModel" />
+    </data>
+
+    <androidx.constraintlayout.widget.ConstraintLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:orientation="vertical">
+
+        <com.android.app_base.widget.ExtendTitleBar
+            android:id="@+id/titleBar"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            app:layout_constraintTop_toTopOf="parent"
+            >
+            <FrameLayout
+                android:layout_width="24dp"
+                android:layout_height="24dp"
+                android:layout_marginHorizontal="16dp"
+                android:layout_gravity="center_vertical|end"
+                >
+                <ImageView
+                    android:id="@+id/iv_operate"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_gravity="center"
+                    android:background="@drawable/ic_operate"
+                    />
+            </FrameLayout>
+
+            <LinearLayout
+                android:id="@+id/layout_default"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:layout_marginHorizontal="56dp"
+                android:gravity="center_vertical"
+                >
+                <TextView
+                    android:id="@+id/tv_title"
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:layout_marginStart="16dp"
+                    android:text="淇濇磥鏀剁撼"
+                    android:layout_weight="1"
+                    android:textColor="@color/white"
+                    android:textSize="@dimen/sp_20"
+                    />
+                <ImageView
+                    android:id="@+id/iv_search_default"
+                    android:layout_width="@dimen/dp_24"
+                    android:layout_height="@dimen/dp_24"
+                    android:background="@drawable/ic_search"
+                    />
+            </LinearLayout>
+
+            <LinearLayout
+                android:id="@+id/layout_search"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:layout_marginVertical="4dp"
+                android:layout_marginHorizontal="56dp"
+                android:gravity="center_vertical"
+                android:background="@color/white"
+                android:paddingHorizontal="5dp"
+                android:visibility="gone"
+                >
+                <ImageView
+                    android:id="@+id/iv_search"
+                    android:layout_width="24dp"
+                    android:layout_height="24dp"
+                    android:background="@drawable/ic_search_gray"
+                    />
+                <EditText
+                    android:id="@+id/et_search"
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:layout_weight="1"
+                    android:layout_marginStart="5dp"
+                    android:textSize="14sp"
+                    android:textColor="#61000000"
+                    android:background="@null"
+                    android:imeOptions="actionSearch"
+                    android:text=""
+                    android:singleLine="true"
+                    android:hint="鍦ㄢ�滃澶т簨璁板唴鎼滅储鈥�"
+                    />
+                <ImageView
+                    android:id="@+id/iv_search_type"
+                    android:layout_width="24dp"
+                    android:layout_height="24dp"
+                    android:background="@drawable/ic_search_by"
+                    />
+            </LinearLayout>
+
+        </com.android.app_base.widget.ExtendTitleBar>
+
+        <LinearLayout
+            android:id="@+id/layout_data_null"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:orientation="vertical"
+            android:gravity="center"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/titleBar">
+
+            <ImageView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:background="@drawable/img_data_null"
+                />
+            <TextView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="18dp"
+                android:text="鏆傛椂杩樻病鏈夋暟鎹摝~\n鐐瑰嚮鈥濓紜鈥濈珛鍗冲垱寤�"
+                android:textSize="14sp"
+                android:textColor="#73000000"
+                />
+        </LinearLayout>
+
+        <androidx.recyclerview.widget.RecyclerView
+            android:id="@+id/recyclerView"
+            android:layout_width="match_parent"
+            android:layout_height="0dp"
+            android:background="@color/color_normal_background"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/titleBar"
+            app:layout_constraintVertical_bias="1.0"
+            tools:itemCount="20"
+            />
+
+    </androidx.constraintlayout.widget.ConstraintLayout>
+
+</layout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_property_detail.xml b/app/src/main/res/layout/activity_property_detail.xml
new file mode 100644
index 0000000..cc9fdc0
--- /dev/null
+++ b/app/src/main/res/layout/activity_property_detail.xml
@@ -0,0 +1,225 @@
+<?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.PropertyDetailActivityViewModel" />
+    </data>
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:background="@color/color_normal_background"
+        android:orientation="vertical">
+
+        <com.android.app_base.widget.ExtendTitleBar
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            app:title="@{viewModel.beanLiveData.name+`(浠呬緵鏌ョ湅)`}"
+            app:titleGravity="left"
+            />
+        <ScrollView
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            >
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:orientation="vertical"
+                android:paddingHorizontal="20dp"
+                android:paddingBottom="20dp"
+                >
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_marginTop="@dimen/dp_10"
+                    android:layout_height="@dimen/dp_20"
+                    android:text="鏃堕棿"
+                    android:textColor="#767375"
+                    android:textSize="12sp"
+                    />
+
+
+                <EditText
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:inputType="text"
+                    android:autofillHints="creditCardNumber"
+                    android:textColorHint="#6b000000"
+                    android:textColor="#DE000000"
+                    android:textSize="16sp"
+                    android:text="@={viewModel.beanLiveData.createTime}"
+                    />
+
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_marginTop="10dp"
+                    android:layout_height="wrap_content"
+                    android:text="璐骇绫诲埆"
+                    android:textColor="#767375"
+                    android:textSize="12sp"
+                    />
+
+                <EditText
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="2dp"
+                    android:inputType="text"
+                    android:textColor="#DE000000"
+                    android:text="@={viewModel.beanLiveData.type}"
+                    android:textSize="16sp" />
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_marginTop="10dp"
+                    android:layout_height="wrap_content"
+                    android:text="鏀舵敮鍚嶇О"
+                    android:textColor="#767375"
+                    android:textSize="12sp"
+                    />
+                <EditText
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="2dp"
+                    android:inputType="text"
+                    android:textColorHint="#6b000000"
+                    android:text="@={viewModel.beanLiveData.name}"
+                    android:textColor="#DE000000"
+                    android:textSize="16sp" />
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_marginTop="10dp"
+                    android:layout_height="wrap_content"
+                    android:text="浠峰�硷紙閲戦锛�"
+                    android:textColor="#767375"
+                    android:textSize="12sp"
+                    />
+                <EditText
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="2dp"
+                    android:inputType="text"
+                    android:textColorHint="#6b000000"
+                    android:textColor="#DE000000"
+                    android:text="@={viewModel.beanLiveData.price}"
+                    android:textSize="16sp" />
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_marginTop="10dp"
+                    android:layout_height="wrap_content"
+                    android:text="鏈熼檺"
+                    android:textColor="#767375"
+                    android:textSize="12sp"
+                    />
+                <EditText
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="2dp"
+                    android:inputType="text"
+                    android:textColorHint="#6b000000"
+                    android:textColor="#DE000000"
+                    android:text="@={viewModel.beanLiveData.term}"
+                    android:textSize="16sp" />
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_marginTop="10dp"
+                    android:layout_height="wrap_content"
+                    android:text="鏇村彉鎴栨敞閿�"
+                    android:textColor="#767375"
+                    android:textSize="12sp"
+                    />
+                <EditText
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="2dp"
+                    android:inputType="text"
+                    android:textColorHint="#6b000000"
+                    android:textColor="#DE000000"
+                    android:text="@={viewModel.beanLiveData.status}"
+                    android:textSize="16sp" />
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_marginTop="10dp"
+                    android:layout_height="wrap_content"
+                    android:text="浜ф潈"
+                    android:textColor="#767375"
+                    android:textSize="12sp"
+                    />
+                <EditText
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="2dp"
+                    android:inputType="text"
+                    android:textColorHint="#6b000000"
+                    android:textColor="#DE000000"
+                    android:text="@={viewModel.beanLiveData.propertyRight}"
+                    android:textSize="16sp" />
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_marginTop="10dp"
+                    android:layout_height="wrap_content"
+                    android:text="瀛樻斁浣嶇疆"
+                    android:textColor="#767375"
+                    android:textSize="12sp"
+                    />
+                <EditText
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="2dp"
+                    android:inputType="text"
+                    android:textColorHint="#6b000000"
+                    android:textColor="#DE000000"
+                    android:text="@={viewModel.beanLiveData.location}"
+                    android:textSize="16sp" />
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_marginTop="10dp"
+                    android:layout_height="wrap_content"
+                    android:text="澶囨敞"
+                    android:textColor="#767375"
+                    android:textSize="12sp"
+                    />
+                <EditText
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="2dp"
+                    android:inputType="text"
+                    android:textColorHint="#6b000000"
+                    android:textColor="#DE000000"
+                    android:text="@={viewModel.beanLiveData.remark}"
+                    android:textSize="16sp" />
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_marginTop="10dp"
+                    android:layout_height="wrap_content"
+                    android:text="鐢靛瓙鏂囦欢"
+                    android:textColor="#767375"
+                    android:textSize="12sp"
+                    />
+                <RelativeLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:background="@drawable/shape_6b0000_stroke"
+                    >
+                    <com.android.app_base.widget.WrapRecyclerView
+                        android:id="@+id/rv_image"
+                        android:orientation="vertical"
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:layout_marginBottom="10dp"
+                        android:layout_marginTop="2sp"
+                        android:paddingStart="10dp"
+                        android:paddingEnd="5dp"
+                        android:paddingVertical="10dp"
+                        />
+
+                </RelativeLayout>
+
+
+            </LinearLayout>
+        </ScrollView>
+
+
+    </LinearLayout>
+</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 64bd7b6..70ac7a4 100644
--- a/app/src/main/res/layout/fragment_home.xml
+++ b/app/src/main/res/layout/fragment_home.xml
@@ -9,9 +9,60 @@
             type="com.application.zhangshi_app_android.ui.home.HomeFragmentViewModel" />
     </data>
 
-    <androidx.constraintlayout.widget.ConstraintLayout
+    <LinearLayout
         android:layout_width="match_parent"
         android:layout_height="match_parent"
+        android:orientation="vertical"
         >
-    </androidx.constraintlayout.widget.ConstraintLayout>
+
+        <com.android.app_base.widget.ExtendTitleBar
+            android:id="@+id/titleBar"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            app:title="瀹舵牴缃戯紙浠呬緵鏌ョ湅锛�"
+            app:titleGravity="left" />
+
+        <androidx.constraintlayout.widget.ConstraintLayout
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            >
+            <com.application.zhangshi_app_android.widget.TreeView
+                android:id="@+id/treeView"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                />
+            <androidx.constraintlayout.widget.ConstraintLayout
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:visibility="gone"
+                android:id="@+id/layout_home_root_net"
+                >
+                <ImageView
+                    android:id="@+id/iv_treeView"
+                    android:layout_width="match_parent"
+                    android:layout_height="0dp"
+                    app:layout_constraintDimensionRatio="360:417"
+                    android:background="@drawable/bg_home_root_net"
+                    app:layout_constraintBottom_toBottomOf="parent" />
+
+                <ImageView
+                    android:layout_width="match_parent"
+                    android:layout_height="0dp"
+                    android:background="@drawable/bg_home_root_net_grass"
+                    app:layout_constraintBottom_toBottomOf="@id/iv_treeView"
+                    app:layout_constraintDimensionRatio="350:217"
+                    android:layout_marginBottom="-56dp"
+                    />
+
+            </androidx.constraintlayout.widget.ConstraintLayout>
+
+            <androidx.recyclerview.widget.RecyclerView
+                android:id="@+id/rv_home_member"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:visibility="gone"
+                />
+
+        </androidx.constraintlayout.widget.ConstraintLayout>
+    </LinearLayout>
 </layout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_certificate_of_honor.xml b/app/src/main/res/layout/item_certificate_of_honor.xml
new file mode 100644
index 0000000..2fd73c6
--- /dev/null
+++ b/app/src/main/res/layout/item_certificate_of_honor.xml
@@ -0,0 +1,268 @@
+<?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="bean"
+            type="com.application.zhangshi_app_android.bean.CertificateOfHonorBean" />
+    </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="40dp"
+            android:layout_margin="@dimen/dp_2"
+            app:cardCornerRadius="@dimen/dp_10"
+            app:cardBackgroundColor="@color/color_card_pink"
+            tools:layout_height="wrap_content"
+            >
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:orientation="vertical"
+                >
+                <androidx.constraintlayout.widget.ConstraintLayout
+                    android:id="@+id/layout_title"
+                    android:layout_width="match_parent"
+                    android:layout_height="@dimen/dp_40"
+                    android:gravity="center_vertical">
+
+                    <TextView
+                        android:id="@+id/textView2"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_marginStart="24dp"
+                        android:text="@{bean.name}"
+                        android:textColor="@color/black"
+                        android:textSize="@dimen/sp_16"
+                        android:textStyle="bold"
+                        app:layout_constraintBottom_toBottomOf="parent"
+                        app:layout_constraintStart_toStartOf="parent"
+                        app:layout_constraintTop_toTopOf="parent"
+                        tools:text="鍒涚珛寮犳皬鍏徃" />
+
+                    <TextView
+                        android:id="@+id/tv_time"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:text="@{bean.effectiveTime}"
+                        android:textColor="@color/black"
+                        android:textSize="16sp"
+                        android:layout_marginEnd="20dp"
+                        android:textStyle="bold"
+                        app:layout_constraintBottom_toBottomOf="parent"
+                        app:layout_constraintEnd_toEndOf="parent"
+                        app:layout_constraintTop_toTopOf="parent"
+                        tools:text="2019-01-12" />
+
+                </androidx.constraintlayout.widget.ConstraintLayout>
+
+                <LinearLayout
+                    android:id="@+id/layout_content"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:orientation="vertical"
+                    android:paddingHorizontal="@dimen/dp_24"
+                    >
+                    <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="@{bean.type}"
+                            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="@{bean.certificateNumber}"
+                            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="@{bean.level}"
+                            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="@{bean.effectiveTime}"
+                            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="@{bean.getTime}"
+                            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="@{bean.location}"
+                            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="@{bean.remark}"
+                            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"
+                        >
+                        <androidx.recyclerview.widget.RecyclerView
+                            android:id="@+id/rv_image"
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            tools:listitem="@layout/item_image"
+                            tools:itemCount="3"
+                            />
+
+                    </LinearLayout>
+
+                </LinearLayout>
+            </LinearLayout>
+
+        </androidx.cardview.widget.CardView>
+
+    </LinearLayout>
+</layout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_clean_storage.xml b/app/src/main/res/layout/item_clean_storage.xml
new file mode 100644
index 0000000..5fbf936
--- /dev/null
+++ b/app/src/main/res/layout/item_clean_storage.xml
@@ -0,0 +1,235 @@
+<?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="bean"
+            type="com.application.zhangshi_app_android.bean.CleanStorageBean" />
+    </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="40dp"
+            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"
+                >
+                <androidx.constraintlayout.widget.ConstraintLayout
+                    android:id="@+id/layout_title"
+                    android:layout_width="match_parent"
+                    android:layout_height="@dimen/dp_40"
+                    android:gravity="center_vertical">
+
+                    <TextView
+                        android:id="@+id/textView2"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_marginStart="24dp"
+                        android:text="@{bean.type}"
+                        android:textColor="@color/black"
+                        android:textSize="@dimen/sp_16"
+                        android:textStyle="bold"
+                        app:layout_constraintBottom_toBottomOf="parent"
+                        app:layout_constraintStart_toStartOf="parent"
+                        app:layout_constraintTop_toTopOf="parent"
+                        tools:text="鎴夸骇璇�" />
+
+                    <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_centerInParent="true"
+                        android:gravity="center"
+                        android:text="@{bean.suitablePeople}"
+                        android:textColor="@color/black"
+                        android:textSize="@dimen/sp_16"
+                        android:textStyle="bold"
+                        app:layout_constraintBottom_toBottomOf="parent"
+                        app:layout_constraintEnd_toEndOf="parent"
+                        app:layout_constraintHorizontal_bias="0.45"
+                        app:layout_constraintStart_toStartOf="parent"
+                        app:layout_constraintTop_toTopOf="parent"
+                        tools:text="寮犱笁" />
+
+                    <TextView
+                        android:id="@+id/tv_time"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:text="@{bean.category}"
+                        android:textColor="@color/black"
+                        android:textSize="16sp"
+                        android:layout_marginEnd="20dp"
+                        android:textStyle="bold"
+                        app:layout_constraintBottom_toBottomOf="parent"
+                        app:layout_constraintEnd_toEndOf="parent"
+                        app:layout_constraintTop_toTopOf="parent"
+                        tools:text="2019-01-12" />
+
+                </androidx.constraintlayout.widget.ConstraintLayout>
+
+                <LinearLayout
+                    android:id="@+id/layout_content"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:orientation="vertical"
+                    android:paddingHorizontal="@dimen/dp_24"
+                    >
+                    <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="@{String.valueOf(bean.id)}"
+                            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="@{bean.cleanMethod}"
+                            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="@{bean.materialStorageLocation}"
+                            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="@{bean.placementLocation}"
+                            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="@{bean.remark}"
+                            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"
+                        >
+                        <androidx.recyclerview.widget.RecyclerView
+                            android:id="@+id/rv_image"
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            tools:listitem="@layout/item_image"
+                            tools:itemCount="3"
+                            />
+
+                    </LinearLayout>
+
+                </LinearLayout>
+            </LinearLayout>
+
+        </androidx.cardview.widget.CardView>
+
+    </LinearLayout>
+</layout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_family_assets.xml b/app/src/main/res/layout/item_family_assets.xml
index a345209..d942d44 100644
--- a/app/src/main/res/layout/item_family_assets.xml
+++ b/app/src/main/res/layout/item_family_assets.xml
@@ -26,49 +26,58 @@
                 android:layout_height="wrap_content"
                 android:orientation="vertical"
                 >
-                <RelativeLayout
+                <androidx.constraintlayout.widget.ConstraintLayout
                     android:id="@+id/layout_title"
                     android:layout_width="match_parent"
                     android:layout_height="@dimen/dp_40"
-                    android:gravity="center_vertical"
-                    >
+                    android:gravity="center_vertical">
+
                     <TextView
+                        android:id="@+id/textView2"
                         android:layout_width="wrap_content"
                         android:layout_height="wrap_content"
-                        android:layout_centerVertical="true"
                         android:layout_marginStart="24dp"
-                        android:textSize="@dimen/sp_16"
-                        android:textColor="@color/black"
                         android:text="@{bean.type}"
-                        android:textStyle="bold"
-                        tools:text="鎴夸骇璇�"
-                        />
+                        android:textColor="@color/black"
+                        android:textSize="@dimen/sp_16"
+
+                        app:layout_constraintBottom_toBottomOf="parent"
+                        app:layout_constraintStart_toStartOf="parent"
+                        app:layout_constraintTop_toTopOf="parent"
+                        tools:text="鎴夸骇璇�" />
 
                     <TextView
                         android:layout_width="wrap_content"
                         android:layout_height="wrap_content"
                         android:layout_centerInParent="true"
-                        android:layout_centerHorizontal="true"
-                        android:layout_marginStart="24dp"
+                        android:gravity="center"
                         android:text="@{bean.holder}"
                         android:textColor="@color/black"
                         android:textSize="@dimen/sp_16"
-                        android:textStyle="bold"
+
+                        app:layout_constraintBottom_toBottomOf="parent"
+                        app:layout_constraintEnd_toEndOf="parent"
+                        app:layout_constraintHorizontal_bias="0.45"
+                        app:layout_constraintStart_toStartOf="parent"
+                        app:layout_constraintTop_toTopOf="parent"
                         tools:text="寮犱笁" />
+
                     <TextView
+                        android:id="@+id/tv_time"
                         android:layout_width="wrap_content"
                         android:layout_height="wrap_content"
-                        android:textSize="@dimen/sp_16"
-                        android:textColor="@color/black"
                         android:text="@{bean.createTime}"
-                        android:textStyle="bold"
-                        android:layout_marginEnd="24dp"
-                        android:layout_alignParentEnd="true"
-                        android:layout_centerVertical="true"
-                        tools:text="2019-01-12"
-                        />
+                        android:textColor="@color/black"
+                        android:textSize="16sp"
+                        android:layout_marginEnd="20dp"
 
-                </RelativeLayout>
+                        app:layout_constraintBottom_toBottomOf="parent"
+                        app:layout_constraintEnd_toEndOf="parent"
+                        app:layout_constraintTop_toTopOf="parent"
+                        tools:text="2019-01-12" />
+
+                </androidx.constraintlayout.widget.ConstraintLayout>
+
                 <LinearLayout
                     android:id="@+id/layout_content"
                     android:layout_width="match_parent"
@@ -88,7 +97,7 @@
                             android:text="搴忓彿锛�"
                             android:textColor="@color/black"
                             android:textSize="@dimen/sp_12"
-                            android:textStyle="bold"
+
                             />
                         <TextView
                             android:layout_width="wrap_content"
@@ -96,7 +105,7 @@
                             android:text="@{String.valueOf(bean.id)}"
                             android:textColor="@color/black"
                             android:textSize="@dimen/sp_12"
-                            android:textStyle="bold"
+
                             />
                     </LinearLayout>
                     <LinearLayout
@@ -111,7 +120,7 @@
                             android:text="璇佷欢鍗″彿锛�"
                             android:textColor="@color/black"
                             android:textSize="@dimen/sp_12"
-                            android:textStyle="bold"
+
                             />
                         <TextView
                             android:layout_width="wrap_content"
@@ -119,7 +128,7 @@
                             android:text="@{bean.title}"
                             android:textColor="@color/black"
                             android:textSize="@dimen/sp_12"
-                            android:textStyle="bold"
+
                             />
                     </LinearLayout>
                     <LinearLayout
@@ -134,7 +143,7 @@
                             android:text="寮�鎴疯锛�"
                             android:textColor="@color/black"
                             android:textSize="@dimen/sp_12"
-                            android:textStyle="bold"
+
                             />
                         <TextView
                             android:layout_width="wrap_content"
@@ -142,7 +151,7 @@
                             android:text="@{bean.location}"
                             android:textColor="@color/black"
                             android:textSize="@dimen/sp_12"
-                            android:textStyle="bold"
+
                             />
                     </LinearLayout>
                     <LinearLayout
@@ -157,7 +166,7 @@
                             android:text="瀛樻斁鍦扮偣锛�"
                             android:textColor="@color/black"
                             android:textSize="@dimen/sp_12"
-                            android:textStyle="bold"
+
                             />
                         <TextView
                             android:layout_width="wrap_content"
@@ -165,7 +174,7 @@
                             android:text="@{bean.address}"
                             android:textColor="@color/black"
                             android:textSize="@dimen/sp_12"
-                            android:textStyle="bold"
+
                             />
                     </LinearLayout>
 
@@ -181,7 +190,7 @@
                             android:text="澶囨敞锛�"
                             android:textColor="@color/black"
                             android:textSize="@dimen/sp_12"
-                            android:textStyle="bold"
+
                             />
                         <TextView
                             android:layout_width="wrap_content"
@@ -189,7 +198,7 @@
                             android:text="@{bean.remark}"
                             android:textColor="@color/black"
                             android:textSize="@dimen/sp_12"
-                            android:textStyle="bold"
+
                             />
                     </LinearLayout>
                     <TextView
@@ -199,7 +208,7 @@
                         android:text="鐢靛瓙鏂囦欢锛�"
                         android:textColor="@color/black"
                         android:textSize="@dimen/sp_12"
-                        android:textStyle="bold"
+
                         />
                     <LinearLayout
                         android:layout_width="match_parent"
diff --git a/app/src/main/res/layout/item_family_memorabilia.xml b/app/src/main/res/layout/item_family_memorabilia.xml
index e627610..20c06ff 100644
--- a/app/src/main/res/layout/item_family_memorabilia.xml
+++ b/app/src/main/res/layout/item_family_memorabilia.xml
@@ -16,14 +16,14 @@
         <androidx.cardview.widget.CardView
             android:id="@+id/cardView"
             android:layout_width="match_parent"
-            android:layout_height="wrap_content"
+            android:layout_height="40dp"
             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="40dp"
+                android:layout_height="wrap_content"
                 android:orientation="vertical"
                 >
                 <RelativeLayout
@@ -50,7 +50,6 @@
                         android:textColor="@color/black"
                         android:text="@{bean.title}"
                         android:layout_weight="1"
-                        android:textStyle="bold"
                         />
                     <TextView
                         android:layout_width="wrap_content"
@@ -58,7 +57,6 @@
                         android:textSize="@dimen/sp_16"
                         android:textColor="@color/black"
                         android:text="@{bean.createTime}"
-                        android:textStyle="bold"
                         android:layout_marginEnd="24dp"
                         android:layout_alignParentEnd="true"
                         android:layout_centerVertical="true"
@@ -83,7 +81,7 @@
                             android:text="搴忓彿锛�"
                             android:textColor="@color/black"
                             android:textSize="@dimen/sp_12"
-                            android:textStyle="bold"
+
                             />
                         <TextView
                             android:layout_width="wrap_content"
@@ -91,7 +89,7 @@
                             android:text="@{String.valueOf(bean.id)}"
                             android:textColor="@color/black"
                             android:textSize="@dimen/sp_12"
-                            android:textStyle="bold"
+
                             />
                     </LinearLayout>
                     <LinearLayout
@@ -106,7 +104,7 @@
                             android:text="浜虹墿锛�"
                             android:textColor="@color/black"
                             android:textSize="@dimen/sp_12"
-                            android:textStyle="bold"
+
                             />
                         <TextView
                             android:layout_width="wrap_content"
@@ -114,7 +112,7 @@
                             android:text="@{bean.people}"
                             android:textColor="@color/black"
                             android:textSize="@dimen/sp_12"
-                            android:textStyle="bold"
+
                             />
                     </LinearLayout>
                     <LinearLayout
@@ -129,7 +127,7 @@
                             android:text="澶囨敞锛�"
                             android:textColor="@color/black"
                             android:textSize="@dimen/sp_12"
-                            android:textStyle="bold"
+
                             />
                         <TextView
                             android:layout_width="wrap_content"
@@ -137,7 +135,7 @@
                             android:text="@{bean.remark}"
                             android:textColor="@color/black"
                             android:textSize="@dimen/sp_12"
-                            android:textStyle="bold"
+
                             />
                     </LinearLayout>
                     <TextView
@@ -147,7 +145,7 @@
                         android:text="鐢靛瓙鏂囦欢锛�"
                         android:textColor="@color/black"
                         android:textSize="@dimen/sp_12"
-                        android:textStyle="bold"
+
                         />
                     <LinearLayout
                         android:layout_width="match_parent"
@@ -187,7 +185,7 @@
                                 android:text="淇敼"
                                 android:textColor="@color/black"
                                 android:textSize="@dimen/sp_14"
-                                android:textStyle="bold"
+
                                 android:layout_marginStart="@dimen/dp_4"
                                 />
                         </LinearLayout>
@@ -210,7 +208,7 @@
                                 android:text="鍒犻櫎"
                                 android:textColor="#FFE86F72"
                                 android:textSize="@dimen/sp_14"
-                                android:textStyle="bold"
+
                                 android:layout_marginStart="@dimen/dp_4"
                                 />
                         </LinearLayout>
diff --git a/app/src/main/res/layout/item_home_devices.xml b/app/src/main/res/layout/item_home_devices.xml
index 1901386..1e8ebd1 100644
--- a/app/src/main/res/layout/item_home_devices.xml
+++ b/app/src/main/res/layout/item_home_devices.xml
@@ -26,50 +26,59 @@
                 android:layout_height="wrap_content"
                 android:orientation="vertical"
                 >
-                <LinearLayout
+
+                <androidx.constraintlayout.widget.ConstraintLayout
                     android:id="@+id/layout_title"
                     android:layout_width="match_parent"
                     android:layout_height="@dimen/dp_40"
-                    android:gravity="center_vertical"
-                    >
-                    <TextView
-                        android:layout_width="wrap_content"
-                        android:layout_height="wrap_content"
-                        android:layout_centerVertical="true"
-                        android:layout_marginStart="24dp"
-                        android:textSize="@dimen/sp_16"
-                        android:textColor="@color/black"
-                        android:text="@{bean.name}"
-                        android:textStyle="bold"
-                        tools:text="鐢佃"
-                        />
+                    android:gravity="center_vertical">
 
                     <TextView
-                        android:layout_width="0dp"
-                        android:layout_weight="1"
+                        android:id="@+id/textView2"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_marginStart="24dp"
+                        android:text="@{bean.name}"
+                        android:textColor="@color/black"
+                        android:textSize="@dimen/sp_16"
+                        android:textStyle="bold"
+                        app:layout_constraintBottom_toBottomOf="parent"
+                        app:layout_constraintStart_toStartOf="parent"
+                        app:layout_constraintTop_toTopOf="parent"
+                        tools:text="鐢佃" />
+
+                    <TextView
+                        android:layout_width="wrap_content"
                         android:layout_height="wrap_content"
                         android:layout_centerInParent="true"
-                        android:layout_marginStart="24dp"
-                        android:text="@{bean.address}"
+                        android:gravity="center"
+                        android:text="@{bean.location}"
                         android:textColor="@color/black"
                         android:textSize="@dimen/sp_16"
                         android:textStyle="bold"
-                        android:gravity="center"
+                        app:layout_constraintBottom_toBottomOf="parent"
+                        app:layout_constraintEnd_toEndOf="parent"
+                        app:layout_constraintHorizontal_bias="0.45"
+                        app:layout_constraintStart_toStartOf="parent"
+                        app:layout_constraintTop_toTopOf="parent"
                         tools:text="寮犱笁" />
+
                     <TextView
+                        android:id="@+id/textView"
                         android:layout_width="wrap_content"
                         android:layout_height="wrap_content"
-                        android:textSize="@dimen/sp_16"
+                        android:text="@{bean.createDate}"
                         android:textColor="@color/black"
-                        android:text="@{bean.createTime}"
+                        android:textSize="16sp"
+                        android:layout_marginEnd="20dp"
                         android:textStyle="bold"
-                        android:layout_marginEnd="24dp"
-                        android:layout_alignParentEnd="true"
-                        android:layout_centerVertical="true"
-                        tools:text="2019-01-12"
-                        />
+                        app:layout_constraintBottom_toBottomOf="parent"
+                        app:layout_constraintEnd_toEndOf="parent"
+                        app:layout_constraintTop_toTopOf="parent"
+                        tools:text="2019-01-12" />
 
-                </LinearLayout>
+                </androidx.constraintlayout.widget.ConstraintLayout>
+
                 <LinearLayout
                     android:id="@+id/layout_content"
                     android:layout_width="match_parent"
@@ -117,7 +126,7 @@
                         <TextView
                             android:layout_width="wrap_content"
                             android:layout_height="wrap_content"
-                            android:text="@{bean.people}"
+                            android:text="@{bean.buyer}"
                             android:textColor="@color/black"
                             android:textSize="@dimen/sp_12"
                             android:textStyle="bold"
diff --git a/app/src/main/res/layout/item_home_member_list.xml b/app/src/main/res/layout/item_home_member_list.xml
new file mode 100644
index 0000000..54d0ff7
--- /dev/null
+++ b/app/src/main/res/layout/item_home_member_list.xml
@@ -0,0 +1,234 @@
+<?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="bean"
+            type="com.application.zhangshi_app_android.bean.HomeMemberBean" />
+    </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="40dp"
+            android:layout_margin="@dimen/dp_2"
+            app:cardCornerRadius="@dimen/dp_10"
+            app:cardBackgroundColor="@color/color_card_pink"
+            app:cardElevation="0dp"
+            >
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:orientation="vertical"
+                >
+                <androidx.constraintlayout.widget.ConstraintLayout
+                    android:id="@+id/layout_title"
+                    android:layout_width="match_parent"
+                    android:layout_height="@dimen/dp_40"
+                    android:gravity="center_vertical">
+
+                    <TextView
+                        android:id="@+id/textView2"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_marginStart="24dp"
+                        android:text="@{bean.generation}"
+                        android:textColor="@color/black"
+                        android:textSize="@dimen/sp_16"
+                        android:textStyle="bold"
+                        app:layout_constraintBottom_toBottomOf="parent"
+                        app:layout_constraintStart_toStartOf="parent"
+                        app:layout_constraintTop_toTopOf="parent"
+                        tools:text="绗竴浠�" />
+
+                    <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_centerInParent="true"
+                        android:gravity="center"
+                        android:text="@{bean.name}"
+                        android:textColor="@color/black"
+                        android:textSize="@dimen/sp_16"
+                        android:textStyle="bold"
+                        app:layout_constraintBottom_toBottomOf="parent"
+                        app:layout_constraintEnd_toEndOf="parent"
+                        app:layout_constraintHorizontal_bias="0.55"
+                        app:layout_constraintStart_toStartOf="parent"
+                        app:layout_constraintTop_toTopOf="parent"
+                        tools:text="寮犱笁" />
+
+                    <TextView
+                        android:id="@+id/tv_time"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:text="@{bean.gender}"
+                        android:textColor="@color/black"
+                        android:textSize="16sp"
+                        android:layout_marginEnd="20dp"
+                        android:textStyle="bold"
+                        app:layout_constraintBottom_toBottomOf="parent"
+                        app:layout_constraintEnd_toEndOf="parent"
+                        app:layout_constraintTop_toTopOf="parent"
+                        tools:text="鐢�" />
+
+                </androidx.constraintlayout.widget.ConstraintLayout>
+
+                <androidx.constraintlayout.widget.ConstraintLayout
+                    android:id="@+id/layout_content"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:orientation="vertical"
+                    android:paddingStart="@dimen/dp_24"
+                    android:paddingVertical="13dp"
+                    >
+
+                    <androidx.constraintlayout.utils.widget.ImageFilterView
+                        android:id="@+id/imageFilterView2"
+                        android:layout_width="100dp"
+                        android:layout_height="100dp"
+                        android:background="@color/teal_200"
+                        app:imageUrl="@{bean.url}"
+                        app:layout_constraintStart_toStartOf="parent"
+                        app:layout_constraintTop_toTopOf="parent"
+                        app:round="20dp" />
+
+                    <LinearLayout
+                        android:id="@+id/linearLayout4"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        app:layout_constraintEnd_toEndOf="parent"
+                        app:layout_constraintStart_toEndOf="@+id/imageFilterView2"
+                        app:layout_constraintTop_toTopOf="@+id/imageFilterView2"
+                        app:layout_constraintBottom_toTopOf="@id/linearLayout5"
+                        app:layout_constraintVertical_chainStyle="spread_inside"
+                        >
+
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:text="鍑虹敓鏃ユ湡 锛�"
+                            android:textColor="#FF000000"
+                            android:textSize="12sp" />
+
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:text="@{bean.birthday}"
+                            android:textColor="#FF000000"
+                            android:textSize="12sp"
+                            tools:text="2021-01-01" />
+                    </LinearLayout>
+
+                    <LinearLayout
+                        android:id="@+id/linearLayout5"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        app:layout_constraintStart_toStartOf="@+id/linearLayout4"
+                        app:layout_constraintTop_toBottomOf="@+id/linearLayout4"
+                        app:layout_constraintBottom_toTopOf="@id/linearLayout6"
+                        >
+
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:text="鍘讳笘鏃堕棿 锛�"
+                            android:textColor="#FF000000"
+                            android:textSize="12sp" />
+
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:text="@{bean.deathDay}"
+                            android:textColor="#FF000000"
+                            android:textSize="12sp"
+                            tools:text="2021-01-01" />
+                    </LinearLayout>
+
+                    <LinearLayout
+                        android:id="@+id/linearLayout6"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        app:layout_constraintStart_toStartOf="@+id/linearLayout4"
+                        app:layout_constraintTop_toBottomOf="@+id/linearLayout5"
+                        app:layout_constraintBottom_toTopOf="@id/linearLayout7"
+                        >
+
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:text="鎵嬫満鍙� 锛� "
+                            android:textColor="#FF000000"
+                            android:textSize="12sp" />
+
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:text="@{bean.phone}"
+                            android:textColor="#FF000000"
+                            android:textSize="12sp"
+                            tools:text="12345678901" />
+                    </LinearLayout>
+
+                    <LinearLayout
+                        android:id="@+id/linearLayout7"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        app:layout_constraintStart_toStartOf="@+id/linearLayout4"
+                        app:layout_constraintTop_toBottomOf="@+id/linearLayout6"
+                        app:layout_constraintBottom_toTopOf="@id/linearLayout8"
+                        >
+
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:text="鎵�鍦ㄥ崟浣� 锛� "
+                            android:textColor="#FF000000"
+                            android:textSize="12sp" />
+
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:text="@{bean.company}"
+                            android:textColor="#FF000000"
+                            android:textSize="12sp"
+                            tools:text="寮犳皬鍏徃" />
+                    </LinearLayout>
+
+                    <LinearLayout
+                        android:id="@+id/linearLayout8"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        app:layout_constraintBottom_toBottomOf="@+id/imageFilterView2"
+                        app:layout_constraintStart_toStartOf="@+id/linearLayout4"
+                        app:layout_constraintTop_toBottomOf="@+id/linearLayout7">
+
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:text="閰嶅伓 锛� "
+                            android:textColor="#FF000000"
+                            android:textSize="12sp" />
+
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:text="@{bean.spouse}"
+                            android:textColor="#FF000000"
+                            android:textSize="12sp"
+                            tools:text="寮犱笁" />
+                    </LinearLayout>
+
+                </androidx.constraintlayout.widget.ConstraintLayout>
+            </LinearLayout>
+
+        </androidx.cardview.widget.CardView>
+
+    </LinearLayout>
+
+</layout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_honor_collection.xml b/app/src/main/res/layout/item_honor_collection.xml
new file mode 100644
index 0000000..c0704a6
--- /dev/null
+++ b/app/src/main/res/layout/item_honor_collection.xml
@@ -0,0 +1,236 @@
+<?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="bean"
+            type="com.application.zhangshi_app_android.bean.HonorCollectionBean" />
+    </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="40dp"
+            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"
+                >
+                <androidx.constraintlayout.widget.ConstraintLayout
+                    android:id="@+id/layout_title"
+                    android:layout_width="match_parent"
+                    android:layout_height="@dimen/dp_40"
+                    android:gravity="center_vertical">
+
+                    <TextView
+                        android:id="@+id/textView2"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_marginStart="24dp"
+                        android:text="@{bean.type}"
+                        android:textColor="@color/black"
+                        android:textSize="@dimen/sp_16"
+                        android:textStyle="bold"
+                        app:layout_constraintBottom_toBottomOf="parent"
+                        app:layout_constraintStart_toStartOf="parent"
+                        app:layout_constraintTop_toTopOf="parent"
+                        tools:text="鎴夸骇璇�" />
+
+                    <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_centerInParent="true"
+                        android:gravity="center"
+                        android:text="@{bean.owner}"
+                        android:textColor="@color/black"
+                        android:textSize="@dimen/sp_16"
+                        android:textStyle="bold"
+                        app:layout_constraintBottom_toBottomOf="parent"
+                        app:layout_constraintEnd_toEndOf="parent"
+                        app:layout_constraintHorizontal_bias="0.45"
+                        app:layout_constraintStart_toStartOf="parent"
+                        app:layout_constraintTop_toTopOf="parent"
+                        tools:text="寮犱笁" />
+
+                    <TextView
+                        android:id="@+id/tv_time"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:text="@{bean.getTime}"
+                        android:textColor="@color/black"
+                        android:textSize="16sp"
+                        android:layout_marginEnd="20dp"
+                        android:textStyle="bold"
+                        app:layout_constraintBottom_toBottomOf="parent"
+                        app:layout_constraintEnd_toEndOf="parent"
+                        app:layout_constraintTop_toTopOf="parent"
+                        tools:text="2019-01-12" />
+
+                </androidx.constraintlayout.widget.ConstraintLayout>
+
+                <LinearLayout
+                    android:id="@+id/layout_content"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:orientation="vertical"
+                    android:paddingHorizontal="@dimen/dp_24"
+                    >
+                    <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="@{bean.name}"
+                            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="@{bean.source}"
+                            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="@{bean.price}"
+                            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="@{bean.location}"
+                            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="@{bean.remark}"
+                            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"
+                        >
+                        <androidx.recyclerview.widget.RecyclerView
+                            android:id="@+id/rv_image"
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            tools:listitem="@layout/item_image"
+                            tools:itemCount="3"
+                            />
+
+                    </LinearLayout>
+
+                </LinearLayout>
+            </LinearLayout>
+
+        </androidx.cardview.widget.CardView>
+
+    </LinearLayout>
+
+</layout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_hundred_wish.xml b/app/src/main/res/layout/item_hundred_wish.xml
new file mode 100644
index 0000000..cf13af9
--- /dev/null
+++ b/app/src/main/res/layout/item_hundred_wish.xml
@@ -0,0 +1,245 @@
+<?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="bean"
+            type="com.application.zhangshi_app_android.bean.HundredWishBean" />
+    </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="40dp"
+            android:layout_margin="@dimen/dp_2"
+            app:cardCornerRadius="@dimen/dp_10"
+            app:cardBackgroundColor="@color/color_card_pink"
+            tools:layout_height="wrap_content"
+            >
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:orientation="vertical"
+                >
+                <androidx.constraintlayout.widget.ConstraintLayout
+                    android:id="@+id/layout_title"
+                    android:layout_width="match_parent"
+                    android:layout_height="@dimen/dp_40"
+                    android:gravity="center_vertical">
+
+                    <TextView
+                        android:id="@+id/textView2"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_marginStart="24dp"
+                        android:text="@{bean.title}"
+                        android:textColor="@color/black"
+                        android:textSize="@dimen/sp_16"
+                        android:textStyle="bold"
+                        app:layout_constraintBottom_toBottomOf="parent"
+                        app:layout_constraintStart_toStartOf="parent"
+                        app:layout_constraintTop_toTopOf="parent"
+                        tools:text="鍒涚珛寮犳皬鍏徃" />
+
+                    <TextView
+                        android:id="@+id/tv_time"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:text="@{bean.createTime}"
+                        android:textColor="@color/black"
+                        android:textSize="16sp"
+                        android:layout_marginEnd="20dp"
+                        android:textStyle="bold"
+                        app:layout_constraintBottom_toBottomOf="parent"
+                        app:layout_constraintEnd_toEndOf="parent"
+                        app:layout_constraintTop_toTopOf="parent"
+                        tools:text="2019-01-12" />
+
+                </androidx.constraintlayout.widget.ConstraintLayout>
+
+                <LinearLayout
+                    android:id="@+id/layout_content"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:orientation="vertical"
+                    android:paddingHorizontal="@dimen/dp_24"
+                    >
+                    <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="@{bean.reason}"
+                            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="@{bean.beneficiary}"
+                            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="@{bean.heir}"
+                            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="@{bean.difficulty}"
+                            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="@{bean.isEffective==1?`鏄痐:`鍚}"
+                            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="@{bean.remark}"
+                            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"
+                        >
+                        <androidx.recyclerview.widget.RecyclerView
+                            android:id="@+id/rv_image"
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            tools:listitem="@layout/item_image"
+                            tools:itemCount="3"
+                            />
+
+                    </LinearLayout>
+
+                </LinearLayout>
+            </LinearLayout>
+
+        </androidx.cardview.widget.CardView>
+
+    </LinearLayout>
+</layout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_image_footer.xml b/app/src/main/res/layout/item_image_footer.xml
index e3e1ebf..d085a8e 100644
--- a/app/src/main/res/layout/item_image_footer.xml
+++ b/app/src/main/res/layout/item_image_footer.xml
@@ -1,18 +1,26 @@
 <?xml version="1.0" encoding="utf-8"?>
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="@dimen/dp_85"
-    android:layout_height="@dimen/dp_85"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
     android:orientation="vertical"
-    android:gravity="center"
-    android:background="@drawable/shape_73fab4cd_solid"
-    android:layout_marginTop="8dp"
-    android:layout_marginStart="2dp"
     >
-    <ImageView
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:background="@drawable/ic_import_add"
-        />
+    <FrameLayout
+        android:layout_width="85dp"
+        android:layout_height="85dp"
+        android:layout_marginTop="7.5dp"
+        android:layout_marginBottom="7.5dp"
+        android:layout_marginEnd="7.5dp"
+        android:background="@drawable/shape_73fab4cd_solid"
+
+        >
+        <ImageView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:background="@drawable/ic_import_add"
+            android:layout_gravity="center"
+            />
+    </FrameLayout>
+
 
 
 </LinearLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_income_and_expenses.xml b/app/src/main/res/layout/item_income_and_expenses.xml
new file mode 100644
index 0000000..a2908dc
--- /dev/null
+++ b/app/src/main/res/layout/item_income_and_expenses.xml
@@ -0,0 +1,257 @@
+<?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="bean"
+            type="com.application.zhangshi_app_android.bean.IncomeAndExpensesBean" />
+    </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="40dp"
+            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"
+                >
+                <androidx.constraintlayout.widget.ConstraintLayout
+                    android:id="@+id/layout_title"
+                    android:layout_width="match_parent"
+                    android:layout_height="@dimen/dp_40"
+                    android:gravity="center_vertical">
+
+                    <TextView
+                        android:id="@+id/textView2"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_marginStart="24dp"
+                        android:text="@{bean.type==0?`鍩洪噾`:`鍙拌处`}"
+                        android:textColor="@color/black"
+                        android:textSize="@dimen/sp_16"
+
+                        app:layout_constraintBottom_toBottomOf="parent"
+                        app:layout_constraintStart_toStartOf="parent"
+                        app:layout_constraintTop_toTopOf="parent"
+                        tools:text="鎴夸骇璇�" />
+
+                    <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_centerInParent="true"
+                        android:gravity="center"
+                        android:text="@{bean.price}"
+                        android:textColor="@color/black"
+                        android:textSize="@dimen/sp_16"
+
+                        app:layout_constraintBottom_toBottomOf="parent"
+                        app:layout_constraintEnd_toEndOf="parent"
+                        app:layout_constraintHorizontal_bias="0.5"
+                        app:layout_constraintStart_toStartOf="parent"
+                        app:layout_constraintTop_toTopOf="parent"
+                        tools:text="寮犱笁" />
+
+                    <TextView
+                        android:id="@+id/tv_time"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:text="@{bean.usePeople}"
+                        android:textColor="@color/black"
+                        android:textSize="16sp"
+                        android:layout_marginEnd="20dp"
+
+                        app:layout_constraintBottom_toBottomOf="parent"
+                        app:layout_constraintEnd_toEndOf="parent"
+                        app:layout_constraintTop_toTopOf="parent"
+                        tools:text="2019-01-12" />
+
+                </androidx.constraintlayout.widget.ConstraintLayout>
+
+                <LinearLayout
+                    android:id="@+id/layout_content"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:orientation="vertical"
+                    android:paddingHorizontal="@dimen/dp_24"
+                    >
+                    <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"
+
+                            />
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:text="@{String.valueOf(bean.id)}"
+                            android:textColor="@color/black"
+                            android:textSize="@dimen/sp_12"
+
+                            />
+                    </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"
+
+                            />
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:text="@{bean.createTime}"
+                            android:textColor="@color/black"
+                            android:textSize="@dimen/sp_12"
+
+                            />
+                    </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"
+
+                            />
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:text="@{bean.useFor}"
+                            android:textColor="@color/black"
+                            android:textSize="@dimen/sp_12"
+
+                            />
+                    </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"
+
+                            />
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:text="@{bean.kind==0?`鐜伴噾`:`鑷姩鍒掓墸`}"
+                            android:textColor="@color/black"
+                            android:textSize="@dimen/sp_12"
+
+                            />
+                    </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"
+
+                            />
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:text="@{bean.balance}"
+                            android:textColor="@color/black"
+                            android:textSize="@dimen/sp_12"
+
+                            />
+                    </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"
+
+                            />
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:text="@{bean.remark}"
+                            android:textColor="@color/black"
+                            android:textSize="@dimen/sp_12"
+
+                            />
+                    </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"
+
+                        />
+                    <LinearLayout
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:orientation="horizontal"
+                        android:layout_marginBottom="@dimen/dp_15"
+                        >
+                        <androidx.recyclerview.widget.RecyclerView
+                            android:id="@+id/rv_image"
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            tools:listitem="@layout/item_image"
+                            tools:itemCount="3"
+                            />
+
+                    </LinearLayout>
+
+                </LinearLayout>
+            </LinearLayout>
+
+        </androidx.cardview.widget.CardView>
+
+    </LinearLayout>
+</layout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_little_doctor.xml b/app/src/main/res/layout/item_little_doctor.xml
new file mode 100644
index 0000000..758bb1e
--- /dev/null
+++ b/app/src/main/res/layout/item_little_doctor.xml
@@ -0,0 +1,264 @@
+<?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="bean"
+            type="com.application.zhangshi_app_android.bean.LittleDoctorBean" />
+    </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="40dp"
+            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"
+                >
+                <androidx.constraintlayout.widget.ConstraintLayout
+                    android:id="@+id/layout_title"
+                    android:layout_width="match_parent"
+                    android:layout_height="@dimen/dp_40"
+                    android:gravity="center_vertical">
+
+                    <TextView
+                        android:id="@+id/textView2"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_marginStart="24dp"
+                        android:text="@{bean.type}"
+                        android:textColor="@color/black"
+                        android:textSize="@dimen/sp_16"
+                        android:textStyle="bold"
+                        app:layout_constraintBottom_toBottomOf="parent"
+                        app:layout_constraintStart_toStartOf="parent"
+                        app:layout_constraintTop_toTopOf="parent"
+                        tools:text="鎴夸骇璇�" />
+
+                    <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_centerInParent="true"
+                        android:gravity="center"
+                        android:text="@{bean.suitable}"
+                        android:textColor="@color/black"
+                        android:textSize="@dimen/sp_16"
+                        android:textStyle="bold"
+                        app:layout_constraintBottom_toBottomOf="parent"
+                        app:layout_constraintEnd_toEndOf="parent"
+                        app:layout_constraintHorizontal_bias="0.45"
+                        app:layout_constraintStart_toStartOf="parent"
+                        app:layout_constraintTop_toTopOf="parent"
+                        tools:text="寮犱笁" />
+
+                    <TextView
+                        android:id="@+id/tv_time"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:text="@{bean.duration}"
+                        android:textColor="@color/black"
+                        android:textSize="16sp"
+                        android:layout_marginEnd="20dp"
+                        android:textStyle="bold"
+                        app:layout_constraintBottom_toBottomOf="parent"
+                        app:layout_constraintEnd_toEndOf="parent"
+                        app:layout_constraintTop_toTopOf="parent"
+                        tools:text="2019-01-12" />
+
+                </androidx.constraintlayout.widget.ConstraintLayout>
+
+                <LinearLayout
+                    android:id="@+id/layout_content"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:orientation="vertical"
+                    android:paddingHorizontal="@dimen/dp_24"
+                    >
+                    <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="@{String.valueOf(bean.id)}"
+                            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="@{bean.type}"
+                            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="vertical"
+                        android:layout_marginBottom="@dimen/dp_6"
+                        android:layout_marginTop="5dp"
+                        >
+                        <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_marginTop="3dp"
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:text="@{bean.cmedical}"
+                            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="vertical"
+                        android:layout_marginBottom="@dimen/dp_6"
+                        android:layout_marginTop="5dp"
+                        >
+                        <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_marginTop="3dp"
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:text="@{bean.wmedical}"
+                            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"
+                        android:layout_marginTop="5dp"
+                        >
+                        <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="@{bean.effect}"
+                            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="@{bean.remark}"
+                            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"
+                        >
+                        <androidx.recyclerview.widget.RecyclerView
+                            android:id="@+id/rv_image"
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            tools:listitem="@layout/item_image"
+                            tools:itemCount="3"
+                            />
+
+                    </LinearLayout>
+
+                </LinearLayout>
+            </LinearLayout>
+
+        </androidx.cardview.widget.CardView>
+
+    </LinearLayout>
+
+</layout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_pet.xml b/app/src/main/res/layout/item_pet.xml
new file mode 100644
index 0000000..acbf85c
--- /dev/null
+++ b/app/src/main/res/layout/item_pet.xml
@@ -0,0 +1,175 @@
+<?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="bean"
+            type="com.application.zhangshi_app_android.bean.PetBean" />
+    </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="wrap_content"
+            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"
+                >
+                <androidx.constraintlayout.widget.ConstraintLayout
+                    android:id="@+id/layout_title"
+                    android:layout_width="match_parent"
+                    android:layout_height="@dimen/dp_40"
+                    android:gravity="center_vertical">
+
+                    <TextView
+                        android:id="@+id/textView2"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_marginStart="40dp"
+                        android:text="@{bean.name}"
+                        android:textColor="@color/black"
+                        android:textSize="@dimen/sp_16"
+                        android:textStyle="bold"
+                        app:layout_constraintBottom_toBottomOf="parent"
+                        app:layout_constraintStart_toStartOf="parent"
+                        app:layout_constraintTop_toTopOf="parent"
+                        tools:text="灏忛粍" />
+
+                    <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_centerInParent="true"
+                        android:gravity="center"
+                        android:text="@{bean.type}"
+                        android:textColor="@color/black"
+                        android:textSize="@dimen/sp_16"
+                        android:textStyle="bold"
+                        app:layout_constraintBottom_toBottomOf="parent"
+                        app:layout_constraintEnd_toEndOf="parent"
+                        app:layout_constraintHorizontal_bias="0.5"
+                        app:layout_constraintStart_toStartOf="parent"
+                        app:layout_constraintTop_toTopOf="parent"
+                        tools:text="閲戞瘺" />
+
+                    <TextView
+                        android:id="@+id/tv_time"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:text="@{bean.sex == 1?`闆勬� : `闆屾�}"
+                        android:textColor="@color/black"
+                        android:textSize="16sp"
+                        android:layout_marginEnd="40dp"
+                        android:textStyle="bold"
+                        app:layout_constraintBottom_toBottomOf="parent"
+                        app:layout_constraintEnd_toEndOf="parent"
+                        app:layout_constraintTop_toTopOf="parent"
+                        tools:text="闆勬��" />
+
+                </androidx.constraintlayout.widget.ConstraintLayout>
+
+                <LinearLayout
+                    android:id="@+id/layout_content"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:orientation="vertical"
+                    android:paddingHorizontal="@dimen/dp_24"
+                    >
+                    <View
+                        android:layout_width="match_parent"
+                        android:layout_height="1dp"
+                        android:background="#FFFFFFFF"
+                        />
+                    <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:text="@{bean.name+`鐨勫熀鏈俊鎭痐}"
+                        android:textColor="@color/black"
+                        android:textSize="14sp"
+                        tools:text="灏忛粍鐨勫熀鏈俊鎭�"
+                        android:layout_marginTop="8dp"
+                        android:layout_marginStart="16dp"
+                        />
+                    <androidx.constraintlayout.widget.ConstraintLayout
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:gravity="center_vertical"
+                        android:layout_marginTop="8dp"
+                        >
+
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_marginStart="16dp"
+                            android:text="@{bean.color}"
+                            android:textColor="#80000000"
+                            android:textSize="10sp"
+                            android:textStyle="bold"
+                            app:layout_constraintBottom_toBottomOf="parent"
+                            app:layout_constraintStart_toStartOf="parent"
+                            app:layout_constraintTop_toTopOf="parent"
+                            tools:text="閲戦粍鑹�" />
+
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_centerInParent="true"
+                            android:gravity="center"
+                            android:text="@{bean.birth.substring(0,10)}"
+                            android:textColor="#80000000"
+                            android:textSize="10sp"
+                            android:textStyle="bold"
+                            app:layout_constraintBottom_toBottomOf="parent"
+                            app:layout_constraintEnd_toEndOf="parent"
+                            app:layout_constraintHorizontal_bias="0.5"
+                            app:layout_constraintStart_toStartOf="parent"
+                            app:layout_constraintTop_toTopOf="parent"
+                            tools:text="2010-03-01" />
+
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:text="@{bean.dialect}"
+                            android:textColor="#80000000"
+                            android:textSize="10sp"
+                            android:layout_marginEnd="40dp"
+                            android:textStyle="bold"
+                            app:layout_constraintBottom_toBottomOf="parent"
+                            app:layout_constraintEnd_toEndOf="parent"
+                            app:layout_constraintTop_toTopOf="parent"
+                            tools:text="闆勬��" />
+
+                    </androidx.constraintlayout.widget.ConstraintLayout>
+                    <View
+                        android:layout_width="match_parent"
+                        android:layout_height="1dp"
+                        android:background="#FFFFFFFF"
+                        />
+                    <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:text="@{bean.name+`鐨勫熀鏈俊鎭痐}"
+                        android:textColor="@color/black"
+                        android:textSize="14sp"
+                        tools:text="灏忛粍鐨勫熀鏈俊鎭�"
+                        android:layout_marginTop="8dp"
+                        android:layout_marginStart="16dp"
+                        />
+
+                </LinearLayout>
+            </LinearLayout>
+
+        </androidx.cardview.widget.CardView>
+
+    </LinearLayout>
+</layout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_property.xml b/app/src/main/res/layout/item_property.xml
new file mode 100644
index 0000000..c792099
--- /dev/null
+++ b/app/src/main/res/layout/item_property.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"
+    xmlns:tools="http://schemas.android.com/tools">
+
+    <data>
+        <variable
+            name="bean"
+            type="com.application.zhangshi_app_android.bean.PropertyBean" />
+    </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="40dp"
+            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"
+                >
+                <androidx.constraintlayout.widget.ConstraintLayout
+                    android:id="@+id/layout_title"
+                    android:layout_width="match_parent"
+                    android:layout_height="@dimen/dp_40"
+                    android:gravity="center_vertical">
+
+                    <TextView
+                        android:id="@+id/textView2"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_marginStart="24dp"
+                        android:text="@{bean.type}"
+                        android:textColor="@color/black"
+                        android:textSize="@dimen/sp_16"
+                        android:textStyle="bold"
+                        app:layout_constraintBottom_toBottomOf="parent"
+                        app:layout_constraintStart_toStartOf="parent"
+                        app:layout_constraintTop_toTopOf="parent"
+                        tools:text="鎴夸骇璇�" />
+
+                    <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_centerInParent="true"
+                        android:gravity="center"
+                        android:text="@{bean.propertyRight}"
+                        android:textColor="@color/black"
+                        android:textSize="@dimen/sp_16"
+                        android:textStyle="bold"
+                        app:layout_constraintBottom_toBottomOf="parent"
+                        app:layout_constraintEnd_toEndOf="parent"
+                        app:layout_constraintHorizontal_bias="0.45"
+                        app:layout_constraintStart_toStartOf="parent"
+                        app:layout_constraintTop_toTopOf="parent"
+                        tools:text="寮犱笁" />
+
+                    <TextView
+                        android:id="@+id/tv_time"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:text="@{bean.price}"
+                        android:textColor="@color/black"
+                        android:textSize="16sp"
+                        android:layout_marginEnd="20dp"
+                        android:textStyle="bold"
+                        app:layout_constraintBottom_toBottomOf="parent"
+                        app:layout_constraintEnd_toEndOf="parent"
+                        app:layout_constraintTop_toTopOf="parent"
+                        tools:text="2019-01-12" />
+
+                </androidx.constraintlayout.widget.ConstraintLayout>
+
+                <LinearLayout
+                    android:id="@+id/layout_content"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:orientation="vertical"
+                    android:paddingHorizontal="@dimen/dp_24"
+                    >
+                    <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="@{bean.createTime}"
+                            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="@{bean.name}"
+                            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="@{bean.term}"
+                            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="@{bean.status}"
+                            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="@{bean.location}"
+                            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="@{bean.status}"
+                            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="@{bean.remark}"
+                            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"
+                        >
+                        <androidx.recyclerview.widget.RecyclerView
+                            android:id="@+id/rv_image"
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            tools:listitem="@layout/item_image"
+                            tools:itemCount="3"
+                            />
+
+                    </LinearLayout>
+
+                </LinearLayout>
+            </LinearLayout>
+
+        </androidx.cardview.widget.CardView>
+
+    </LinearLayout>
+</layout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/layout_tree_view.xml b/app/src/main/res/layout/layout_tree_view.xml
new file mode 100644
index 0000000..a7c51d2
--- /dev/null
+++ b/app/src/main/res/layout/layout_tree_view.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    >
+
+    <ImageView
+        android:id="@+id/imageView"
+        android:layout_width="match_parent"
+        android:layout_height="0dp"
+        android:src="@drawable/bg_home_root_net_detail"
+        app:layout_constraintBottom_toBottomOf="parent"
+        app:layout_constraintDimensionRatio="676:505"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toTopOf="parent" />
+
+    <androidx.constraintlayout.utils.widget.ImageFilterView
+        android:id="@+id/imageFilterView"
+        android:layout_width="0dp"
+        android:layout_height="0dp"
+        android:background="@color/design_default_color_background"
+        app:roundPercent="1"
+        app:layout_constraintDimensionRatio="1"
+        app:layout_constraintWidth_percent="0.053"
+        app:layout_constraintHorizontal_bias="0.37"
+        app:layout_constraintVertical_bias="0.334"
+        app:layout_constraintEnd_toEndOf="@id/imageView"
+        app:layout_constraintStart_toStartOf="@id/imageView"
+        app:layout_constraintBottom_toBottomOf="@id/imageView"
+        app:layout_constraintTop_toTopOf="@id/imageView"
+        />
+
+</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/pop_basic_information.xml b/app/src/main/res/layout/pop_basic_information.xml
new file mode 100644
index 0000000..3cc6062
--- /dev/null
+++ b/app/src/main/res/layout/pop_basic_information.xml
@@ -0,0 +1,1546 @@
+<?xml version="1.0" encoding="utf-8"?>
+<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:background="@color/transparent"
+    xmlns:app="http://schemas.android.com/apk/res-auto">
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:orientation="vertical"
+        android:background="@color/transparent"
+        >
+        <androidx.cardview.widget.CardView
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            app:cardCornerRadius="6dp"
+            app:cardBackgroundColor="#F6FFFFFF"
+            app:cardElevation="10dp"
+            android:layout_marginHorizontal="10dp"
+            android:layout_marginVertical="15dp"
+            >
+            <androidx.constraintlayout.widget.ConstraintLayout
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:layout_marginEnd="7dp"
+                android:layout_marginStart="10dp"
+                android:layout_marginVertical="24dp"
+                >
+
+                <androidx.constraintlayout.utils.widget.ImageFilterView
+                    android:id="@+id/iv_photo"
+                    android:layout_width="105dp"
+                    android:layout_height="105dp"
+                    android:background="@color/teal_200"
+                    app:layout_constraintStart_toStartOf="parent"
+                    app:layout_constraintTop_toTopOf="parent"
+                    app:round="10dp" />
+
+                <TextView
+                    android:id="@+id/tv_basic_personal_information"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginStart="10dp"
+                    android:text="涓汉鍩烘湰淇℃伅"
+                    android:textColor="#99000000"
+                    android:textSize="10sp"
+                    app:layout_constraintStart_toEndOf="@+id/iv_photo"
+                    app:layout_constraintTop_toTopOf="parent"
+                    app:layout_constraintBottom_toTopOf="@id/layout_personal_1"
+                    app:layout_constraintVertical_chainStyle="spread_inside"
+                    />
+
+                <LinearLayout
+                    android:id="@+id/layout_personal_1"
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    app:layout_constraintHorizontal_chainStyle="spread_inside"
+                    app:layout_constraintBottom_toTopOf="@id/layout_personal_2"
+                    app:layout_constraintEnd_toEndOf="parent"
+                    app:layout_constraintStart_toStartOf="@+id/tv_basic_personal_information"
+                    app:layout_constraintTop_toBottomOf="@id/tv_basic_personal_information">
+
+                    <LinearLayout
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_weight="1"
+                        >
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:background="@drawable/shape_fffad1e0_10_10_0_10"
+                            android:paddingHorizontal="6dp"
+                            android:paddingVertical="3dp"
+                            android:text="濮撳悕"
+                            android:textColor="#FF000000"
+                            android:textSize="12sp" />
+
+                        <FrameLayout
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content">
+
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:paddingHorizontal="6dp"
+                                android:paddingVertical="3dp"
+                                android:text="濮撳悕"
+                                android:textColor="#FF000000"
+                                android:textSize="12sp"
+                                android:layout_marginStart="12dp"
+                                />
+
+                            <View
+                                android:layout_width="match_parent"
+                                android:layout_height="1dp"
+                                android:layout_gravity="bottom"
+                                android:background="#FFFAD1E0"
+                                />
+                        </FrameLayout>
+                    </LinearLayout>
+                    <LinearLayout
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_weight="1"
+                        android:layout_marginStart="10dp"
+                        >
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:background="@drawable/shape_fffad1e0_10_10_0_10"
+                            android:paddingHorizontal="6dp"
+                            android:paddingVertical="3dp"
+                            android:text="鎬у埆"
+                            android:textColor="#FF000000"
+                            android:textSize="12sp" />
+
+                        <FrameLayout
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content">
+
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:paddingHorizontal="6dp"
+                                android:paddingVertical="3dp"
+                                android:text="濂�"
+                                android:textColor="#FF000000"
+                                android:layout_marginStart="12dp"
+                                android:textSize="12sp" />
+
+                            <View
+                                android:layout_width="match_parent"
+                                android:layout_height="1dp"
+                                android:layout_gravity="bottom"
+                                android:background="#FFFAD1E0"
+                                />
+                        </FrameLayout>
+
+                    </LinearLayout>
+
+                </LinearLayout>
+
+                <LinearLayout
+                    android:id="@+id/layout_personal_2"
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    app:layout_constraintStart_toStartOf="@+id/tv_basic_personal_information"
+                    app:layout_constraintEnd_toEndOf="parent"
+                    app:layout_constraintTop_toBottomOf="@+id/layout_personal_1"
+                    app:layout_constraintBottom_toTopOf="@id/layout_personal_3"
+                    >
+                    <LinearLayout
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_weight="1"
+                        >
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:background="@drawable/shape_fffad1e0_10_10_0_10"
+                            android:paddingHorizontal="6dp"
+                            android:paddingVertical="3dp"
+                            android:text="韬唤"
+                            android:textColor="#FF000000"
+                            android:textSize="12sp" />
+
+                        <FrameLayout
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content">
+
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:paddingHorizontal="6dp"
+                                android:paddingVertical="3dp"
+                                android:text="绗竴浠�"
+                                android:textColor="#FF000000"
+                                android:textSize="12sp"
+                                android:layout_marginStart="12dp"
+                                />
+
+                            <View
+                                android:layout_width="match_parent"
+                                android:layout_height="1dp"
+                                android:layout_gravity="bottom"
+                                android:background="#FFFAD1E0"
+                                />
+                        </FrameLayout>
+                    </LinearLayout>
+                    <LinearLayout
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_weight="1"
+                        android:layout_marginStart="10dp"
+                        >
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:background="@drawable/shape_fffad1e0_10_10_0_10"
+                            android:paddingHorizontal="6dp"
+                            android:paddingVertical="3dp"
+                            android:text="骞撮緞"
+                            android:textColor="#FF000000"
+                            android:textSize="12sp" />
+
+                        <FrameLayout
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content">
+
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:paddingHorizontal="6dp"
+                                android:paddingVertical="3dp"
+                                android:text="18"
+                                android:textColor="#FF000000"
+                                android:layout_marginStart="12dp"
+                                android:textSize="12sp" />
+
+                            <View
+                                android:layout_width="match_parent"
+                                android:layout_height="1dp"
+                                android:layout_gravity="bottom"
+                                android:background="#FFFAD1E0"
+                                />
+                        </FrameLayout>
+
+                    </LinearLayout>
+                </LinearLayout>
+
+                <LinearLayout
+                    android:id="@+id/layout_personal_3"
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    app:layout_constraintBottom_toBottomOf="@+id/iv_photo"
+                    app:layout_constraintStart_toStartOf="@+id/tv_basic_personal_information"
+                    app:layout_constraintEnd_toEndOf="parent"
+                    app:layout_constraintTop_toBottomOf="@+id/layout_personal_2">
+
+                    <LinearLayout
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_weight="1"
+                        >
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:background="@drawable/shape_fffad1e0_10_10_0_10"
+                            android:paddingHorizontal="6dp"
+                            android:paddingVertical="3dp"
+                            android:text="鏇剧敤鍚�"
+                            android:textColor="#FF000000"
+                            android:textSize="12sp" />
+
+                        <FrameLayout
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content">
+
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:paddingHorizontal="6dp"
+                                android:paddingVertical="3dp"
+                                android:text="寮犲洓"
+                                android:textColor="#FF000000"
+                                android:textSize="12sp"
+                                android:layout_marginStart="12dp"
+                                />
+
+                            <View
+                                android:layout_width="match_parent"
+                                android:layout_height="1dp"
+                                android:layout_gravity="bottom"
+                                android:background="#FFFAD1E0"
+                                />
+                        </FrameLayout>
+                    </LinearLayout>
+                    <LinearLayout
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_weight="1"
+                        android:layout_marginStart="10dp"
+                        >
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:background="@drawable/shape_fffad1e0_10_10_0_10"
+                            android:paddingHorizontal="6dp"
+                            android:paddingVertical="3dp"
+                            android:text="姘戞棌"
+                            android:textColor="#FF000000"
+                            android:textSize="12sp" />
+
+                        <FrameLayout
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content">
+
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:paddingHorizontal="6dp"
+                                android:paddingVertical="3dp"
+                                android:text="姹夋棌"
+                                android:textColor="#FF000000"
+                                android:layout_marginStart="12dp"
+                                android:textSize="12sp" />
+
+                            <View
+                                android:layout_width="match_parent"
+                                android:layout_height="1dp"
+                                android:layout_gravity="bottom"
+                                android:background="#FFFAD1E0"
+                                />
+                        </FrameLayout>
+
+                    </LinearLayout>
+                </LinearLayout>
+
+                <LinearLayout
+                    android:id="@+id/layout_personal_4"
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="24dp"
+                    app:layout_constraintEnd_toEndOf="parent"
+                    app:layout_constraintStart_toStartOf="parent"
+                    app:layout_constraintTop_toBottomOf="@+id/iv_photo">
+
+                    <LinearLayout
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_weight="1"
+                        >
+
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:background="@drawable/shape_fffad1e0_10_10_0_10"
+                            android:paddingHorizontal="6dp"
+                            android:paddingVertical="3dp"
+                            android:text="濠氬Щ鐘跺喌"
+                            android:textColor="#FF000000"
+                            android:textSize="12sp" />
+
+                        <FrameLayout
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content">
+
+                            <TextView
+                                android:layout_width="match_parent"
+                                android:layout_height="wrap_content"
+                                android:layout_marginStart="6dp"
+                                android:paddingHorizontal="6dp"
+                                android:paddingVertical="3dp"
+                                android:text="宸插"
+                                android:textColor="#FF000000"
+                                android:textSize="12sp" />
+
+                            <View
+                                android:layout_width="match_parent"
+                                android:layout_height="1dp"
+                                android:layout_gravity="bottom"
+                                android:background="#FFFAD1E0" />
+                        </FrameLayout>
+                    </LinearLayout>
+
+                    <LinearLayout
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_weight="1"
+                        android:layout_marginStart="10dp">
+
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:background="@drawable/shape_fffad1e0_10_10_0_10"
+                            android:paddingHorizontal="6dp"
+                            android:paddingVertical="3dp"
+                            android:text="閰嶅伓"
+                            android:textColor="#FF000000"
+                            android:textSize="12sp" />
+
+                        <FrameLayout
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content">
+
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:layout_marginStart="12dp"
+                                android:paddingHorizontal="6dp"
+                                android:paddingVertical="3dp"
+                                android:text="寮犲洓"
+                                android:textColor="#FF000000"
+                                android:textSize="12sp" />
+
+                            <View
+                                android:layout_width="match_parent"
+                                android:layout_height="1dp"
+                                android:layout_gravity="bottom"
+                                android:background="#FFFAD1E0" />
+                        </FrameLayout>
+
+                    </LinearLayout>
+                </LinearLayout>
+
+                <LinearLayout
+                    android:id="@+id/layout_personal_5"
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="16dp"
+                    app:layout_constraintEnd_toEndOf="parent"
+                    app:layout_constraintStart_toStartOf="parent"
+                    app:layout_constraintTop_toBottomOf="@+id/layout_personal_4">
+
+                    <LinearLayout
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_weight="1"
+                        >
+
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:background="@drawable/shape_fffad1e0_10_10_0_10"
+                            android:paddingHorizontal="6dp"
+                            android:paddingVertical="3dp"
+                            android:text="鎴风睄鍦板潃"
+                            android:textColor="#FF000000"
+                            android:textSize="12sp" />
+
+                        <FrameLayout
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content">
+
+                            <TextView
+                                android:layout_width="match_parent"
+                                android:layout_height="wrap_content"
+                                android:layout_marginStart="6dp"
+                                android:paddingHorizontal="6dp"
+                                android:paddingVertical="3dp"
+                                android:text="骞夸笢鐪佸箍宸炲競"
+                                android:textColor="#FF000000"
+                                android:textSize="12sp" />
+
+                            <View
+                                android:layout_width="match_parent"
+                                android:layout_height="1dp"
+                                android:layout_gravity="bottom"
+                                android:background="#FFFAD1E0" />
+                        </FrameLayout>
+                    </LinearLayout>
+
+                    <LinearLayout
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_weight="1"
+                        android:layout_marginStart="10dp">
+
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:background="@drawable/shape_fffad1e0_10_10_0_10"
+                            android:paddingHorizontal="6dp"
+                            android:paddingVertical="3dp"
+                            android:text="鑱旂郴鏂瑰紡"
+                            android:textColor="#FF000000"
+                            android:textSize="12sp" />
+
+                        <FrameLayout
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content">
+
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:layout_marginStart="5dp"
+                                android:paddingHorizontal="6dp"
+                                android:paddingVertical="3dp"
+                                android:text="12345678901"
+                                android:textColor="#FF000000"
+                                android:textSize="12sp" />
+
+                            <View
+                                android:layout_width="match_parent"
+                                android:layout_height="1dp"
+                                android:layout_gravity="bottom"
+                                android:background="#FFFAD1E0" />
+                        </FrameLayout>
+
+                    </LinearLayout>
+                </LinearLayout>
+
+                <LinearLayout
+                    android:id="@+id/layout_personal_6"
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="16dp"
+                    app:layout_constraintEnd_toEndOf="parent"
+                    app:layout_constraintStart_toStartOf="parent"
+                    app:layout_constraintTop_toBottomOf="@+id/layout_personal_5">
+
+                    <LinearLayout
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_weight="1"
+                        >
+
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:background="@drawable/shape_fffad1e0_10_10_0_10"
+                            android:paddingHorizontal="6dp"
+                            android:paddingVertical="3dp"
+                            android:text="甯镐綇鍦板潃"
+                            android:textColor="#FF000000"
+                            android:textSize="12sp" />
+
+                        <FrameLayout
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content">
+
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:layout_marginStart="6dp"
+                                android:paddingHorizontal="6dp"
+                                android:paddingVertical="3dp"
+                                android:text="骞夸笢鐪佸箍宸炲競"
+                                android:textColor="#FF000000"
+                                android:textSize="12sp" />
+
+                            <View
+                                android:layout_width="match_parent"
+                                android:layout_height="1dp"
+                                android:layout_gravity="bottom"
+                                android:background="#FFFAD1E0" />
+                        </FrameLayout>
+                    </LinearLayout>
+
+                    <LinearLayout
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_weight="1"
+                        android:layout_marginStart="10dp">
+
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:background="@drawable/shape_fffad1e0_10_10_0_10"
+                            android:paddingHorizontal="6dp"
+                            android:paddingVertical="3dp"
+                            android:text="寰俊鍙�"
+                            android:textColor="#FF000000"
+                            android:textSize="12sp" />
+
+                        <FrameLayout
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content">
+
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:layout_marginStart="12dp"
+                                android:paddingHorizontal="6dp"
+                                android:paddingVertical="3dp"
+                                android:text="12345678901"
+                                android:textColor="#FF000000"
+                                android:textSize="12sp" />
+
+                            <View
+                                android:layout_width="match_parent"
+                                android:layout_height="1dp"
+                                android:layout_gravity="bottom"
+                                android:background="#FFFAD1E0" />
+                        </FrameLayout>
+
+                    </LinearLayout>
+                </LinearLayout>
+
+                <LinearLayout
+                    android:id="@+id/layout_personal_7"
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="16dp"
+                    app:layout_constraintEnd_toEndOf="parent"
+                    app:layout_constraintStart_toStartOf="parent"
+                    app:layout_constraintTop_toBottomOf="@+id/layout_personal_6">
+
+                    <LinearLayout
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_weight="1"
+                        >
+
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:background="@drawable/shape_fffad1e0_10_10_0_10"
+                            android:paddingHorizontal="6dp"
+                            android:paddingVertical="3dp"
+                            android:text="鏀挎不闈㈣矊"
+                            android:textColor="#FF000000"
+                            android:textSize="12sp" />
+
+                        <FrameLayout
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content">
+
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:layout_marginStart="6dp"
+                                android:paddingHorizontal="6dp"
+                                android:paddingVertical="3dp"
+                                android:text="鍏变骇鍏氬憳"
+                                android:textColor="#FF000000"
+                                android:textSize="12sp" />
+
+                            <View
+                                android:layout_width="match_parent"
+                                android:layout_height="1dp"
+                                android:layout_gravity="bottom"
+                                android:background="#FFFAD1E0" />
+                        </FrameLayout>
+                    </LinearLayout>
+
+                    <LinearLayout
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_weight="1"
+                        android:layout_marginStart="10dp">
+
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:background="@drawable/shape_fffad1e0_10_10_0_10"
+                            android:paddingHorizontal="6dp"
+                            android:paddingVertical="3dp"
+                            android:text="QQ鍙�"
+                            android:textColor="#FF000000"
+                            android:textSize="12sp" />
+
+                        <FrameLayout
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content">
+
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:layout_marginStart="12dp"
+                                android:paddingHorizontal="6dp"
+                                android:paddingVertical="3dp"
+                                android:text="12345678901"
+                                android:textColor="#FF000000"
+                                android:textSize="12sp" />
+
+                            <View
+                                android:layout_width="match_parent"
+                                android:layout_height="1dp"
+                                android:layout_gravity="bottom"
+                                android:background="#FFFAD1E0" />
+                        </FrameLayout>
+
+                    </LinearLayout>
+                </LinearLayout>
+
+                <LinearLayout
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="16dp"
+
+                    app:layout_constraintEnd_toEndOf="parent"
+                    app:layout_constraintStart_toStartOf="parent"
+                    app:layout_constraintTop_toBottomOf="@+id/layout_personal_7">
+
+                    <LinearLayout
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_weight="1"
+                        >
+
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:background="@drawable/shape_fffad1e0_10_10_0_10"
+                            android:paddingHorizontal="6dp"
+                            android:paddingVertical="3dp"
+                            android:text="鎵�鍦ㄥ崟浣�"
+                            android:textColor="#FF000000"
+                            android:textSize="12sp" />
+
+                        <FrameLayout
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content">
+
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:layout_marginStart="6dp"
+                                android:paddingHorizontal="6dp"
+                                android:paddingVertical="3dp"
+                                android:text="寮犳皬鍏徃"
+                                android:textColor="#FF000000"
+                                android:textSize="12sp" />
+
+                            <View
+                                android:layout_width="match_parent"
+                                android:layout_height="1dp"
+                                android:layout_gravity="bottom"
+                                android:background="#FFFAD1E0"
+                                />
+                        </FrameLayout>
+                    </LinearLayout>
+
+                    <LinearLayout
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_weight="1"
+                        android:layout_marginStart="10dp">
+
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:background="@drawable/shape_fffad1e0_10_10_0_10"
+                            android:paddingHorizontal="6dp"
+                            android:paddingVertical="3dp"
+                            android:text="鑱屽姟"
+                            android:textColor="#FF000000"
+                            android:textSize="12sp" />
+
+                        <FrameLayout
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content">
+
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:layout_marginStart="12dp"
+                                android:paddingHorizontal="6dp"
+                                android:paddingVertical="3dp"
+                                android:text="缁忕悊"
+                                android:textColor="#FF000000"
+                                android:textSize="12sp" />
+
+                            <View
+                                android:layout_width="match_parent"
+                                android:layout_height="1dp"
+                                android:layout_gravity="bottom"
+                                android:background="#FFFAD1E0"
+                                />
+                        </FrameLayout>
+
+                    </LinearLayout>
+                </LinearLayout>
+
+            </androidx.constraintlayout.widget.ConstraintLayout>
+
+        </androidx.cardview.widget.CardView>
+        <androidx.cardview.widget.CardView
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            app:cardCornerRadius="6dp"
+            app:cardBackgroundColor="#F6FFFFFF"
+            app:cardElevation="10dp"
+            android:layout_marginHorizontal="10dp"
+            android:layout_marginVertical="15dp"
+            >
+            <androidx.constraintlayout.widget.ConstraintLayout
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:layout_marginStart="10dp"
+                android:layout_marginEnd="7dp"
+                android:layout_marginVertical="24dp"
+                android:visibility="invisible"
+                >
+
+                <androidx.constraintlayout.utils.widget.ImageFilterView
+                    android:id="@+id/iv_spouse_photo"
+                    android:layout_width="105dp"
+                    android:layout_height="105dp"
+                    android:background="@color/teal_200"
+                    app:layout_constraintEnd_toEndOf="parent"
+                    app:layout_constraintTop_toTopOf="parent"
+                    android:layout_marginStart="10dp"
+                    app:round="10dp" />
+
+                <TextView
+                    android:id="@+id/tv_spouse_basic_information"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:text="閰嶅伓鍩烘湰淇℃伅"
+                    android:textColor="#99000000"
+                    android:textSize="10sp"
+                    app:layout_constraintStart_toStartOf="parent"
+                    app:layout_constraintTop_toTopOf="parent"
+                    app:layout_constraintBottom_toTopOf="@id/layout_spouse_1"
+                    app:layout_constraintVertical_chainStyle="spread_inside"
+                    />
+
+                <LinearLayout
+                    android:id="@+id/layout_spouse_1"
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    app:layout_constraintHorizontal_chainStyle="spread_inside"
+                    app:layout_constraintBottom_toTopOf="@id/layout_spouse_2"
+                    app:layout_constraintEnd_toStartOf="@id/iv_spouse_photo"
+                    app:layout_constraintStart_toStartOf="@+id/tv_spouse_basic_information"
+                    app:layout_constraintTop_toBottomOf="@id/tv_spouse_basic_information"
+                    >
+
+                    <LinearLayout
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_weight="1"
+                        >
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:background="@drawable/shape_ffd8e6f5_10_10_0_10"
+                            android:paddingHorizontal="6dp"
+                            android:paddingVertical="3dp"
+                            android:text="濮撳悕"
+                            android:textColor="#FF000000"
+                            android:textSize="12sp" />
+
+                        <FrameLayout
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content">
+
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:paddingHorizontal="6dp"
+                                android:paddingVertical="3dp"
+                                android:text="濮撳悕"
+                                android:textColor="#FF000000"
+                                android:textSize="12sp"
+                                android:layout_marginStart="12dp"
+                                />
+
+                            <View
+                                android:layout_width="match_parent"
+                                android:layout_height="1dp"
+                                android:layout_gravity="bottom"
+                                android:background="#FFD8E6F5"
+                                />
+                        </FrameLayout>
+                    </LinearLayout>
+                    <LinearLayout
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_weight="1"
+                        android:layout_marginStart="10dp"
+                        >
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:background="@drawable/shape_ffd8e6f5_10_10_0_10"
+                            android:paddingHorizontal="6dp"
+                            android:paddingVertical="3dp"
+                            android:text="鎬у埆"
+                            android:textColor="#FF000000"
+                            android:textSize="12sp" />
+
+                        <FrameLayout
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content">
+
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:paddingHorizontal="6dp"
+                                android:paddingVertical="3dp"
+                                android:text="濂�"
+                                android:textColor="#FF000000"
+                                android:layout_marginStart="12dp"
+                                android:textSize="12sp" />
+
+                            <View
+                                android:layout_width="match_parent"
+                                android:layout_height="1dp"
+                                android:layout_gravity="bottom"
+                                android:background="#FFD8E6F5"
+                                />
+                        </FrameLayout>
+
+                    </LinearLayout>
+
+                </LinearLayout>
+
+                <LinearLayout
+                    android:id="@+id/layout_spouse_2"
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    app:layout_constraintStart_toStartOf="@+id/tv_spouse_basic_information"
+                    app:layout_constraintEnd_toStartOf="@id/iv_spouse_photo"
+                    app:layout_constraintTop_toBottomOf="@+id/layout_spouse_1"
+                    app:layout_constraintBottom_toTopOf="@id/layout_spouse_3"
+                    >
+                    <LinearLayout
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_weight="1"
+                        >
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:background="@drawable/shape_ffd8e6f5_10_10_0_10"
+                            android:paddingHorizontal="6dp"
+                            android:paddingVertical="3dp"
+                            android:text="韬唤"
+                            android:textColor="#FF000000"
+                            android:textSize="12sp" />
+
+                        <FrameLayout
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content">
+
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:paddingHorizontal="6dp"
+                                android:paddingVertical="3dp"
+                                android:text="绗竴浠�"
+                                android:textColor="#FF000000"
+                                android:textSize="12sp"
+                                android:layout_marginStart="12dp"
+                                />
+
+                            <View
+                                android:layout_width="match_parent"
+                                android:layout_height="1dp"
+                                android:layout_gravity="bottom"
+                                android:background="#FFD8E6F5"
+                                />
+                        </FrameLayout>
+                    </LinearLayout>
+                    <LinearLayout
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_weight="1"
+                        android:layout_marginStart="10dp"
+                        >
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:background="@drawable/shape_ffd8e6f5_10_10_0_10"
+                            android:paddingHorizontal="6dp"
+                            android:paddingVertical="3dp"
+                            android:text="骞撮緞"
+                            android:textColor="#FF000000"
+                            android:textSize="12sp" />
+
+                        <FrameLayout
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content">
+
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:paddingHorizontal="6dp"
+                                android:paddingVertical="3dp"
+                                android:text="18"
+                                android:textColor="#FF000000"
+                                android:layout_marginStart="12dp"
+                                android:textSize="12sp" />
+
+                            <View
+                                android:layout_width="match_parent"
+                                android:layout_height="1dp"
+                                android:layout_gravity="bottom"
+                                android:background="#FFD8E6F5"
+                                />
+                        </FrameLayout>
+
+                    </LinearLayout>
+                </LinearLayout>
+
+                <LinearLayout
+                    android:id="@+id/layout_spouse_3"
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    app:layout_constraintBottom_toBottomOf="@id/iv_spouse_photo"
+                    app:layout_constraintStart_toStartOf="@id/tv_spouse_basic_information"
+                    app:layout_constraintEnd_toStartOf="@id/iv_spouse_photo"
+                    app:layout_constraintTop_toBottomOf="@id/layout_spouse_2">
+
+                    <LinearLayout
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_weight="1"
+                        >
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:background="@drawable/shape_ffd8e6f5_10_10_0_10"
+                            android:paddingHorizontal="6dp"
+                            android:paddingVertical="3dp"
+                            android:text="鏇剧敤鍚�"
+                            android:textColor="#FF000000"
+                            android:textSize="12sp" />
+
+                        <FrameLayout
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content">
+
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:paddingHorizontal="6dp"
+                                android:paddingVertical="3dp"
+                                android:text="寮犲洓"
+                                android:textColor="#FF000000"
+                                android:textSize="12sp"
+                                android:layout_marginStart="12dp"
+                                />
+
+                            <View
+                                android:layout_width="match_parent"
+                                android:layout_height="1dp"
+                                android:layout_gravity="bottom"
+                                android:background="#FFD8E6F5"
+                                />
+                        </FrameLayout>
+                    </LinearLayout>
+                    <LinearLayout
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_weight="1"
+                        android:layout_marginStart="10dp"
+                        >
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:background="@drawable/shape_ffd8e6f5_10_10_0_10"
+                            android:paddingHorizontal="6dp"
+                            android:paddingVertical="3dp"
+                            android:text="姘戞棌"
+                            android:textColor="#FF000000"
+                            android:textSize="12sp" />
+
+                        <FrameLayout
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content">
+
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:paddingHorizontal="6dp"
+                                android:paddingVertical="3dp"
+                                android:text="姹夋棌"
+                                android:textColor="#FF000000"
+                                android:layout_marginStart="12dp"
+                                android:textSize="12sp" />
+
+                            <View
+                                android:layout_width="match_parent"
+                                android:layout_height="1dp"
+                                android:layout_gravity="bottom"
+                                android:background="#FFD8E6F5"
+                                />
+                        </FrameLayout>
+
+                    </LinearLayout>
+                </LinearLayout>
+
+
+                <LinearLayout
+                    android:id="@+id/layout_spouse_4"
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="24dp"
+                    app:layout_constraintEnd_toEndOf="parent"
+                    app:layout_constraintStart_toStartOf="parent"
+                    app:layout_constraintTop_toBottomOf="@+id/iv_spouse_photo">
+
+                    <LinearLayout
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_weight="1"
+                        >
+
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:background="@drawable/shape_ffd8e6f5_10_10_0_10"
+                            android:paddingHorizontal="6dp"
+                            android:paddingVertical="3dp"
+                            android:text="濠氬Щ鐘跺喌"
+                            android:textColor="#FF000000"
+                            android:textSize="12sp" />
+
+                        <FrameLayout
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content">
+
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:layout_marginStart="6dp"
+                                android:paddingHorizontal="6dp"
+                                android:paddingVertical="3dp"
+                                android:text="宸插"
+                                android:textColor="#FF000000"
+                                android:textSize="12sp" />
+
+                            <View
+                                android:layout_width="match_parent"
+                                android:layout_height="1dp"
+                                android:layout_gravity="bottom"
+                                android:background="#FFD8E6F5" />
+                        </FrameLayout>
+                    </LinearLayout>
+
+                    <LinearLayout
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_weight="1"
+                        android:layout_marginStart="10dp">
+
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:background="@drawable/shape_ffd8e6f5_10_10_0_10"
+                            android:paddingHorizontal="6dp"
+                            android:paddingVertical="3dp"
+                            android:text="閰嶅伓"
+                            android:textColor="#FF000000"
+                            android:textSize="12sp" />
+
+                        <FrameLayout
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content">
+
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:layout_marginStart="12dp"
+                                android:paddingHorizontal="6dp"
+                                android:paddingVertical="3dp"
+                                android:text="寮犲洓"
+                                android:textColor="#FF000000"
+                                android:textSize="12sp" />
+
+                            <View
+                                android:layout_width="match_parent"
+                                android:layout_height="1dp"
+                                android:layout_gravity="bottom"
+                                android:background="#FFD8E6F5" />
+                        </FrameLayout>
+
+                    </LinearLayout>
+                </LinearLayout>
+
+                <LinearLayout
+                    android:id="@+id/layout_spouse_5"
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="16dp"
+                    app:layout_constraintEnd_toEndOf="parent"
+                    app:layout_constraintStart_toStartOf="parent"
+                    app:layout_constraintTop_toBottomOf="@+id/layout_spouse_4">
+
+                    <LinearLayout
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_weight="1"
+                        >
+
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:background="@drawable/shape_ffd8e6f5_10_10_0_10"
+                            android:paddingHorizontal="6dp"
+                            android:paddingVertical="3dp"
+                            android:text="鎴风睄鍦板潃"
+                            android:textColor="#FF000000"
+                            android:textSize="12sp" />
+
+                        <FrameLayout
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content">
+
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:layout_marginStart="6dp"
+                                android:paddingHorizontal="6dp"
+                                android:paddingVertical="3dp"
+                                android:text="骞夸笢鐪佸箍宸炲競"
+                                android:textColor="#FF000000"
+                                android:textSize="12sp" />
+
+                            <View
+                                android:layout_width="match_parent"
+                                android:layout_height="1dp"
+                                android:layout_gravity="bottom"
+                                android:background="#FFD8E6F5" />
+                        </FrameLayout>
+                    </LinearLayout>
+
+                    <LinearLayout
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_weight="1"
+                        android:layout_marginStart="10dp">
+
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:background="@drawable/shape_ffd8e6f5_10_10_0_10"
+                            android:paddingHorizontal="6dp"
+                            android:paddingVertical="3dp"
+                            android:text="鑱旂郴鏂瑰紡"
+                            android:textColor="#FF000000"
+                            android:textSize="12sp" />
+
+                        <FrameLayout
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content">
+
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:layout_marginStart="5dp"
+                                android:paddingHorizontal="6dp"
+                                android:paddingVertical="3dp"
+                                android:text="12345678901"
+                                android:textColor="#FF000000"
+                                android:textSize="12sp" />
+
+                            <View
+                                android:layout_width="match_parent"
+                                android:layout_height="1dp"
+                                android:layout_gravity="bottom"
+                                android:background="#FFD8E6F5" />
+                        </FrameLayout>
+
+                    </LinearLayout>
+                </LinearLayout>
+
+                <LinearLayout
+                    android:id="@+id/layout_spouse_6"
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="16dp"
+                    app:layout_constraintEnd_toEndOf="parent"
+                    app:layout_constraintStart_toStartOf="parent"
+                    app:layout_constraintTop_toBottomOf="@+id/layout_spouse_5">
+
+                    <LinearLayout
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_weight="1"
+                        >
+
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:background="@drawable/shape_ffd8e6f5_10_10_0_10"
+                            android:paddingHorizontal="6dp"
+                            android:paddingVertical="3dp"
+                            android:text="甯镐綇鍦板潃"
+                            android:textColor="#FF000000"
+                            android:textSize="12sp" />
+
+                        <FrameLayout
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content">
+
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:layout_marginStart="6dp"
+                                android:paddingHorizontal="6dp"
+                                android:paddingVertical="3dp"
+                                android:text="骞夸笢鐪佸箍宸炲競"
+                                android:textColor="#FF000000"
+                                android:textSize="12sp" />
+
+                            <View
+                                android:layout_width="match_parent"
+                                android:layout_height="1dp"
+                                android:layout_gravity="bottom"
+                                android:background="#FFD8E6F5" />
+                        </FrameLayout>
+                    </LinearLayout>
+
+                    <LinearLayout
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_weight="1"
+                        android:layout_marginStart="10dp">
+
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:background="@drawable/shape_ffd8e6f5_10_10_0_10"
+                            android:paddingHorizontal="6dp"
+                            android:paddingVertical="3dp"
+                            android:text="寰俊鍙�"
+                            android:textColor="#FF000000"
+                            android:textSize="12sp" />
+
+                        <FrameLayout
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content">
+
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:layout_marginStart="12dp"
+                                android:paddingHorizontal="6dp"
+                                android:paddingVertical="3dp"
+                                android:text="12345678901"
+                                android:textColor="#FF000000"
+                                android:textSize="12sp" />
+
+                            <View
+                                android:layout_width="match_parent"
+                                android:layout_height="1dp"
+                                android:layout_gravity="bottom"
+                                android:background="#FFD8E6F5" />
+                        </FrameLayout>
+
+                    </LinearLayout>
+                </LinearLayout>
+
+                <LinearLayout
+                    android:id="@+id/layout_spouse_7"
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="16dp"
+                    app:layout_constraintEnd_toEndOf="parent"
+                    app:layout_constraintStart_toStartOf="parent"
+                    app:layout_constraintTop_toBottomOf="@+id/layout_spouse_6">
+
+                    <LinearLayout
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_weight="1"
+                        >
+
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:background="@drawable/shape_ffd8e6f5_10_10_0_10"
+                            android:paddingHorizontal="6dp"
+                            android:paddingVertical="3dp"
+                            android:text="鏀挎不闈㈣矊"
+                            android:textColor="#FF000000"
+                            android:textSize="12sp" />
+
+                        <FrameLayout
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content">
+
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:layout_marginStart="6dp"
+                                android:paddingHorizontal="6dp"
+                                android:paddingVertical="3dp"
+                                android:text="鍏变骇鍏氬憳"
+                                android:textColor="#FF000000"
+                                android:textSize="12sp" />
+
+                            <View
+                                android:layout_width="match_parent"
+                                android:layout_height="1dp"
+                                android:layout_gravity="bottom"
+                                android:background="#FFD8E6F5" />
+                        </FrameLayout>
+                    </LinearLayout>
+
+                    <LinearLayout
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_weight="1"
+                        android:layout_marginStart="10dp">
+
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:background="@drawable/shape_ffd8e6f5_10_10_0_10"
+                            android:paddingHorizontal="6dp"
+                            android:paddingVertical="3dp"
+                            android:text="QQ鍙�"
+                            android:textColor="#FF000000"
+                            android:textSize="12sp" />
+
+                        <FrameLayout
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content">
+
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:layout_marginStart="6dp"
+                                android:paddingHorizontal="6dp"
+                                android:paddingVertical="3dp"
+                                android:text="12345678901"
+                                android:textColor="#FF000000"
+                                android:textSize="12sp" />
+
+                            <View
+                                android:layout_width="match_parent"
+                                android:layout_height="1dp"
+                                android:layout_gravity="bottom"
+                                android:background="#FFD8E6F5" />
+                        </FrameLayout>
+
+                    </LinearLayout>
+                </LinearLayout>
+
+                <LinearLayout
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="16dp"
+
+                    app:layout_constraintEnd_toEndOf="parent"
+                    app:layout_constraintStart_toStartOf="parent"
+                    app:layout_constraintTop_toBottomOf="@+id/layout_spouse_7">
+
+                    <LinearLayout
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_weight="1"
+                        >
+
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:background="@drawable/shape_ffd8e6f5_10_10_0_10"
+                            android:paddingHorizontal="6dp"
+                            android:paddingVertical="3dp"
+                            android:text="鎵�鍦ㄥ崟浣�"
+                            android:textColor="#FF000000"
+                            android:textSize="12sp" />
+
+                        <FrameLayout
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content">
+
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:layout_marginStart="12dp"
+                                android:paddingHorizontal="6dp"
+                                android:paddingVertical="3dp"
+                                android:text="寮犳皬鍏徃"
+                                android:textColor="#FF000000"
+                                android:textSize="12sp" />
+
+                            <View
+                                android:layout_width="match_parent"
+                                android:layout_height="1dp"
+                                android:layout_gravity="bottom"
+                                android:background="#FFD8E6F5"
+                                />
+                        </FrameLayout>
+                    </LinearLayout>
+
+                    <LinearLayout
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_weight="1"
+                        android:layout_marginStart="10dp">
+
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:background="@drawable/shape_ffd8e6f5_10_10_0_10"
+                            android:paddingHorizontal="6dp"
+                            android:paddingVertical="3dp"
+                            android:text="鑱屽姟"
+                            android:textColor="#FF000000"
+                            android:textSize="12sp" />
+
+                        <FrameLayout
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content">
+
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:layout_marginStart="12dp"
+                                android:paddingHorizontal="6dp"
+                                android:paddingVertical="3dp"
+                                android:text="缁忕悊"
+                                android:textColor="#FF000000"
+                                android:textSize="12sp" />
+
+                            <View
+                                android:layout_width="match_parent"
+                                android:layout_height="1dp"
+                                android:layout_gravity="bottom"
+                                android:background="#FFD8E6F5"
+                                />
+                        </FrameLayout>
+
+                    </LinearLayout>
+                </LinearLayout>
+
+            </androidx.constraintlayout.widget.ConstraintLayout>
+            <RelativeLayout
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:layout_marginStart="10dp"
+                android:layout_marginEnd="7dp"
+                android:layout_marginVertical="24dp"
+                >
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:text="閰嶅伓鍩烘湰淇℃伅"
+                    android:textColor="#99000000"
+                    android:textSize="10sp"
+                    />
+                <LinearLayout
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:orientation="vertical"
+                    android:layout_centerInParent="true"
+                    >
+                    <ImageView
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:background="@drawable/img_data_null"
+                        />
+                    <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_marginStart="4dp"
+                        android:text="杩欓噷鐨勪俊鎭┖绌哄涔焴"
+                        android:textColor="#73000000"
+                        android:textSize="14sp"
+                        android:layout_gravity="center"
+                        android:layout_marginTop="10dp"
+                        />
+                </LinearLayout>
+            </RelativeLayout>
+        </androidx.cardview.widget.CardView>
+    </LinearLayout>
+
+</ScrollView>
\ No newline at end of file
diff --git a/app_base/build.gradle b/app_base/build.gradle
index dc0253e..992d1b0 100644
--- a/app_base/build.gradle
+++ b/app_base/build.gradle
@@ -56,17 +56,17 @@
     api 'com.github.franmontiel:PersistentCookieJar:v1.0.1'
 
     // 鏍囬鏍忔鏋讹細https://github.com/getActivity/TitleBar
-    api 'com.github.getActivity:TitleBar:10.0'
+    api 'com.github.getActivity:TitleBar:10.3'
 
     // 灞忓箷閫傞厤
     api 'com.github.JessYanCoding:AndroidAutoSize:v1.2.1'
 
-    // 鍩虹渚濊禆鍖咃紝蹇呴』瑕佷緷璧�
-    api 'com.geyifeng.immersionbar:immersionbar:3.2.2'
-    // kotlin鎵╁睍锛堝彲閫夛級
-//    implementation 'com.geyifeng.immersionbar:immersionbar-ktx:3.2.2'
+    // 娌夋蹈寮忕姸鎬佹爮
+    api 'com.geyifeng.immersionbar:immersionbar:3.2.2'    // 鍩虹渚濊禆鍖咃紝蹇呴』瑕佷緷璧�
+    //implementation 'com.geyifeng.immersionbar:immersionbar-ktx:3.2.2'    // kotlin鎵╁睍锛堝彲閫夛級
+
     //鍥剧墖鐩稿叧
-    api 'com.github.bumptech.glide:glide:4.12.0'
+    api 'com.github.bumptech.glide:glide:4.14.2'
     annotationProcessor 'com.github.bumptech.glide:compiler:4.12.0'
     //鍐呭瓨娉勯湶宸ュ叿
     debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.9.1'
@@ -85,4 +85,14 @@
     // 鍔ㄧ敾璧勬簮锛歨ttps://lottiefiles.com銆乭ttps://icons8.com/animated-icons
     api 'com.airbnb.android:lottie:4.1.0'
 
+    // 涓婁笅鎷夊埛鏂板姞杞�
+    api  'io.github.scwang90:refresh-layout-kernel:2.0.5'      //鏍稿績蹇呴』渚濊禆
+    api  'io.github.scwang90:refresh-header-classics:2.0.5'    //缁忓吀鍒锋柊澶�
+    api  'io.github.scwang90:refresh-header-radar:2.0.5'       //闆疯揪鍒锋柊澶�
+    api  'io.github.scwang90:refresh-header-falsify:2.0.5'     //铏氭嫙鍒锋柊澶�
+    api  'io.github.scwang90:refresh-header-material:2.0.5'    //璋锋瓕鍒锋柊澶�
+    api  'io.github.scwang90:refresh-header-two-level:2.0.5'   //浜岀骇鍒锋柊澶�
+    api  'io.github.scwang90:refresh-footer-ball:2.0.5'        //鐞冭剦鍐插姞杞�
+    api  'io.github.scwang90:refresh-footer-classics:2.0.5'    //缁忓吀鍔犺浇
+
 }
\ No newline at end of file
diff --git a/app_base/src/main/java/com/android/app_base/base/StateViewEnum.java b/app_base/src/main/java/com/android/app_base/base/StateViewEnum.java
index 454ffe1..00334cd 100644
--- a/app_base/src/main/java/com/android/app_base/base/StateViewEnum.java
+++ b/app_base/src/main/java/com/android/app_base/base/StateViewEnum.java
@@ -6,7 +6,8 @@
 public enum StateViewEnum {
     DIALOG_LOADING,// dialog鍔犺浇涓�
     DIALOG_DISMISS,//dialog闅愯棌
-    DATA_LOADING,
+    DATA_LOADING,// 鏁版嵁鍔犺浇涓�
+    DATA_FINISH,// 鏁版嵁鍔犺浇瀹屾垚
     DATA_ERROR,// 鏁版嵁閿欒
     DATA_NULL,// 娌℃湁鏁版嵁
     NET_ERROR,//缃戠粶閿欒
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 f60803f..bd6d45c 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
@@ -67,12 +67,12 @@
     @Override
     public VH onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
         VDB itemBind = DataBindingUtil.inflate(LayoutInflater.from(parent.getContext()),getLayoutId(),parent,false);
-        return getViewHolder(itemBind);
+        return getViewHolder(itemBind,viewType);
     }
 
     protected abstract int getLayoutId();
     protected abstract void onBind(VH holder, int position);
-    protected abstract VH getViewHolder(VDB itemBind);
+    protected abstract VH getViewHolder(VDB itemBind,int viewType);
 
     @Override
     public void onBindViewHolder(@NonNull VH holder, int position) {
@@ -212,8 +212,10 @@
         if (mDataList == null || mDataList.size() == 0) {
             setData(data);
         } else {
-            mDataList.addAll(data);
-            notifyDataSetChanged();
+            //涓�涓竴涓殑娣诲姞
+            for (T datum : data) {
+                addItem(datum);
+            }
         }
     }
     /**
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 73f922c..51b3ab8 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
@@ -57,11 +57,6 @@
         initView();
         //椤甸潰浜嬩欢鐩戝惉鐨勬柟娉曪紝鐢ㄤ簬ViewModel灞傝浆鍒癡iew灞傜殑浜嬩欢娉ㄥ唽
         initLiveDataObserve();
-
-    }
-    @Override
-    protected void onResume() {
-        super.onResume();
         //椤甸潰鏁版嵁鍒濆鍖栨柟娉�
         initData();
     }
@@ -152,6 +147,9 @@
                     case DATA_LOADING:
                         dataLoading();
                         break;
+                    case DATA_FINISH:
+                        dataFinish();
+                        break;
                     case DATA_ERROR:
                         dataError();
                         break;
@@ -176,6 +174,9 @@
             }
         });
     }
+
+
+
     /**
      * 缂虹渷椤电瓑鐘舵�佽鍥剧殑鏇存柊
      * 鏈夐渶姹傜殑锛屽湪瀛愮被閫夋嫨閲嶅啓
@@ -186,6 +187,8 @@
     }
     protected void dataLoading() {
     }
+    protected void dataFinish() {
+    }
     protected void dataError() {
     }
     protected void dataNull() {
diff --git a/app_base/src/main/java/com/android/app_base/http/OkHttpHelper.java b/app_base/src/main/java/com/android/app_base/http/OkHttpHelper.java
index abb45d7..92f62d1 100644
--- a/app_base/src/main/java/com/android/app_base/http/OkHttpHelper.java
+++ b/app_base/src/main/java/com/android/app_base/http/OkHttpHelper.java
@@ -6,6 +6,7 @@
 
 import com.android.app_base.BuildConfig;
 import com.android.app_base.base.BaseApplication;
+import com.android.app_base.http.interceptor.AuthInterceptor;
 import com.android.app_base.http.interceptor.CacheInterceptor;
 import com.android.app_base.http.interceptor.LogInterceptor;
 import com.blankj.utilcode.util.LogUtils;
@@ -71,6 +72,7 @@
             }
         });
         clientBuilder.addInterceptor(new LogInterceptor());//鎷︽埅鍣ㄦ坊鍔犲叕鍏卞弬鏁�
+        clientBuilder.addInterceptor(new AuthInterceptor());//鎷︽埅鍣╰oken澶辨晥澶勭悊
         //log鏃ュ織鎷︽埅
         if (BuildConfig.DEBUG) {
             clientBuilder.addInterceptor(new HttpLoggingInterceptor(new HttpLoggingInterceptor.Logger() {
diff --git a/app_base/src/main/java/com/android/app_base/http/interceptor/AuthInterceptor.java b/app_base/src/main/java/com/android/app_base/http/interceptor/AuthInterceptor.java
new file mode 100644
index 0000000..3284722
--- /dev/null
+++ b/app_base/src/main/java/com/android/app_base/http/interceptor/AuthInterceptor.java
@@ -0,0 +1,76 @@
+package com.android.app_base.http.interceptor;
+
+import android.content.Context;
+import android.content.Intent;
+import android.text.TextUtils;
+
+import com.android.app_base.base.BaseConfig;
+import com.android.app_base.manager.AppManager;
+import com.android.app_base.manager.UserManager;
+import com.blankj.utilcode.util.ToastUtils;
+
+import org.json.JSONException;
+import org.json.JSONObject;
+
+import java.io.IOException;
+import java.nio.charset.Charset;
+import java.nio.charset.StandardCharsets;
+
+import okhttp3.Interceptor;
+import okhttp3.Request;
+import okhttp3.Response;
+import okio.Buffer;
+import okio.BufferedSource;
+
+/**
+ * @author Ljj
+ * @date 2023.04.07. 19:53
+ * @desc
+ */
+public class AuthInterceptor implements Interceptor {
+
+    private Context context;
+    public AuthInterceptor() {
+    }
+
+    public AuthInterceptor(Context context) {
+        this.context = context;
+    }
+
+    @Override
+    public Response intercept(Chain chain) throws IOException {
+        Request originalRequest = chain.request();
+
+        // Add Authorization header to the request
+        Request.Builder builder = originalRequest.newBuilder();
+        //娣诲姞澶撮儴token
+        String token = UserManager.getInstance().getToken();
+        if (!TextUtils.isEmpty(token)) {
+            builder.addHeader("Authorization", token);
+        }
+
+        Request newRequest = builder.build();
+        Response response = chain.proceed(newRequest);
+        // 澶勭悊API杩斿洖鐨勬暟鎹姸鎬佺爜
+        try {
+            BufferedSource source = response.body().source();
+            source.request(Long.MAX_VALUE); // Buffer the entire body.
+            Buffer buffer = source.getBuffer();
+            Charset UTF8 = StandardCharsets.UTF_8;
+            String string = buffer.clone().readString(UTF8);
+            JSONObject responseObject = new JSONObject(string);
+            int code = responseObject.getInt("code");
+            if (code == BaseConfig.TOKEN_INVALID ) {
+                UserManager.getInstance().clearToken();
+                AppManager.getAppManager().finishAllActivity();
+                AppManager.getAppManager().startActivityForName(BaseConfig.LOGIN_ACTIVITY);
+                throw new IOException("鐧诲綍鐘舵�佸け鏁堬紝璇烽噸鏂扮櫥褰�");
+            }
+        } catch (JSONException e) {
+            // 澶勭悊JSON瑙f瀽寮傚父
+            // ...
+        }
+
+        return response;
+    }
+}
diff --git a/app_base/src/main/java/com/android/app_base/http/interceptor/LogInterceptor.java b/app_base/src/main/java/com/android/app_base/http/interceptor/LogInterceptor.java
index a5e68c5..45f4504 100644
--- a/app_base/src/main/java/com/android/app_base/http/interceptor/LogInterceptor.java
+++ b/app_base/src/main/java/com/android/app_base/http/interceptor/LogInterceptor.java
@@ -59,35 +59,9 @@
                 .build();
         Request.Builder builder = request.newBuilder();
 
-        //娣诲姞澶撮儴token
-        String token = UserManager.getInstance().getToken();
-        if (!TextUtils.isEmpty(token)) {
-            builder.addHeader("Authorization", token);
-        }
         Request newRequest = builder.url(modifiedUrl).build();
-        Response response = chain.proceed(newRequest);
 
-        //瑙e喅response.body().string();鍙兘鎵撳嵃涓�娆�
-        ResponseBody responseBody = response.body();
-        BufferedSource source = responseBody.source();
-        source.request(Long.MAX_VALUE); // Buffer the entire body.
-        Buffer buffer = source.getBuffer();
-        Charset UTF8 = Charset.forName("UTF-8");
-        String string = buffer.clone().readString(UTF8);
-        try {
-            JSONObject jsonObject = new JSONObject(string);
-            int code = jsonObject.getInt("code");
-            if (code == BaseConfig.TOKEN_INVALID ) {
-                ToastUtils.showShort("鐧诲綍鐘舵�佸け鏁堬紝璇烽噸鏂扮櫥褰�");
-                UserManager.getInstance().clearToken();
-                AppManager.getAppManager().finishAllActivity();
-                AppManager.getAppManager().startActivityForName(BaseConfig.LOGIN_ACTIVITY);
-            }
-        } catch (JSONException e) {
-            throw new RuntimeException(e);
-        }
-
-        return response;
+        return chain.proceed(newRequest);
     }
 
 }
\ No newline at end of file
diff --git a/app_base/src/main/java/com/android/app_base/utils/GlideUtil.java b/app_base/src/main/java/com/android/app_base/utils/GlideUtil.java
index 55a132c..135ea5d 100644
--- a/app_base/src/main/java/com/android/app_base/utils/GlideUtil.java
+++ b/app_base/src/main/java/com/android/app_base/utils/GlideUtil.java
@@ -25,8 +25,13 @@
      * @param imageView ImageView 瀵硅薄
      */
     public static void loadImage(String imageUrl, ImageView imageView) {
+        RequestOptions options = new RequestOptions()
+                .placeholder(com.luck.picture.lib.R.drawable.ps_image_placeholder)
+                .error(com.luck.picture.lib.R.drawable.ps_image_placeholder)
+                .diskCacheStrategy(DiskCacheStrategy.ALL).dontAnimate();
         Glide.with(BaseApplication.getInstance())
                 .load(imageUrl)
+                .apply(options)
                 .into(imageView);
     }
     //鍦嗗舰
diff --git a/app_base/src/main/java/com/android/app_base/widget/ExtendTitleBar.java b/app_base/src/main/java/com/android/app_base/widget/ExtendTitleBar.java
index d57bf25..b1dd717 100644
--- a/app_base/src/main/java/com/android/app_base/widget/ExtendTitleBar.java
+++ b/app_base/src/main/java/com/android/app_base/widget/ExtendTitleBar.java
@@ -1,6 +1,7 @@
 package com.android.app_base.widget;
 
 import android.content.Context;
+import android.graphics.Color;
 import android.util.AttributeSet;
 import android.view.Gravity;
 
@@ -33,26 +34,31 @@
     @Override
     protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
         super.onMeasure(widthMeasureSpec, heightMeasureSpec);
-        setTitleGravity(titleGravity);
+//        System.out.println("onMeasure");
+        reSetTitleGravity(titleGravity);
     }
 
     @Override
     public TitleBar setTitleGravity(int gravity) {
         titleGravity = gravity;
+        return super.setTitleGravity(gravity);
+    }
+
+    public void reSetTitleGravity(int gravity) {
         gravity = TitleBarSupport.getAbsoluteGravity(this, gravity);
         LayoutParams params = (LayoutParams) getTitleView().getLayoutParams();
-        params.gravity = gravity;
-        // 濡傛灉鏍囬鐨勯噸蹇冧负宸︼紝閭d箞宸﹁竟灏变笉鑳芥湁鍐呭
+        params.gravity = gravity|Gravity.CENTER_VERTICAL;
         if (gravity == Gravity.LEFT || gravity == Gravity.START){
             params.setMargins(getLeftView().getMeasuredWidth(),0,0,0);
         }
-
-        // 濡傛灉鏍囬鐨勯噸蹇冧负鍙筹紝閭d箞鍙宠竟灏变笉鑳芥湁鍐呭
         if (gravity == Gravity.RIGHT && gravity == Gravity.END){
             params.setMargins(0,0,0, getRightView().getMeasuredWidth());
         }
         getTitleView().setLayoutParams(params);
-        return this;
+    }
+
+    public void setTitle(String title){
+        setTitle((CharSequence) title);
     }
 
 }
diff --git a/app_base/src/main/res/anim/pop_drop_hide.xml b/app_base/src/main/res/anim/pop_drop_hide.xml
new file mode 100644
index 0000000..d7ecce4
--- /dev/null
+++ b/app_base/src/main/res/anim/pop_drop_hide.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<set xmlns:android="http://schemas.android.com/apk/res/android">
+    <alpha
+        android:duration="200"
+        android:fromAlpha="1.0"
+        android:toAlpha="0.0"/>
+    <scale
+        android:duration="200"
+        android:fromXScale="1.0"
+        android:fromYScale="1.0"
+        android:interpolator="@android:anim/accelerate_interpolator"
+        android:pivotX="50%"
+        android:pivotY="50%"
+        android:toXScale="0"
+        android:toYScale="0"/>
+</set>
\ No newline at end of file
diff --git a/app_base/src/main/res/anim/pop_drop_show.xml b/app_base/src/main/res/anim/pop_drop_show.xml
new file mode 100644
index 0000000..4e0be2c
--- /dev/null
+++ b/app_base/src/main/res/anim/pop_drop_show.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<set xmlns:android="http://schemas.android.com/apk/res/android">
+    <alpha
+        android:duration="200"
+        android:fromAlpha="0.0"
+        android:toAlpha="1.0"/>
+    <scale
+        android:duration="200"
+        android:fromXScale="0"
+        android:fromYScale="0"
+        android:interpolator="@android:anim/accelerate_interpolator"
+        android:pivotX="50%"
+        android:pivotY="50%"
+        android:toXScale="1.0"
+        android:toYScale="1.0"/>
+</set>
\ No newline at end of file
diff --git a/app_base/src/main/res/anim/pop_add_hide.xml b/app_base/src/main/res/anim/pop_operate_hide.xml
similarity index 100%
rename from app_base/src/main/res/anim/pop_add_hide.xml
rename to app_base/src/main/res/anim/pop_operate_hide.xml
diff --git a/app_base/src/main/res/anim/pop_add_show.xml b/app_base/src/main/res/anim/pop_operate_show.xml
similarity index 100%
rename from app_base/src/main/res/anim/pop_add_show.xml
rename to app_base/src/main/res/anim/pop_operate_show.xml
diff --git a/app_base/src/main/res/values/styles.xml b/app_base/src/main/res/values/styles.xml
index 8e39514..1df6e6f 100644
--- a/app_base/src/main/res/values/styles.xml
+++ b/app_base/src/main/res/values/styles.xml
@@ -1,8 +1,12 @@
 <?xml version="1.0" encoding="utf-8"?>
 <resources>
-    <style name="pop_add">
-        <item name="android:windowEnterAnimation">@anim/pop_add_show</item>
-        <item name="android:windowExitAnimation">@anim/pop_add_hide</item>
+    <style name="pop_operate">
+        <item name="android:windowEnterAnimation">@anim/pop_operate_show</item>
+        <item name="android:windowExitAnimation">@anim/pop_operate_hide</item>
+    </style>
+    <style name="pop_info">
+        <item name="android:windowEnterAnimation">@anim/pop_drop_show</item>
+        <item name="android:windowExitAnimation">@anim/pop_drop_hide</item>
     </style>
 
     <!-- 瀵硅瘽妗嗛粯璁ゆ牱寮� -->
diff --git a/gradle.properties b/gradle.properties
index a4bc7ac..77c6102 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -20,6 +20,8 @@
 # thereby reducing the size of the R class for that library
 android.nonTransitiveRClass=true
 
+android.enableJetifier=true
+
 android.injected.testOnly=false
 
 KEY_PATH=zhangshiapp.keystore

--
Gitblit v1.9.1