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