From 82e57df230ecb744af6c8865f80870ba03c86d89 Mon Sep 17 00:00:00 2001
From: Linjiajia <319408893@qq.com>
Date: 星期二, 25 七月 2023 22:18:27 +0800
Subject: [PATCH] 基本功能完成
---
app/src/main/res/layout/activity_family_assets.xml | 272
app_base/src/main/java/com/android/app_base/base/adapter/BaseRVAdapter.java | 2
app_base/src/main/java/com/android/app_base/widget/ClearEditText.java | 150
app/src/main/java/com/application/zhangshi_app_android/ui/personal_center/BasicInfoActivityViewModel.java | 65
app/src/main/res/layout/activity_basic_info.xml | 31
app/src/main/java/com/application/zhangshi_app_android/ui/function/AnnualHealthStatusActivityViewModel.java | 326
app/src/main/java/com/application/zhangshi_app_android/ui/function/AnnualHealthStatusDetailActivityViewModel.java | 182
app/src/main/java/com/application/zhangshi_app_android/ui/function/CertificateOfHonorActivity.java | 101
app/src/main/res/layout/item_growth_experience_holder_condition.xml | 63
app_base/src/main/res/layout/dialog_ui.xml | 8
app/src/main/java/com/application/zhangshi_app_android/ui/personal_center/PersonalCenterFragment.java | 21
app/src/main/java/com/application/zhangshi_app_android/bean/ContactsBean.java | 2
app/src/main/java/com/application/zhangshi_app_android/adapter/OldSpouseRvAdapter.java | 36
app/src/main/res/layout/activity_clean_storage.xml | 427
app/src/main/res/layout/activity_annual_health_status.xml | 286
app/src/main/java/com/application/zhangshi_app_android/ui/function/TourismExperienceDetailActivity.java | 204
app/src/main/java/com/application/zhangshi_app_android/adapter/ConsumeRecordRvAdapter.java | 62
app/src/main/java/com/application/zhangshi_app_android/ui/dialog/ContactsDialog.java | 12
app/src/main/res/layout/activity_main.xml | 2
app/src/main/res/layout/item_daily_consume_record.xml | 125
app/src/main/java/com/application/zhangshi_app_android/adapter/DailyConsumeRecordRvAdapter.java | 217
app/src/main/java/com/application/zhangshi_app_android/ui/function/PropertyActivity.java | 198
app/src/main/java/com/application/zhangshi_app_android/adapter/GrowthExperiencePrimaryRvAdapter.java | 91
app/src/main/java/com/application/zhangshi_app_android/adapter/FamilyAssetsRvAdapter.java | 100
app/src/main/res/layout/item_personal_notepad.xml | 154
app/src/main/java/com/application/zhangshi_app_android/adapter/MemoRvAdapter.java | 211
app/src/main/res/drawable-xxhdpi/ic_indication_selected.png | 0
app_base/src/main/java/com/android/app_base/base/adapter/BaseVp2FragmentAdapter.java | 14
app/src/main/java/com/application/zhangshi_app_android/ui/function/TourismActivity.java | 297
app/src/main/res/drawable-xhdpi/ic_indication_selected.png | 0
app_base/src/main/java/com/android/app_base/base/adapter/databinding/TextViewAdapter.java | 84
app/src/main/java/com/application/zhangshi_app_android/ui/function/FamilyAssetsActivityViewModel.java | 162
app/src/main/java/com/application/zhangshi_app_android/ui/function/HonorCollectionActivityViewModel.java | 168
app/src/main/res/layout/activity_login.xml | 4
app_base/src/main/res/font/cookie_regular.ttf | 0
app/src/main/java/com/application/zhangshi_app_android/bean/TourismExperienceBean.java | 84
app/src/main/res/layout/item_pet_image.xml | 5
app_base/src/main/res/layout/wait_dialog.xml | 4
app/src/main/java/com/application/zhangshi_app_android/bean/MemoBean.java | 71
app/src/main/java/com/application/zhangshi_app_android/ui/function/TourismExperienceDetailActivityViewModel.java | 190
app/src/main/res/values/themes.xml | 2
app/src/main/java/com/application/zhangshi_app_android/adapter/PetRvAdapter.java | 51
app/src/main/java/com/application/zhangshi_app_android/ui/function/TourismExperienceActivityViewModel.java | 309
app_base/build.gradle | 22
app/src/main/java/com/application/zhangshi_app_android/ui/function/CleanStorageDetailActivityViewModel.java | 181
app/src/main/res/values/colors.xml | 2
app/src/main/res/layout/activity_little_doctor_detail.xml | 49
app/src/main/java/com/application/zhangshi_app_android/ui/function/MarriageActivity.java | 67
app/src/main/res/drawable-xxhdpi/ic_image_select.png | 0
app/src/main/res/layout/activity_tourism_experience.xml | 284
app/src/main/java/com/application/zhangshi_app_android/widget/TreeView.java | 59
app/src/main/java/com/application/zhangshi_app_android/adapter/ElectronicFileAdapter.java | 33
app/src/main/java/com/application/zhangshi_app_android/bean/FamilyMemorabiliaBean.java | 14
app/src/main/java/com/application/zhangshi_app_android/ui/function/LittleDoctorActivity.java | 191
app/src/main/res/layout/item_contacts.xml | 17
app/src/main/java/com/application/zhangshi_app_android/bean/IncomeAndExpensesBean.java | 31
app/src/main/java/com/application/zhangshi_app_android/bean/HonorCollectionRequestBean.java | 74
app/src/main/java/com/application/zhangshi_app_android/ui/function/PersonalNotepadDetailActivityViewModel.java | 190
app/src/main/java/com/application/zhangshi_app_android/ui/function/FamilyMemorabiliaDetailActivityViewModel.java | 14
app_base/src/main/res/font/roboto_regular.ttf | 0
app/src/main/res/layout/item_family_assets.xml | 105
app/src/main/java/com/application/zhangshi_app_android/bean/GrowthExperienceInformationBean.java | 401
app/src/main/res/layout/item_family_memorabilia.xml | 97
app/src/main/java/com/application/zhangshi_app_android/ui/home/HomeFragment.java | 464
app/src/main/res/layout/activity_tourism.xml | 200
app/src/main/java/com/application/zhangshi_app_android/bean/LittleDoctorBean.java | 14
app/src/main/java/com/application/zhangshi_app_android/bean/AnnualHealthStatusBean.java | 30
app/src/main/java/com/application/zhangshi_app_android/ui/function/PrivacyDetailActivity.java | 36
app/src/main/java/com/application/zhangshi_app_android/bean/HealthCareNursingExaminationBean.java | 390
app/src/main/java/com/application/zhangshi_app_android/ui/function/PropertyDetailActivity.java | 37
app/src/main/res/drawable/shape_f3f3f3_8.xml | 5
app/src/main/java/com/application/zhangshi_app_android/bean/PropertyRequestBean.java | 67
app/src/main/java/com/application/zhangshi_app_android/ui/function/VideoFragment.java | 210
app/src/main/res/layout/activity_honor_collection_detail.xml | 29
app/src/main/res/layout/activity_little_doctor.xml | 253
screenMatch_example_dimens.xml | 2
app/src/main/res/drawable-xxhdpi/ic_move_to_top.png | 0
app/src/main/res/layout/pop_operate_delete.xml | 6
app/src/main/java/com/application/zhangshi_app_android/ui/function/CertificateOfHonorDetailActivity.java | 16
.idea/inspectionProfiles/Project_Default.xml | 2
app/src/main/res/drawable-xxhdpi/ic_indication_normal.png | 0
app/src/main/java/com/application/zhangshi_app_android/bean/PetBean.java | 249
app/src/main/java/com/application/zhangshi_app_android/ui/function/FamilyAssetsDetailActivityViewModel.java | 60
app/src/main/java/com/application/zhangshi_app_android/ui/function/HonorCollectionDetailActivity.java | 19
app/src/main/java/com/application/zhangshi_app_android/ui/personal_center/LoginBgChangeActivityViewModel.java | 103
app/src/main/res/layout/activity_family_assets_detail.xml | 53
app/src/main/java/com/application/zhangshi_app_android/ui/login/LoginActivity.java | 6
app/src/main/java/com/application/zhangshi_app_android/bean/AnnualHealthStatusRequestBean.java | 72
app/src/main/java/com/application/zhangshi_app_android/bean/CleanStorageBean.java | 123
app/src/main/java/com/application/zhangshi_app_android/bean/TourismBean.java | 103
app/src/main/java/com/application/zhangshi_app_android/ui/function/PersonalNotepadActivityViewModel.java | 323
app/src/main/res/layout/item_income_and_expenses.xml | 190
app/src/main/java/com/application/zhangshi_app_android/adapter/PersonalNotepadRvAdapter.java | 153
app/src/main/java/com/application/zhangshi_app_android/other/MyTitleBarStyle.java | 18
app/src/main/res/layout/activity_marriage.xml | 383
app/src/main/java/com/application/zhangshi_app_android/adapter/databinding/ImageViewAdapter.java | 78
app_base/src/main/res/values/arrts.xml | 5
app/src/main/java/com/application/zhangshi_app_android/ui/function/LittleDoctorDetailActivity.java | 148
app/src/main/res/layout/activity_privacy_detail.xml | 47
app/src/main/java/com/application/zhangshi_app_android/ui/function/FamilyAssetsDetailActivity.java | 39
app/build.gradle | 7
app/src/main/java/com/application/zhangshi_app_android/ui/function/CertificateOfHonorActivityViewModel.java | 198
app/src/main/res/drawable-xhdpi/bg_home_root_net_detail_first.png | 0
app/src/main/java/com/application/zhangshi_app_android/ui/function/LittleDoctorActivityViewModel.java | 244
app/src/main/java/com/application/zhangshi_app_android/ui/dialog/PetOwnerInfoDialog.java | 19
app/src/main/java/com/application/zhangshi_app_android/bean/PetOwnerBean.java | 119
app/src/main/res/drawable-xxhdpi/bg_home_root_net_detail_third.png | 0
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 | 86
app/src/main/java/com/application/zhangshi_app_android/data/DataRepository.java | 430
app/src/main/java/com/application/zhangshi_app_android/ui/function/PersonalNotepadActivity.java | 292
app/src/main/res/layout/activity_pet_memo_detail.xml | 8
app_base/src/main/java/com/android/app_base/utils/rxbus/MessageEvent.java | 39
app/src/main/java/com/application/zhangshi_app_android/ui/function/TourismActivityViewModel.java | 313
app/src/main/java/com/application/zhangshi_app_android/ui/function/FamilyMemorabiliaDetailActivity.java | 106
app/src/main/res/layout/item_consume_record.xml | 112
app/src/main/res/layout/activity_hundred_wish_detail.xml | 6
app_base/src/main/java/com/android/app_base/utils/Converter.java | 26
app/src/main/res/layout/activity_personal_notepad_detail.xml | 57
app/src/main/java/com/application/zhangshi_app_android/bean/HealthCareExistingProblemsBean.java | 534
app_base/src/main/res/drawable/input_delete_ic.xml | 15
app/src/main/java/com/application/zhangshi_app_android/adapter/FamilyMemorabiliaRvAdapter.java | 110
app/src/main/java/com/application/zhangshi_app_android/ui/function/FamilyMemorabiliaActivityViewModel.java | 173
app/src/main/java/com/application/zhangshi_app_android/bean/HonorCollectionBean.java | 22
app/src/main/java/com/application/zhangshi_app_android/bean/HomeRootBean.java | 362
app/src/main/java/com/application/zhangshi_app_android/ui/function/PetDetailActivityViewModel.java | 51
app/src/main/java/com/application/zhangshi_app_android/ui/function/IncomeAndExpensesDetailActivity.java | 190
app/src/main/java/com/application/zhangshi_app_android/ui/function/PrivacyActivityViewModel.java | 203
app/src/main/res/drawable-xhdpi/bg_home_root_net_detail.png | 0
app_base/src/main/java/com/android/app_base/utils/rxbus/RxBus.java | 125
app/src/main/res/layout/activity_privacy.xml | 377
app/src/main/res/layout/activity_honor_collection.xml | 289
app_base/src/main/java/com/android/app_base/base/BaseConfig.java | 6
app/src/main/res/layout/activity_test.xml | 110
app/src/main/java/com/application/zhangshi_app_android/adapter/PetMemoRvAdapter.java | 89
app/src/main/java/com/application/zhangshi_app_android/data/source/HttpDataSource.java | 316
app/src/main/res/layout/activity_contacts.xml | 319
app/src/main/java/com/application/zhangshi_app_android/ui/function/PetActivity.java | 250
app/src/main/java/com/application/zhangshi_app_android/ui/function/PropertyActivityViewModel.java | 202
app/src/main/java/com/application/zhangshi_app_android/bean/PetRequestBean.java | 50
app/src/main/res/layout/activity_certificate_of_honor.xml | 256
app/src/main/java/com/application/zhangshi_app_android/ui/function/GrowthExperienceActivity.java | 42
app/src/main/java/com/application/zhangshi_app_android/ui/function/HealthCareActivityViewModel.java | 237
app/src/main/res/layout/item_clean_storage.xml | 212
app/src/main/java/com/application/zhangshi_app_android/ui/main/MainViewModel.java | 68
app/src/main/java/com/application/zhangshi_app_android/ui/personal_center/PersonalCenterFragmentViewModel.java | 59
app/src/main/AndroidManifest.xml | 46
app/src/main/java/com/application/zhangshi_app_android/bean/HealthCareLifeHabitsBean.java | 415
app/src/main/java/com/application/zhangshi_app_android/ui/function/PrivacyActivity.java | 229
app/src/main/res/layout/item_pet.xml | 83
app/src/main/java/com/application/zhangshi_app_android/ui/personal_center/BasicInfoActivity.java | 41
app/src/main/java/com/application/zhangshi_app_android/ui/TestActivityViewModel.java | 33
app/src/main/java/com/application/zhangshi_app_android/ui/function/MarriageActivityViewModel.java | 61
app/src/main/java/com/application/zhangshi_app_android/bean/PropertyBean.java | 81
app/src/main/res/layout/dialog_version_update.xml | 110
app/src/main/java/com/application/zhangshi_app_android/ui/function/TourismExperienceActivity.java | 297
app_base/src/main/java/com/android/app_base/action/TitleBarAction.java | 2
app/src/main/java/com/application/zhangshi_app_android/bean/HomeDevicesRequestBean.java | 77
app/src/main/java/com/application/zhangshi_app_android/ui/personal_center/LoginBgChangeActivity.java | 160
app/src/main/java/com/application/zhangshi_app_android/bean/DailyConsumeRecordBean.java | 14
app/src/main/res/layout/item_contacts_detail.xml | 3
app/src/main/res/drawable/shape_gradient_update_progress.xml | 18
app/src/main/java/com/application/zhangshi_app_android/ui/function/HundredWishActivityViewModel.java | 209
app/src/main/res/layout/fragment_function.xml | 95
app/src/main/res/layout/dialog_contacts_info.xml | 11
app/src/main/java/com/application/zhangshi_app_android/ui/function/AnnualHealthStatusDetailActivity.java | 183
app/src/main/java/com/application/zhangshi_app_android/ui/function/PetActivityViewModel.java | 207
app/src/main/java/com/application/zhangshi_app_android/bean/IncomeAndExpensesRequestBean.java | 66
app/src/main/java/com/application/zhangshi_app_android/ui/function/CleanStorageDetailActivity.java | 144
app/src/main/java/com/application/zhangshi_app_android/ui/function/IncomeAndExpensesDetailActivityViewModel.java | 190
app/src/main/java/com/application/zhangshi_app_android/bean/HealthCareBaseInfoBean.java | 335
app/src/main/res/layout/activity_health_care.xml | 564
app/src/main/res/drawable-xhdpi/ic_operate_select_white.png | 0
app/src/main/java/com/application/zhangshi_app_android/bean/CleanStorageRequestBean.java | 107
app/src/main/res/layout/activity_property.xml | 283
app/src/main/java/com/application/zhangshi_app_android/bean/TourismRequestBean.java | 47
app/src/main/res/layout/activity_hundred_wish.xml | 285
app/src/main/res/layout/item_privacy.xml | 178
app/src/main/java/com/application/zhangshi_app_android/ui/function/TourismDetailActivity.java | 277
app/src/main/java/com/application/zhangshi_app_android/ui/main/MainActivity.java | 53
app/src/main/java/com/application/zhangshi_app_android/bean/HealthCareNotesContentBean.java | 159
app/src/main/java/com/application/zhangshi_app_android/adapter/HundredWishRvAdapter.java | 88
app/src/main/java/com/application/zhangshi_app_android/ui/DLBaseActivity.java | 57
app/src/main/java/com/application/zhangshi_app_android/ui/home/HomeFragmentViewModel.java | 86
app/src/main/java/com/application/zhangshi_app_android/adapter/GrowthExperienceAbroadConditionRvAdapter.java | 69
app/src/main/res/layout/activity_login_bg_change.xml | 62
app/src/main/java/com/application/zhangshi_app_android/bean/FamilyMemorabiliaRequestBean.java | 59
app/src/main/java/com/application/zhangshi_app_android/ui/function/LittleDoctorDetailActivityViewModel.java | 190
app/src/main/res/layout/activity_pet_memo.xml | 282
app_base/src/main/java/com/android/app_base/base/adapter/databinding/EditTextAdapter.java | 67
app/src/main/res/layout/item_growth_experience_abroad_condition.xml | 57
app/src/main/java/com/application/zhangshi_app_android/ui/function/ContactsActivityViewModel.java | 72
app/src/main/res/drawable-xhdpi/ic_move_to_top.png | 0
app/src/main/java/com/application/zhangshi_app_android/ui/function/PersonalNotepadDetailActivity.java | 183
app/src/main/java/com/application/zhangshi_app_android/ui/function/ImageCarouselFragmentViewModel.java | 24
app/src/main/res/layout/item_tourism.xml | 145
app/src/main/java/com/application/zhangshi_app_android/bean/CertificateOfHonorBean.java | 119
app/src/main/res/values/styles.xml | 2
app/src/main/java/com/application/zhangshi_app_android/bean/LittleDoctorRequestBean.java | 53
app/src/main/java/com/application/zhangshi_app_android/ui/function/PetMemoActivity.java | 298
app/src/main/java/com/application/zhangshi_app_android/ui/function/TourismDetailActivityViewModel.java | 143
app/src/main/res/layout/item_memo.xml | 119
app_base/src/main/java/com/android/app_base/http/RetrofitManager.java | 42
app/src/main/java/com/application/zhangshi_app_android/bean/UpdateVersionBean.java | 56
app_base/src/main/assets/roboto_regular.ttf | 0
app/src/main/java/com/application/zhangshi_app_android/ui/TestActivity.java | 64
app/src/main/java/com/application/zhangshi_app_android/ui/function/PetDetailActivity.java | 102
app/src/main/res/layout/item_home_devices.xml | 182
app/src/main/java/com/application/zhangshi_app_android/bean/HomeDevicesBean.java | 52
app/src/main/java/com/application/zhangshi_app_android/ui/function/HomeDevicesDetailActivityViewModel.java | 364
app/src/main/java/com/application/zhangshi_app_android/bean/HundredWishRequestBean.java | 71
app/src/main/java/com/application/zhangshi_app_android/ui/function/HundredWishDetailActivity.java | 16
app/src/main/res/layout/activity_clean_storage_detail.xml | 41
app/src/main/java/com/application/zhangshi_app_android/adapter/ImageRvAdapter.java | 43
app/src/main/res/drawable-xxhdpi/bg_home_root_net_detail_exp.png | 0
app/src/main/res/layout/dialog_pet_owner_info.xml | 333
app/src/main/res/layout/activity_family_memorabilia.xml | 257
app/src/main/java/com/application/zhangshi_app_android/adapter/PetImageRvAdapter.java | 3
app/src/main/res/drawable-xxhdpi/bg_home_root_net_detail_first.png | 0
app/src/main/res/layout/pop_operate_person_center.xml | 14
app/src/main/java/com/application/zhangshi_app_android/bean/FamilyAssetsBean.java | 32
app/src/main/java/com/application/zhangshi_app_android/ui/function/ImageCarouselFragment.java | 120
app/src/main/java/com/application/zhangshi_app_android/adapter/HomeDevicesRvAdapter.java | 157
app/src/main/java/com/application/zhangshi_app_android/bean/PageResponseBean.java | 49
app/src/main/res/layout/pop_basic_information.xml | 3077 ++--
app/src/main/res/layout/item_honor_collection.xml | 127
app/src/main/java/com/application/zhangshi_app_android/MyApplication.java | 8
app/src/main/res/layout/item_growth_experience_relationship.xml | 72
app/src/main/java/com/application/zhangshi_app_android/adapter/HonorCollectionRvAdapter.java | 89
app/src/main/java/com/application/zhangshi_app_android/ui/function/HomeDevicesActivity.java | 305
app/src/main/java/com/application/zhangshi_app_android/ui/function/PropertyDetailActivityViewModel.java | 57
app/src/main/java/com/application/zhangshi_app_android/bean/ConsumeRecordBean.java | 120
.idea/deploymentTargetDropDown.xml | 2
app/src/main/res/layout/fragment_home.xml | 1202 +
app/src/main/java/com/application/zhangshi_app_android/ui/function/HomeDevicesActivityViewModel.java | 290
app/src/main/res/layout/activity_home_devices_detail.xml | 97
app_base/src/main/java/com/android/app_base/utils/Utils.java | 228
app/src/main/res/layout/item_electronic_file.xml | 41
app/src/main/java/com/application/zhangshi_app_android/ui/function/FamilyMemorabiliaActivity.java | 262
app/src/main/java/com/application/zhangshi_app_android/adapter/CleanStorageRvAdapter.java | 157
app/src/main/res/layout/item_annual_health_status.xml | 196
app/src/main/res/layout/item_tourism_experience.xml | 187
app/src/main/java/com/application/zhangshi_app_android/ui/function/CleanStorageActivityViewModel.java | 255
app/src/main/java/com/application/zhangshi_app_android/ui/function/PetMemoActivityViewModel.java | 219
app/src/main/res/layout/activity_property_detail.xml | 63
app/src/main/res/layout/acitivity_tourism_experience_detail.xml | 72
app/src/main/java/com/application/zhangshi_app_android/ui/function/CleanStorageActivity.java | 206
app/src/main/res/layout/pop_operate_pet.xml | 22
app/src/main/res/drawable-xxhdpi/ic_operate_select_white.png | 0
app/src/main/java/com/application/zhangshi_app_android/data/source/http/ApiService.java | 386
app/src/main/res/layout/pop_annual_health_status.xml | 19
app/src/main/res/xml/file_paths.xml | 7
app/src/main/res/layout/item_property.xml | 174
app/src/main/java/com/application/zhangshi_app_android/bean/PersonalNotepadRequestBean.java | 72
app/src/main/res/layout/activity_personal_notepad.xml | 290
app/src/main/res/layout/pop_operate_home_root_net.xml | 85
app/src/main/java/com/application/zhangshi_app_android/bean/CertificateOfHonorRequestBean.java | 47
app/src/main/res/drawable/shape_fffad1e0_10_10_0_10.xml | 4
app/src/main/res/layout/activity_genealogy.xml | 367
app/src/main/java/com/application/zhangshi_app_android/ui/dialog/VersionUpdateDialog.java | 231
app/src/main/res/layout/dialog_add_daily_consume_record.xml | 6
app/src/main/res/layout/item_home_member_list.xml | 342
app/src/main/res/layout/activity_pet_detail.xml | 418
app/src/main/java/com/application/zhangshi_app_android/ui/function/HealthCareActivity.java | 194
app/src/main/res/layout/activity_tourism_detail.xml | 345
app/src/main/java/com/application/zhangshi_app_android/ui/function/PetMemoDetailActivity.java | 16
app/src/main/java/com/application/zhangshi_app_android/adapter/ContactsRvAdapter.java | 70
app/src/main/java/com/application/zhangshi_app_android/ui/home/GenealogyActivity.java | 192
app/src/main/java/com/application/zhangshi_app_android/adapter/TourismRvAdapter.java | 165
app/src/main/java/com/application/zhangshi_app_android/ui/function/HomeDevicesDetailActivity.java | 222
app/src/main/res/layout/activity_growth_experience.xml | 156
app_base/src/main/res/values/styles.xml | 1
app/src/main/java/com/application/zhangshi_app_android/adapter/PrivacyRvAdapter.java | 86
app/src/main/res/layout/activity_annual_health_status_detail.xml | 99
app/src/main/res/layout/item_pet_memo.xml | 74
app/src/main/java/com/application/zhangshi_app_android/ui/function/HonorCollectionActivity.java | 211
app/src/main/java/com/application/zhangshi_app_android/ui/function/IncomeAndExpensesActivity.java | 288
app/src/main/res/layout/activity_family_memorabilia_detail.xml | 127
app/src/main/java/com/application/zhangshi_app_android/ui/function/FamilyAssetsActivity.java | 218
app_base/src/main/java/com/android/app_base/base/viewmodel/BaseViewModel.java | 6
app/src/main/java/com/application/zhangshi_app_android/ui/function/AnnualHealthStatusActivity.java | 293
app_base/src/main/java/com/android/app_base/base/adapter/databinding/ImageViewAdapter.java | 27
app/src/main/java/com/application/zhangshi_app_android/bean/HomeMemberBean.java | 129
app/src/main/java/com/application/zhangshi_app_android/adapter/AnnualHealthStatusRvAdapter.java | 155
app/src/main/java/com/application/zhangshi_app_android/adapter/CertificateOfHonorRvAdapter.java | 92
app/src/main/java/com/application/zhangshi_app_android/bean/MarriageInfoBean.java | 309
app/src/main/java/com/application/zhangshi_app_android/bean/FamilyAssetsRequestBean.java | 76
app/src/main/res/layout/activity_pet.xml | 449
app/src/main/java/com/application/zhangshi_app_android/ui/function/PrivacyDetailActivityViewModel.java | 57
app/src/main/res/drawable-xhdpi/bg_home_root_net_detail_third.png | 0
app_base/src/main/java/com/android/app_base/utils/RxUtils.java | 17
app/src/main/res/drawable-xhdpi/bg_home_root_net_detail_second.png | 0
app_base/src/main/java/com/android/app_base/base/adapter/databinding/ViewAdapter.java | 39
app/src/main/java/com/application/zhangshi_app_android/data/source/http/HttpDataSourceImpl.java | 488
app/src/main/java/com/application/zhangshi_app_android/bean/ContactsRequestBean.java | 102
app/src/main/java/com/application/zhangshi_app_android/bean/TourismExperienceRequestBean.java | 83
app/src/main/java/com/application/zhangshi_app_android/adapter/GrowthExperienceRelationshipRvAdapter.java | 68
app/src/main/res/layout/item_hundred_wish.xml | 106
app/src/main/res/layout/item_growth_experience_primary.xml | 110
app_base/src/main/java/com/android/app_base/base/view/BaseFragment.java | 5
app/src/main/java/com/application/zhangshi_app_android/adapter/TourismExperienceRvAdapter.java | 157
app/src/main/res/layout/fragment_personal_center.xml | 18
app/src/main/java/com/application/zhangshi_app_android/bean/PrivacyBean.java | 114
app/src/main/java/com/application/zhangshi_app_android/bean/PageRequestBean.java | 40
app/src/main/res/layout/activity_certificate_of_honor_detail.xml | 26
app/src/main/res/layout/item_old_spouse.xml | 162
app/src/main/java/com/application/zhangshi_app_android/ui/function/VideoFragmentViewModel.java | 24
app/src/main/java/com/application/zhangshi_app_android/adapter/ContactsDetailAdapter.java | 2
app/src/main/res/layout/fragment_video.xml | 47
app/src/main/java/com/application/zhangshi_app_android/bean/HomeMemberRequestBean.java | 60
app/src/main/java/com/application/zhangshi_app_android/bean/PersonalNotepadBean.java | 30
app/src/main/java/com/application/zhangshi_app_android/ui/DLBaseFragment.java | 5
app/src/main/java/com/application/zhangshi_app_android/ui/home/GenealogyActivityViewModel.java | 172
app/src/main/java/com/application/zhangshi_app_android/bean/PrivacyRequestBean.java | 91
app/src/main/res/layout/pop_operate.xml | 1
app/src/main/java/com/application/zhangshi_app_android/bean/PetMemoRequestBean.java | 84
app/src/main/java/com/application/zhangshi_app_android/ui/login/LoginActivityViewModel.java | 11
app/src/main/java/com/application/zhangshi_app_android/ui/function/HundredWishActivity.java | 202
app/src/main/java/com/application/zhangshi_app_android/bean/PetMemoBean.java | 64
app_base/src/main/res/values/dimens.xml | 2
app/src/main/res/layout/fragment_image_carousel.xml | 42
app/src/main/java/com/application/zhangshi_app_android/ui/function/ContactsActivity.java | 118
app/src/main/res/drawable-xhdpi/ic_indication_normal.png | 0
app/src/main/res/layout/item_little_doctor.xml | 196
app/src/main/java/com/application/zhangshi_app_android/adapter/HomeMemberAdapter.java | 71
app/src/main/java/com/application/zhangshi_app_android/bean/BannerBean.java | 49
app/src/main/java/com/application/zhangshi_app_android/adapter/LittleDoctorRvAdapter.java | 161
app/src/main/java/com/application/zhangshi_app_android/bean/HundredWishBean.java | 57
app/src/main/java/com/application/zhangshi_app_android/adapter/GrowthExperienceHolderConditionRvAdapter.java | 73
app/src/main/res/layout/activity_home_devices.xml | 329
app/src/main/res/layout/activity_income_and_expenses_detail.xml | 64
app/src/main/res/layout/pop_switch_video_or_image.xml | 42
/dev/null | 25
app/src/main/java/com/application/zhangshi_app_android/ui/function/FunctionFragment.java | 100
app/src/main/java/com/application/zhangshi_app_android/ui/function/FunctionFragmentViewModel.java | 63
app/src/main/java/com/application/zhangshi_app_android/ui/function/IncomeAndExpensesActivityViewModel.java | 309
app_base/src/main/java/com/android/app_base/base/view/BaseActivity.java | 4
app/src/main/res/layout/item_certificate_of_honor.xml | 118
app/src/main/res/layout/activity_income_and_expenses.xml | 287
app/src/main/res/drawable-xhdpi/ic_image_select.png | 0
app/src/main/res/drawable-xxhdpi/bg_home_root_net_detail_second.png | 0
app/src/main/res/layout/item_image.xml | 18
app/src/main/java/com/application/zhangshi_app_android/adapter/IncomeAndExpensesRvAdapter.java | 155
343 files changed, 37,497 insertions(+), 7,495 deletions(-)
diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml
index aec7213..0cc1b9e 100644
--- a/.idea/deploymentTargetDropDown.xml
+++ b/.idea/deploymentTargetDropDown.xml
@@ -12,6 +12,6 @@
</deviceKey>
</Target>
</targetSelectedWithDropDown>
- <timeTargetWasSelectedWithDropDown value="2023-04-24T13:39:33.778993800Z" />
+ <timeTargetWasSelectedWithDropDown value="2023-06-02T09:12:50.343936200Z" />
</component>
</project>
\ No newline at end of file
diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml
index 1d88dea..fcc3490 100644
--- a/.idea/inspectionProfiles/Project_Default.xml
+++ b/.idea/inspectionProfiles/Project_Default.xml
@@ -2,7 +2,7 @@
<profile version="1.0">
<option name="myName" value="Project Default" />
<inspection_tool class="AutoCloseableResource" enabled="true" level="WARNING" enabled_by_default="true">
- <option name="METHOD_MATCHER_CONFIG" value="java.util.Formatter,format,java.io.Writer,append,com.google.common.base.Preconditions,checkNotNull,org.hibernate.Session,close,java.io.PrintWriter,printf,java.io.PrintStream,printf,okhttp3.Interceptor.Chain,proceed" />
+ <option name="METHOD_MATCHER_CONFIG" value="java.util.Formatter,format,java.io.Writer,append,com.google.common.base.Preconditions,checkNotNull,org.hibernate.Session,close,java.io.PrintWriter,printf,java.io.PrintStream,printf,okhttp3.Interceptor.Chain,proceed,android.content.Context,obtainStyledAttributes" />
</inspection_tool>
<inspection_tool class="JavadocDeclaration" enabled="true" level="WARNING" enabled_by_default="true">
<option name="ADDITIONAL_TAGS" value="date,desc" />
diff --git a/app/build.gradle b/app/build.gradle
index f8cf1da..ac2855e 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -9,8 +9,7 @@
minSdk 24
targetSdk 33
versionCode 1
- versionName "1.0"
-
+ versionName getVersionName()
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
signingConfigs {
@@ -64,4 +63,8 @@
implementation project(path: ':app_base')
+}
+
+def getVersionName() {
+ return new Date().format("yyyyMMddHHmmss", TimeZone.getTimeZone("UTC"))
}
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index ce05cea..615b20e 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools">
+ 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" />
@@ -17,13 +18,13 @@
<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.ACCESS_FINE_LOCATION" />
- <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
+ <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" /> <!-- 瀹夎鏉冮檺 -->
+<!-- <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /><!– 瀹氫綅鏉冮檺锛堢敤浜� WebView 瀹氫綅锛� –>-->
+<!-- <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />-->
<queries package="${applicationId}">
<intent>
@@ -48,6 +49,7 @@
android:theme="@style/Theme.app"
android:usesCleartextTraffic="true"
tools:targetApi="31">
+
<!-- 娌夋蹈寮忕姸鎬佹爮鍏ㄩ潰灞� -->
<meta-data
android:name="android.max_aspect"
@@ -65,9 +67,22 @@
android:name="design_height_in_dp"
android:value="640" />
+ <!-- 瀹夎APP -->
+ <provider
+ android:name="androidx.core.content.FileProvider"
+ android:authorities="${applicationId}.fileprovider"
+ android:exported="false"
+ android:grantUriPermissions="true">
+ <meta-data
+ android:name="android.support.FILE_PROVIDER_PATHS"
+ android:resource="@xml/file_paths" />
+ </provider>
+
<activity
android:name=".ui.main.MainActivity"
- android:exported="true" />
+ android:exported="true"
+ android:configChanges="keyboard|keyboardHidden|orientation|screenSize|screenLayout|smallestScreenSize|uiMode"
+ />
<activity
android:name=".ui.login.LoginActivity"
android:exported="true"
@@ -82,7 +97,7 @@
android:name=".ui.function.FamilyMemorabiliaActivity"
android:exported="false" />
<activity
- android:name=".ui.function.CreateFamilyProjectActivity"
+ android:name=".ui.function.FamilyMemorabiliaDetailActivity"
android:exported="false" />
<activity
android:name=".ui.function.FamilyAssetsActivity"
@@ -145,7 +160,7 @@
android:name=".ui.function.MarriageActivity"
android:exported="false" />
<activity
- android:name=".ui.function.PetActivity"
+ android:name=".ui.function.PetDetailActivity"
android:exported="false" />
<activity
android:name=".ui.function.PetMemoActivity"
@@ -192,6 +207,15 @@
<activity
android:name=".ui.function.PersonalNotepadDetailActivity"
android:exported="false" />
+ <activity
+ android:name=".ui.function.PetActivity"
+ android:exported="false" />
+ <activity android:name=".ui.home.GenealogyActivity"
+ android:exported="false"/>
+ <activity android:name=".ui.TestActivity"
+ />
+ <activity android:name=".ui.personal_center.LoginBgChangeActivity"
+ android:exported="false"/>
</application>
</manifest>
\ No newline at end of file
diff --git a/app/src/main/java/com/application/zhangshi_app_android/MyApplication.java b/app/src/main/java/com/application/zhangshi_app_android/MyApplication.java
index f19306e..056e6d3 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/MyApplication.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/MyApplication.java
@@ -2,6 +2,9 @@
import com.android.app_base.base.BaseApplication;
import com.application.zhangshi_app_android.other.MyTitleBarStyle;
+import com.github.gzuliyujiang.dialog.DialogColor;
+import com.github.gzuliyujiang.dialog.DialogConfig;
+import com.github.gzuliyujiang.dialog.DialogStyle;
import com.hjq.bar.TitleBar;
//import me.jessyan.autosize.AutoSizeConfig;
@@ -17,5 +20,10 @@
super.onCreate();
// 鍒濆鍖� TitleBar 榛樿鏍峰紡
TitleBar.setDefaultStyle(new MyTitleBarStyle());
+
+ DialogConfig.setDialogStyle(DialogStyle.Three);
+ DialogConfig.setDialogColor(new DialogColor()
+ .cancelTextColor(0xFF999999)
+ .okTextColor(0xFF2B83DD));
}
}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/adapter/AnnualHealthStatusRvAdapter.java b/app/src/main/java/com/application/zhangshi_app_android/adapter/AnnualHealthStatusRvAdapter.java
index 9c2a138..5b3d298 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/adapter/AnnualHealthStatusRvAdapter.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/adapter/AnnualHealthStatusRvAdapter.java
@@ -5,30 +5,46 @@
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.Transformation;
+import android.widget.CompoundButton;
import android.widget.FrameLayout;
import androidx.recyclerview.widget.GridLayoutManager;
+import com.android.app_base.base.BaseConfig;
import com.android.app_base.base.adapter.BaseRVAdapter;
+import com.android.app_base.base.dialog.BaseDialog;
+import com.android.app_base.base.dialog.UIDialog;
import com.android.app_base.manager.AppManager;
+import com.android.app_base.utils.Utils;
import com.application.zhangshi_app_android.R;
import com.application.zhangshi_app_android.bean.AnnualHealthStatusBean;
+import com.application.zhangshi_app_android.bean.PersonalNotepadBean;
import com.application.zhangshi_app_android.databinding.ItemAnnualHealthStatusBinding;
+import com.application.zhangshi_app_android.ui.function.AnnualHealthStatusActivityViewModel;
import com.application.zhangshi_app_android.ui.function.AnnualHealthStatusDetailActivity;
import com.application.zhangshi_app_android.ui.function.CleanStorageDetailActivity;
+import com.application.zhangshi_app_android.ui.function.PersonalNotepadActivityViewModel;
+import com.application.zhangshi_app_android.ui.function.PersonalNotepadDetailActivity;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
/**
* @author Ljj
* @date 2023.04.28. 19:20
- * @desc
+ * @desc 骞村害鍋ュ悍鐘跺喌閫傞厤鍣�
*/
public class AnnualHealthStatusRvAdapter extends BaseRVAdapter<AnnualHealthStatusBean, ItemAnnualHealthStatusBinding, AnnualHealthStatusRvAdapter.ViewHolder> {
- public AnnualHealthStatusRvAdapter(Context context) {
+ private AnnualHealthStatusActivityViewModel viewModel;
+ private final Map<AnnualHealthStatusBean, Boolean> expendMap = new HashMap<>();
+ private boolean isCheckable;
+
+ public AnnualHealthStatusRvAdapter(Context context, AnnualHealthStatusActivityViewModel viewModel) {
super(context);
+ this.viewModel = viewModel;
}
@Override
@@ -49,83 +65,108 @@
}else {
holder.getBinding().cardView.setCardBackgroundColor(mContext.getColor(R.color.color_card_pink));
}
+ if (!expendMap.containsKey(getItem(position))){
+ expendMap.put(getItem(position),false);
+ }
+ if (Boolean.TRUE.equals(expendMap.get(getItem(position)))){
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_unfold);
+ holder.getBinding().cardView.post(() -> {
+ holder.getBinding().cardView.getLayoutParams().height = FrameLayout.LayoutParams.WRAP_CONTENT;
+ holder.getBinding().cardView.requestLayout();
+ });
+ }else{
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_fold);
+ holder.getBinding().cardView.post(() -> {
+ holder.getBinding().cardView.getLayoutParams().height = holder.getBinding().layoutTitle.getMeasuredHeight();
+ holder.getBinding().cardView.requestLayout();
+ });
+ }
+ if (isCheckable){
+ holder.getBinding().checkbox.setVisibility(View.VISIBLE);
+ holder.getBinding().checkbox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
+ @Override
+ public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
+ if (viewModel.getCheckListLiveData().getValue() == null){
+ viewModel.getCheckListLiveData().setValue(new ArrayList<>());
+ }
+ List<AnnualHealthStatusBean> list = new ArrayList<>(viewModel.getCheckListLiveData().getValue());
+ if (isChecked){
+ if (!list.contains(mDataList.get(position))){
+ list.add(mDataList.get(position));
+ }
+ }else{
+ list.remove(mDataList.get(position));
+ }
+ viewModel.getCheckListLiveData().setValue(list);
+ }
+ });
+ holder.getBinding().checkbox.setChecked(viewModel.getCheckListLiveData().getValue().contains(mDataList.get(position)));
+ }else{
+ holder.getBinding().checkbox.setVisibility(View.GONE);
+ }
holder.getBinding().layoutTitle.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
- if (holder.isExpended){
+ if (Boolean.TRUE.equals(expendMap.get(getItem(position)))){
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;
+ Utils.pullCollapse(holder.getBinding().cardView,initialHeight,collapsedHeight);
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_fold);
+ expendMap.put(getItem(position),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;
+ Utils.dropExpand(holder.getBinding().cardView,initialHeight,targetHeight);
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_unfold);
+ expendMap.put(getItem(position),true);
}
}
});
holder.getBinding().layoutContent.setOnClickListener(v -> {
AppManager.getAppManager().startActivity(
new Intent(getRecyclerView().getContext(), AnnualHealthStatusDetailActivity.class)
+ .putExtra(BaseConfig.EXTRA_TYPE,0)
.putExtra("bean",mDataList.get(position)));
});
- ImageRvAdapter adapter = new ImageRvAdapter(mContext);
+ holder.getBinding().layoutModify.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ AppManager.getAppManager().startActivity(
+ new Intent(getRecyclerView().getContext(), AnnualHealthStatusDetailActivity.class)
+ .putExtra(BaseConfig.EXTRA_TYPE,2)
+ .putExtra("bean",mDataList.get(position)));
+ }
+ });
+ holder.getBinding().layoutDelete.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ new UIDialog.Builder(mContext)
+ .setTitle("鎮ㄧ‘瀹氳鍒犻櫎璇ラ」鐩悧")
+ .setContent("椤圭洰鍒犻櫎鍚庡皢鏃犳硶鎭㈠")
+ .setConfirm("纭畾")
+ .setCancel("鍙栨秷")
+ .setListener(new UIDialog.OnListener() {
+ @Override
+ public void onConfirm(BaseDialog dialog) {
+ viewModel.deleteItem(mDataList.get(position));
+ }
+ })
+ .show();
+ }
+ });
+ ElectronicFileAdapter adapter = new ElectronicFileAdapter(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);
+ adapter.setData(Utils.splitString2List(mDataList.get(position).getUrl(),","));
+
}
-
+ public void setCheckable(boolean b) {
+ isCheckable = b;
+ notifyDataSetChanged();
+ }
public static class ViewHolder extends BaseRVAdapter.BaseViewHolder<ItemAnnualHealthStatusBinding> {
- private boolean isExpended;
-
public ViewHolder(ItemAnnualHealthStatusBinding binding) {
super(binding);
}
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
index ab99150..bcf2d84 100644
--- 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
@@ -11,14 +11,19 @@
import com.android.app_base.base.adapter.BaseRVAdapter;
import com.android.app_base.manager.AppManager;
+import com.android.app_base.utils.Utils;
import com.application.zhangshi_app_android.R;
import com.application.zhangshi_app_android.bean.CertificateOfHonorBean;
+import com.application.zhangshi_app_android.bean.TourismBean;
import com.application.zhangshi_app_android.databinding.ItemCertificateOfHonorBinding;
import com.application.zhangshi_app_android.ui.function.CertificateOfHonorDetailActivity;
+import com.application.zhangshi_app_android.ui.function.FamilyAssetsDetailActivity;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
/**
* @author Ljj
@@ -26,6 +31,8 @@
* @desc 鑽h獕璇佷功 Adapter
*/
public class CertificateOfHonorRvAdapter extends BaseRVAdapter<CertificateOfHonorBean, ItemCertificateOfHonorBinding, CertificateOfHonorRvAdapter.ViewHolder> {
+ private final Map<CertificateOfHonorBean, Boolean> expendMap = new HashMap<>();
+
public CertificateOfHonorRvAdapter(Context context) {
super(context);
}
@@ -48,83 +55,56 @@
}else {
holder.getBinding().cardView.setCardBackgroundColor(mContext.getColor(R.color.color_card_pink));
}
+ if (!expendMap.containsKey(getItem(position))){
+ expendMap.put(getItem(position),false);
+ }
+ if (Boolean.TRUE.equals(expendMap.get(getItem(position)))){
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_unfold);
+ holder.getBinding().cardView.post(() -> {
+ holder.getBinding().cardView.getLayoutParams().height = FrameLayout.LayoutParams.WRAP_CONTENT;
+ holder.getBinding().cardView.requestLayout();
+ });
+
+ }else{
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_fold);
+ holder.getBinding().cardView.post(() -> {
+ holder.getBinding().cardView.getLayoutParams().height = holder.getBinding().layoutTitle.getMeasuredHeight();
+ holder.getBinding().cardView.requestLayout();
+ });
+ }
holder.getBinding().layoutTitle.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
- if (holder.isExpended){
+ if (Boolean.TRUE.equals(expendMap.get(getItem(position)))){
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;
+ Utils.pullCollapse(holder.getBinding().cardView,initialHeight,collapsedHeight);
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_fold);
+ expendMap.put(getItem(position),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;
+ Utils.dropExpand(holder.getBinding().cardView,initialHeight,targetHeight);
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_unfold);
+ expendMap.put(getItem(position),true);
}
}
});
holder.getBinding().layoutContent.setOnClickListener(v -> {
AppManager.getAppManager().startActivity(
- new Intent(getRecyclerView().getContext(), CertificateOfHonorDetailActivity.class)
+ new Intent(getRecyclerView().getContext(), FamilyAssetsDetailActivity.class)
.putExtra("bean",mDataList.get(position)));
});
-
- ImageRvAdapter adapter = new ImageRvAdapter(mContext);
+ ElectronicFileAdapter adapter = new ElectronicFileAdapter(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);
+ adapter.setData(Utils.splitString2List(mDataList.get(position).getUrl(),","));
+
+
}
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
index 574b8e6..01cde63 100644
--- 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
@@ -3,25 +3,29 @@
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.CompoundButton;
import android.widget.FrameLayout;
import androidx.recyclerview.widget.GridLayoutManager;
+import com.android.app_base.base.BaseConfig;
import com.android.app_base.base.adapter.BaseRVAdapter;
+import com.android.app_base.base.dialog.BaseDialog;
+import com.android.app_base.base.dialog.UIDialog;
import com.android.app_base.manager.AppManager;
+import com.android.app_base.utils.Utils;
import com.application.zhangshi_app_android.R;
import com.application.zhangshi_app_android.bean.CleanStorageBean;
+import com.application.zhangshi_app_android.bean.TourismBean;
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.CleanStorageActivityViewModel;
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.HashMap;
import java.util.List;
+import java.util.Map;
/**
* @author Ljj
@@ -29,8 +33,12 @@
* @desc
*/
public class CleanStorageRvAdapter extends BaseRVAdapter<CleanStorageBean, ItemCleanStorageBinding, CleanStorageRvAdapter.ViewHolder>{
- public CleanStorageRvAdapter(Context context) {
+ private CleanStorageActivityViewModel viewModel;
+ private final Map<CleanStorageBean, Boolean> expendMap = new HashMap<>();
+ private boolean isCheckable;
+ public CleanStorageRvAdapter(Context context, CleanStorageActivityViewModel viewModel) {
super(context);
+ this.viewModel = viewModel;
}
@Override
@@ -51,83 +59,112 @@
}else {
holder.getBinding().cardView.setCardBackgroundColor(mContext.getColor(R.color.color_card_pink));
}
+ if (!expendMap.containsKey(getItem(position))){
+ expendMap.put(getItem(position),false);
+ }
+ if (Boolean.TRUE.equals(expendMap.get(getItem(position)))){
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_unfold);
+ holder.getBinding().cardView.post(() -> {
+ holder.getBinding().cardView.getLayoutParams().height = FrameLayout.LayoutParams.WRAP_CONTENT;
+ holder.getBinding().cardView.requestLayout();
+ });
+
+ }else{
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_fold);
+ holder.getBinding().cardView.post(() -> {
+ holder.getBinding().cardView.getLayoutParams().height = holder.getBinding().layoutTitle.getMeasuredHeight();
+ holder.getBinding().cardView.requestLayout();
+ });
+ }
+ if (isCheckable){
+ holder.getBinding().checkbox.setVisibility(View.VISIBLE);
+ holder.getBinding().checkbox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
+ @Override
+ public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
+ if (viewModel.getCheckListLiveData().getValue() == null){
+ viewModel.getCheckListLiveData().setValue(new ArrayList<>());
+ }
+ List<CleanStorageBean> list = new ArrayList<>(viewModel.getCheckListLiveData().getValue());
+ if (isChecked){
+ if (!list.contains(mDataList.get(position))){
+ list.add(mDataList.get(position));
+ }
+ }else{
+ list.remove(mDataList.get(position));
+ }
+ viewModel.getCheckListLiveData().setValue(list);
+ }
+ });
+ holder.getBinding().checkbox.setChecked(viewModel.getCheckListLiveData().getValue().contains(mDataList.get(position)));
+ }else{
+ holder.getBinding().checkbox.setVisibility(View.GONE);
+ }
holder.getBinding().layoutTitle.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
- if (holder.isExpended){
+ if (Boolean.TRUE.equals(expendMap.get(getItem(position)))){
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;
+ Utils.pullCollapse(holder.getBinding().cardView,initialHeight,collapsedHeight);
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_fold);
+ expendMap.put(getItem(position),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;
+ Utils.dropExpand(holder.getBinding().cardView,initialHeight,targetHeight);
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_unfold);
+ expendMap.put(getItem(position),true);
}
}
});
holder.getBinding().layoutContent.setOnClickListener(v -> {
AppManager.getAppManager().startActivity(
new Intent(getRecyclerView().getContext(), CleanStorageDetailActivity.class)
+ .putExtra(BaseConfig.EXTRA_TYPE,0)
.putExtra("bean",mDataList.get(position)));
});
- ImageRvAdapter adapter = new ImageRvAdapter(mContext);
+ holder.getBinding().layoutModify.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ AppManager.getAppManager().startActivity(
+ new Intent(getRecyclerView().getContext(), CleanStorageDetailActivity.class)
+ .putExtra(BaseConfig.EXTRA_TYPE,2)
+ .putExtra("bean",mDataList.get(position)));
+ }
+ });
+ holder.getBinding().layoutDelete.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ new UIDialog.Builder(mContext)
+ .setTitle("鎮ㄧ‘瀹氳鍒犻櫎璇ラ」鐩悧")
+ .setContent("椤圭洰鍒犻櫎鍚庡皢鏃犳硶鎭㈠")
+ .setConfirm("纭畾")
+ .setCancel("鍙栨秷")
+ .setListener(new UIDialog.OnListener() {
+ @Override
+ public void onConfirm(BaseDialog dialog) {
+ viewModel.deleteItem(mDataList.get(position));
+ }
+ })
+ .show();
+ }
+ });
+
+ ElectronicFileAdapter adapter = new ElectronicFileAdapter(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);
+ adapter.setData(Utils.splitString2List(mDataList.get(position).getUrl(),","));
+
+ }
+ public void setCheckable(boolean b) {
+ isCheckable = b;
+ notifyItemRangeChanged(0,getItemCount());
+
}
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/ConsumeRecordRvAdapter.java b/app/src/main/java/com/application/zhangshi_app_android/adapter/ConsumeRecordRvAdapter.java
index 4f2aada..23edfa0 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/adapter/ConsumeRecordRvAdapter.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/adapter/ConsumeRecordRvAdapter.java
@@ -1,11 +1,24 @@
package com.application.zhangshi_app_android.adapter;
import android.content.Context;
+import android.text.Editable;
+import android.text.TextWatcher;
+import android.view.View;
+
+import androidx.lifecycle.LifecycleOwner;
+import androidx.lifecycle.Observer;
import com.android.app_base.base.adapter.BaseRVAdapter;
+import com.android.app_base.base.dialog.BaseDialog;
+import com.android.app_base.base.dialog.UIDialog;
+import com.android.app_base.utils.rxbus.MessageEvent;
+import com.android.app_base.utils.rxbus.RxBus;
import com.application.zhangshi_app_android.R;
import com.application.zhangshi_app_android.bean.ConsumeRecordBean;
import com.application.zhangshi_app_android.databinding.ItemConsumeRecordBinding;
+import com.application.zhangshi_app_android.ui.function.TourismDetailActivityViewModel;
+
+import java.math.BigDecimal;
/**
* @author Ljj
@@ -13,8 +26,11 @@
* @desc 娑堣垂璁板綍閫傞厤鍣�
*/
public class ConsumeRecordRvAdapter extends BaseRVAdapter<ConsumeRecordBean, ItemConsumeRecordBinding,BaseRVAdapter.BaseViewHolder<ItemConsumeRecordBinding>> {
- public ConsumeRecordRvAdapter(Context context) {
+ private TourismDetailActivityViewModel viewModel;
+
+ public ConsumeRecordRvAdapter(Context context,TourismDetailActivityViewModel viewModel) {
super(context);
+ this.viewModel = viewModel;
}
@Override
@@ -24,7 +40,51 @@
@Override
protected void onBind(BaseViewHolder<ItemConsumeRecordBinding> holder, int position) {
+ ConsumeRecordBean item = getItem(position);
+ holder.getBinding().setLifecycleOwner((LifecycleOwner) mContext);
holder.getBinding().setBean(getItem(position));
+ holder.getBinding().setViewModel(viewModel);
+ holder.getBinding().ivDelete.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ new UIDialog.Builder(mContext)
+ .setTitle("鎮ㄧ‘瀹氳鍒犻櫎璇ユ潯娑堣垂璁板綍鍚�")
+ .setContent("鍒犻櫎鍚庡皢鏃犳硶鎭㈠")
+ .setConfirm("纭畾")
+ .setCancel("鍙栨秷")
+ .setListener(new UIDialog.OnListener() {
+ @Override
+ public void onConfirm(BaseDialog dialog) {
+ removeItem(position);
+ RxBus.getInstance().post(new MessageEvent(MessageEvent.EVENT_TOURISM_CONSUME_CHANGE));
+ }
+ })
+ .show();
+ }
+ });
+ TextWatcher textWatcher = new TextWatcher() {
+ @Override
+ public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+
+ }
+
+ @Override
+ public void onTextChanged(CharSequence s, int start, int before, int count) {
+ BigDecimal decimal = BigDecimal.valueOf(item.getEat()+item.getStay()+item.getShopping()+item.getTraffic()+item.getEntrance());
+ holder.getBinding().etTotalCost.setText(decimal.stripTrailingZeros().toPlainString());
+ RxBus.getInstance().post(new MessageEvent(MessageEvent.EVENT_TOURISM_CONSUME_CHANGE));
+ }
+
+ @Override
+ public void afterTextChanged(Editable s) {
+
+ }
+ };
+ holder.getBinding().etEat.addTextChangedListener(textWatcher);
+ holder.getBinding().etStay.addTextChangedListener(textWatcher);
+ holder.getBinding().etShopping.addTextChangedListener(textWatcher);
+ holder.getBinding().etTraffic.addTextChangedListener(textWatcher);
+ holder.getBinding().etEntrance.addTextChangedListener(textWatcher);
}
@Override
diff --git a/app/src/main/java/com/application/zhangshi_app_android/adapter/ContactsDetailAdapter.java b/app/src/main/java/com/application/zhangshi_app_android/adapter/ContactsDetailAdapter.java
index 2020ff7..a4f19f1 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/adapter/ContactsDetailAdapter.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/adapter/ContactsDetailAdapter.java
@@ -12,7 +12,7 @@
/**
* @author Ljj
* @date 2023.05.12. 22:50
- * @desc
+ * @desc 閫氳褰曡鎯� Adapter
*/
public class ContactsDetailAdapter extends BaseRVAdapter<ContactsDetailBean,ItemContactsDetailBinding,BaseRVAdapter.BaseViewHolder<ItemContactsDetailBinding>> {
public ContactsDetailAdapter(Context context) {
diff --git a/app/src/main/java/com/application/zhangshi_app_android/adapter/ContactsRvAdapter.java b/app/src/main/java/com/application/zhangshi_app_android/adapter/ContactsRvAdapter.java
index a34d30f..48c64a5 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/adapter/ContactsRvAdapter.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/adapter/ContactsRvAdapter.java
@@ -7,10 +7,15 @@
import android.widget.FrameLayout;
import com.android.app_base.base.adapter.BaseRVAdapter;
+import com.android.app_base.utils.Utils;
import com.application.zhangshi_app_android.R;
import com.application.zhangshi_app_android.bean.ContactsBean;
import com.application.zhangshi_app_android.bean.ContactsDetailBean;
+import com.application.zhangshi_app_android.bean.TourismBean;
import com.application.zhangshi_app_android.databinding.ItemContactsBinding;
+
+import java.util.HashMap;
+import java.util.Map;
/**
* @author Gss
@@ -18,7 +23,7 @@
* @desc 閫氳褰� recyclerView 鐨� adapter
*/
public class ContactsRvAdapter extends BaseRVAdapter<ContactsBean, ItemContactsBinding, ContactsRvAdapter.ViewHolder> {
-
+ private final Map<ContactsBean, Boolean> expendMap = new HashMap<>();
public ContactsRvAdapter(Context context) {
super(context);
@@ -45,53 +50,36 @@
}else {
holder.getBinding().cardView.setCardBackgroundColor(mContext.getColor(R.color.color_card_pink));
}
+ if (!expendMap.containsKey(getItem(position))){
+ expendMap.put(getItem(position),false);
+ }
+ if (Boolean.TRUE.equals(expendMap.get(getItem(position)))){
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_unfold);
+ holder.getBinding().cardView.post(() -> {
+ holder.getBinding().cardView.getLayoutParams().height = FrameLayout.LayoutParams.WRAP_CONTENT;
+ holder.getBinding().cardView.requestLayout();
+ });
+ }else{
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_fold);
+ holder.getBinding().cardView.post(() -> {
+ holder.getBinding().cardView.getLayoutParams().height = holder.getBinding().layoutTitle.getMeasuredHeight();
+ holder.getBinding().cardView.requestLayout();
+ });
+ }
holder.getBinding().layoutTitle.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
- if (holder.isExpended){
+ if (Boolean.TRUE.equals(expendMap.get(getItem(position)))){
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;
+ Utils.pullCollapse(holder.getBinding().cardView,initialHeight,collapsedHeight);
+ expendMap.put(getItem(position),false);
}else{
final int initialHeight = holder.getBinding().cardView.getMeasuredHeight();
- holder.getBinding().cardView.measure(View.MeasureSpec.UNSPECIFIED,View.MeasureSpec.UNSPECIFIED);
+ 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;
+ Utils.dropExpand(holder.getBinding().cardView,initialHeight,targetHeight);
+ expendMap.put(getItem(position),true);
}
}
});
@@ -100,8 +88,6 @@
public static class ViewHolder extends BaseViewHolder<ItemContactsBinding>{
- private boolean isExpended;
-
public ViewHolder(ItemContactsBinding binding) {
super(binding);
}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/adapter/DailyConsumeRecordRvAdapter.java b/app/src/main/java/com/application/zhangshi_app_android/adapter/DailyConsumeRecordRvAdapter.java
index d8bd347..bb848fc 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/adapter/DailyConsumeRecordRvAdapter.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/adapter/DailyConsumeRecordRvAdapter.java
@@ -1,23 +1,36 @@
package com.application.zhangshi_app_android.adapter;
-import android.animation.Animator;
-import android.animation.AnimatorListenerAdapter;
-import android.animation.ValueAnimator;
+import android.app.Activity;
import android.content.Context;
-import android.view.View;
-import android.view.ViewGroup;
-import android.view.animation.Animation;
-import android.view.animation.Transformation;
+import android.graphics.Color;
+import android.widget.FrameLayout;
-import androidx.annotation.NonNull;
-import androidx.databinding.ViewDataBinding;
-import androidx.recyclerview.widget.RecyclerView;
+import androidx.lifecycle.LifecycleOwner;
import com.android.app_base.base.adapter.BaseRVAdapter;
+import com.android.app_base.base.dialog.BaseDialog;
+import com.android.app_base.base.dialog.UIDialog;
+import com.android.app_base.utils.ScreenSizeUtils;
+import com.android.app_base.utils.Utils;
+import com.android.app_base.utils.rxbus.MessageEvent;
+import com.android.app_base.utils.rxbus.RxBus;
import com.application.zhangshi_app_android.R;
+import com.application.zhangshi_app_android.bean.ConsumeRecordBean;
import com.application.zhangshi_app_android.bean.DailyConsumeRecordBean;
import com.application.zhangshi_app_android.databinding.ItemDailyConsumeRecordBinding;
-import com.application.zhangshi_app_android.databinding.ItemPropertyBinding;
+import com.application.zhangshi_app_android.ui.function.TourismDetailActivityViewModel;
+import com.github.gzuliyujiang.wheelpicker.DatePicker;
+import com.github.gzuliyujiang.wheelpicker.contract.OnDatePickedListener;
+import com.github.gzuliyujiang.wheelpicker.entity.DateEntity;
+import com.github.gzuliyujiang.wheelpicker.impl.UnitDateFormatter;
+import com.github.gzuliyujiang.wheelpicker.widget.DateWheelLayout;
+
+import java.math.BigDecimal;
+import java.util.Calendar;
+import java.util.HashMap;
+import java.util.Map;
+
+import io.reactivex.functions.Consumer;
/**
* @author Ljj
@@ -25,8 +38,14 @@
* @desc 姣忔棩娑堣垂璁板綍閫傞厤鍣�
*/
public class DailyConsumeRecordRvAdapter extends BaseRVAdapter<DailyConsumeRecordBean, ItemDailyConsumeRecordBinding, DailyConsumeRecordRvAdapter.ViewHolder> {
- public DailyConsumeRecordRvAdapter(Context context) {
+ private TourismDetailActivityViewModel viewModel;
+
+ private Map<DailyConsumeRecordBean, Boolean> expendMap;
+
+ public DailyConsumeRecordRvAdapter(Context context, TourismDetailActivityViewModel viewModel) {
super(context);
+ this.viewModel = viewModel;
+ this.expendMap = new HashMap<>();
}
@Override
@@ -36,22 +55,103 @@
@Override
protected void onBind(ViewHolder holder, int position) {
- holder.getBinding().setBean(getItem(position));
- holder.getBinding().setIsFold(holder.isExpended);
- ConsumeRecordRvAdapter adapter = new ConsumeRecordRvAdapter(mContext);
- holder.getBinding().rvConsumeRecord.setAdapter(adapter);
- adapter.setData(getItem(position).getConsumeRecordBeans());
- holder.getBinding().ivFold.setOnClickListener(v -> {
- if (holder.isExpended) {
- holder.isExpended = false;
- holder.getBinding().setIsFold(false);
- collapseView(holder.getBinding().rvConsumeRecord, holder.getBinding().rvConsumeRecord);
- } else {
- holder.isExpended = true;
- holder.getBinding().setIsFold(true);
- expandView(holder.getBinding().rvConsumeRecord);
+ DailyConsumeRecordBean item = getItem(position);
+ holder.getBinding().setLifecycleOwner((LifecycleOwner) mContext);
+ holder.getBinding().setBean(item);
+ holder.getBinding().setViewModel(viewModel);
+ if (!expendMap.containsKey(getItem(position))){
+ expendMap.put(getItem(position),false);
+ }
+ if (Boolean.TRUE.equals(expendMap.get(getItem(position)))){
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_unfold);
+ holder.getBinding().cardView.post(() -> {
+ holder.getBinding().cardView.getLayoutParams().height = FrameLayout.LayoutParams.WRAP_CONTENT;
+ holder.getBinding().cardView.requestLayout();
+ });
+ }else{
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_fold);
+ holder.getBinding().cardView.post(() -> {
+ holder.getBinding().cardView.getLayoutParams().height = holder.getBinding().layoutTitle.getMeasuredHeight();
+ holder.getBinding().cardView.requestLayout();
+ });
+ }
+ holder.getBinding().layoutTitle.setOnClickListener(v -> {
+ if (Boolean.TRUE.equals(expendMap.get(getItem(position)))){
+ int initialHeight = holder.getBinding().cardView.getMeasuredHeight();
+ int collapsedHeight = holder.getBinding().layoutTitle.getMeasuredHeight();
+ Utils.pullCollapse(holder.getBinding().cardView,initialHeight,collapsedHeight);
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_fold);
+ expendMap.put(getItem(position),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();
+ Utils.dropExpand(holder.getBinding().cardView,initialHeight,targetHeight);
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_unfold);
+ expendMap.put(getItem(position),true);
+ holder.getBinding().cardView.postDelayed(new Runnable() {
+ @Override
+ public void run() {
+ holder.getBinding().cardView.getLayoutParams().height = FrameLayout.LayoutParams.WRAP_CONTENT;
+ holder.getBinding().cardView.setLayoutParams(holder.getBinding().cardView.getLayoutParams());
+ }
+ },500);
+
}
});
+
+
+ ConsumeRecordRvAdapter adapter = new ConsumeRecordRvAdapter(mContext,viewModel);
+ holder.getBinding().rvConsumeRecord.setAdapter(adapter);
+ adapter.setData(getItem(position).getConsumeRecordBeans());
+
+ holder.getBinding().ivAdd.setOnClickListener(v -> {
+ ConsumeRecordBean bean = new ConsumeRecordBean();
+ adapter.addItem(0,bean);
+ });
+ holder.getBinding().ivDelete.setOnClickListener(v -> {
+ new UIDialog.Builder(mContext)
+ .setTitle("鎮ㄧ‘瀹氳鍒犻櫎璇ユ棩娑堣垂璁板綍鍚�")
+ .setContent("鍒犻櫎鍚庡皢鏃犳硶鎭㈠")
+ .setConfirm("纭畾")
+ .setCancel("鍙栨秷")
+ .setListener(new UIDialog.OnListener() {
+ @Override
+ public void onConfirm(BaseDialog dialog) {
+ removeItem(position);
+ RxBus.getInstance().post(new MessageEvent(MessageEvent.EVENT_TOURISM_CONSUME_CHANGE));
+ }
+ })
+ .show();
+ });
+
+ holder.getBinding().tvDate.setOnClickListener(v -> {
+ DatePicker datePicker = getDatePicker();
+ datePicker.setOnDatePickedListener(new OnDatePickedListener() {
+ @Override
+ public void onDatePicked(int year, int month, int day) {
+ holder.getBinding().tvDate.setText(month+"鏈�"+day+"鏃�");
+ }
+ });
+ datePicker.show();
+ });
+ RxBus.getInstance().toObservable((LifecycleOwner) mContext, MessageEvent.class)
+ .subscribe(messageEvent -> {
+ if (messageEvent.getMessageEventCode() == MessageEvent.EVENT_TOURISM_CONSUME_CHANGE){
+ if (adapter.getItemCount() == 0 || adapter.getData() == null){
+ holder.getBinding().etDailyMoney.setText("0.0");
+ return;
+ }
+ BigDecimal bigDecimal = new BigDecimal(0);
+ for (ConsumeRecordBean bean : adapter.getData()){
+ bigDecimal = bigDecimal.add(BigDecimal.valueOf(bean.getTotalCost()));
+ }
+ holder.getBinding().etDailyMoney.setText(bigDecimal.stripTrailingZeros().toPlainString());
+ for (ConsumeRecordBean bean : adapter.getData()){
+ bean.setDayCost(item.getDailyMoney());
+ }
+ }
+ });
}
@Override
@@ -59,54 +159,35 @@
return new ViewHolder(itemBind);
}
-
public static class ViewHolder extends BaseRVAdapter.BaseViewHolder<ItemDailyConsumeRecordBinding> {
- private boolean isExpended;
-
public ViewHolder(ItemDailyConsumeRecordBinding binding) {
super(binding);
}
}
- 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 setFold(boolean isFold,int position){
+ expendMap.put(getItem(position),isFold);
+ notifyItemChanged(position);
}
- public void expandView(View initialView){
- int initialHeight = initialView.getMeasuredHeight();
- initialView.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED);
- int targetHeight = initialView.getMeasuredHeight();
- ValueAnimator animator = ValueAnimator.ofInt(initialHeight,targetHeight);
- animator.addUpdateListener(animation -> {
- initialView.getLayoutParams().height = (int) animation.getAnimatedValue();
- initialView.requestLayout();
- });
- animator.addListener(new AnimatorListenerAdapter() {
- @Override
- public void onAnimationEnd(Animator animation) {
- initialView.getLayoutParams().height = ViewGroup.LayoutParams.WRAP_CONTENT;
- initialView.setLayoutParams(initialView.getLayoutParams());
- }
- });
- animator.setDuration(500);
- animator.start();
+
+ private DatePicker getDatePicker(){
+ com.github.gzuliyujiang.wheelpicker.DatePicker datePicker = new DatePicker((Activity) mContext);
+ DateWheelLayout wheelLayout = datePicker.getWheelLayout();
+ wheelLayout.getMonthWheelView().setCurtainCorner(0);//鑳屾櫙鏃犲渾瑙�
+ wheelLayout.getDayWheelView().setCurtainCorner(5);//鑳屾櫙鍙宠竟鏈夊渾瑙�
+ wheelLayout.getYearWheelView().setCurtainCorner(4);//鑳屾櫙宸﹁竟鏈夊渾瑙�
+ wheelLayout.setDateFormatter(new UnitDateFormatter());
+ wheelLayout.setPadding(50, 0, 50, 0);
+ wheelLayout.setItemSpace(ScreenSizeUtils.dip2px(mContext, 20));
+ wheelLayout.setCurtainEnabled(true);
+ wheelLayout.setCurtainColor(Color.parseColor("#4D2F63F8"));
+ wheelLayout.setCurtainRadius(ScreenSizeUtils.dip2px(mContext,4));
+ wheelLayout.setSelectedTextColor(Color.parseColor("#FF2F63F8"));
+ wheelLayout.setTextColor(Color.parseColor("#FF999999"));
+ wheelLayout.setIndicatorEnabled(false);
+ //鏃ユ湡鍙�夎寖鍥�
+ wheelLayout.setRange(DateEntity.target(1900, 1, 1), DateEntity.target(2500, 12, 31),DateEntity.target(Calendar.getInstance()));
+ datePicker.getWheelLayout().setResetWhenLinkage(false);
+ return datePicker;
}
}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/adapter/ElectronicFileAdapter.java b/app/src/main/java/com/application/zhangshi_app_android/adapter/ElectronicFileAdapter.java
new file mode 100644
index 0000000..3ffb361
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/adapter/ElectronicFileAdapter.java
@@ -0,0 +1,33 @@
+package com.application.zhangshi_app_android.adapter;
+
+import android.content.Context;
+
+import com.android.app_base.base.adapter.BaseRVAdapter;
+import com.application.zhangshi_app_android.R;
+import com.application.zhangshi_app_android.databinding.ItemElectronicFileBinding;
+
+/**
+ * @author Ljj
+ * @date 2023.05.15. 21:46
+ * @desc 鍗$墖閲岀殑 鐢靛瓙鏂囦欢 閫傞厤鍣�
+ */
+public class ElectronicFileAdapter extends BaseRVAdapter<String,ItemElectronicFileBinding,BaseRVAdapter.BaseViewHolder<ItemElectronicFileBinding>> {
+ public ElectronicFileAdapter(Context context) {
+ super(context);
+ }
+
+ @Override
+ protected int getLayoutId() {
+ return R.layout.item_electronic_file;
+ }
+
+ @Override
+ protected void onBind(BaseViewHolder<ItemElectronicFileBinding> holder, int position) {
+ holder.getBinding().setUrl(mDataList.get(position));
+ }
+
+ @Override
+ protected BaseViewHolder<ItemElectronicFileBinding> getViewHolder(ItemElectronicFileBinding itemBind, int viewType) {
+ return new BaseViewHolder<>(itemBind);
+ }
+}
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 c28c979..477e247 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
@@ -5,29 +5,25 @@
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.Transformation;
-import android.widget.CompoundButton;
import android.widget.FrameLayout;
import androidx.recyclerview.widget.GridLayoutManager;
-import com.android.app_base.base.BaseConfig;
import com.android.app_base.base.adapter.BaseRVAdapter;
import com.android.app_base.manager.AppManager;
+import com.android.app_base.utils.Utils;
import com.application.zhangshi_app_android.R;
import com.application.zhangshi_app_android.bean.FamilyAssetsBean;
+import com.application.zhangshi_app_android.bean.TourismBean;
import com.application.zhangshi_app_android.databinding.ItemFamilyAssetsBinding;
-import com.application.zhangshi_app_android.ui.function.CreateFamilyProjectActivity;
-import com.application.zhangshi_app_android.ui.function.FamilyAssetsActivity;
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.HashMap;
import java.util.List;
-import java.util.Locale;
-import java.util.Objects;
+import java.util.Map;
/**
* @author Ljj
@@ -36,16 +32,12 @@
*/
public class FamilyAssetsRvAdapter extends BaseRVAdapter<FamilyAssetsBean, ItemFamilyAssetsBinding, FamilyAssetsRvAdapter.ViewHolder> {
- private FamilyAssetsActivityViewModel viewModel;
+ private final Map<FamilyAssetsBean, Boolean> expendMap = new HashMap<>();
public FamilyAssetsRvAdapter(Context context) {
super(context);
}
- public FamilyAssetsRvAdapter(Context context, FamilyAssetsActivityViewModel viewModel) {
- super(context);
- this.viewModel = viewModel;
- }
@Override
protected int getLayoutId() {
@@ -65,53 +57,38 @@
}else {
holder.getBinding().cardView.setCardBackgroundColor(mContext.getColor(R.color.color_card_pink));
}
+ if (!expendMap.containsKey(getItem(position))){
+ expendMap.put(getItem(position),false);
+ }
+ if (Boolean.TRUE.equals(expendMap.get(getItem(position)))){
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_unfold);
+ holder.getBinding().cardView.post(() -> {
+ holder.getBinding().cardView.getLayoutParams().height = FrameLayout.LayoutParams.WRAP_CONTENT;
+ holder.getBinding().cardView.requestLayout();
+ });
+ }else{
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_fold);
+ holder.getBinding().cardView.post(() -> {
+ holder.getBinding().cardView.getLayoutParams().height = holder.getBinding().layoutTitle.getMeasuredHeight();
+ holder.getBinding().cardView.requestLayout();
+ });
+ }
holder.getBinding().layoutTitle.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
- if (holder.isExpended){
+ if (Boolean.TRUE.equals(expendMap.get(getItem(position)))){
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;
+ Utils.pullCollapse(holder.getBinding().cardView,initialHeight,collapsedHeight);
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_fold);
+ expendMap.put(getItem(position),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;
+ Utils.dropExpand(holder.getBinding().cardView,initialHeight,targetHeight);
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_unfold);
+ expendMap.put(getItem(position),true);
}
}
});
@@ -120,29 +97,14 @@
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);
+ ElectronicFileAdapter adapter = new ElectronicFileAdapter(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);
+ adapter.setData(Utils.splitString2List(mDataList.get(position).getUrl(),","));
+
}
public static class ViewHolder extends BaseViewHolder<ItemFamilyAssetsBinding>{
- private boolean isExpended;
-
public ViewHolder(ItemFamilyAssetsBinding binding) {
super(binding);
}
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 3633bbd..d83ca03 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
@@ -8,25 +8,25 @@
import android.widget.CompoundButton;
import android.widget.FrameLayout;
-import androidx.lifecycle.LiveData;
-import androidx.lifecycle.MutableLiveData;
import androidx.recyclerview.widget.GridLayoutManager;
import com.android.app_base.base.BaseConfig;
import com.android.app_base.base.adapter.BaseRVAdapter;
+import com.android.app_base.base.dialog.BaseDialog;
+import com.android.app_base.base.dialog.UIDialog;
import com.android.app_base.manager.AppManager;
+import com.android.app_base.utils.Utils;
import com.application.zhangshi_app_android.R;
import com.application.zhangshi_app_android.bean.FamilyMemorabiliaBean;
+import com.application.zhangshi_app_android.bean.TourismBean;
import com.application.zhangshi_app_android.databinding.ItemFamilyMemorabiliaBinding;
-import com.application.zhangshi_app_android.ui.function.CreateFamilyProjectActivity;
-import com.application.zhangshi_app_android.ui.function.FamilyMemorabiliaActivity;
+import com.application.zhangshi_app_android.ui.function.FamilyMemorabiliaDetailActivity;
import com.application.zhangshi_app_android.ui.function.FamilyMemorabiliaActivityViewModel;
import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
+import java.util.HashMap;
import java.util.List;
-import java.util.Objects;
+import java.util.Map;
/**
* @author Ljj
@@ -35,8 +35,8 @@
*/
public class FamilyMemorabiliaRvAdapter extends BaseRVAdapter<FamilyMemorabiliaBean, ItemFamilyMemorabiliaBinding, FamilyMemorabiliaRvAdapter.MyViewHolder> {
-
private FamilyMemorabiliaActivityViewModel viewModel;
+ private final Map<FamilyMemorabiliaBean, Boolean> expendMap = new HashMap<>();
private boolean isCheckable;
public FamilyMemorabiliaRvAdapter(Context context) {
@@ -66,6 +66,22 @@
}else {
holder.getBinding().cardView.setCardBackgroundColor(mContext.getColor(R.color.color_card_pink));
}
+ if (!expendMap.containsKey(getItem(position))){
+ expendMap.put(getItem(position),false);
+ }
+ if (Boolean.TRUE.equals(expendMap.get(getItem(position)))){
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_unfold);
+ holder.getBinding().cardView.post(() -> {
+ holder.getBinding().cardView.getLayoutParams().height = FrameLayout.LayoutParams.WRAP_CONTENT;
+ holder.getBinding().cardView.requestLayout();
+ });
+ }else{
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_fold);
+ holder.getBinding().cardView.post(() -> {
+ holder.getBinding().cardView.getLayoutParams().height = holder.getBinding().layoutTitle.getMeasuredHeight();
+ holder.getBinding().cardView.requestLayout();
+ });
+ }
if (isCheckable){
holder.getBinding().checkbox.setVisibility(View.VISIBLE);
holder.getBinding().checkbox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@@ -92,71 +108,59 @@
holder.getBinding().layoutTitle.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
- if (holder.isExpended){
+ if (Boolean.TRUE.equals(expendMap.get(getItem(position)))){
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;
+ Utils.pullCollapse(holder.getBinding().cardView,initialHeight,collapsedHeight);
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_fold);
+ expendMap.put(getItem(position),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;
+ Utils.dropExpand(holder.getBinding().cardView,initialHeight,targetHeight);
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_unfold);
+ expendMap.put(getItem(position),true);
}
+ }
+ });
+ holder.itemView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ AppManager.getAppManager().startActivity(
+ new Intent(getRecyclerView().getContext(), FamilyMemorabiliaDetailActivity.class)
+ .putExtra(BaseConfig.EXTRA_TYPE,0)
+ .putExtra("bean",mDataList.get(position)));
}
});
holder.getBinding().layoutModify.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
AppManager.getAppManager().startActivity(
- new Intent(getRecyclerView().getContext(), CreateFamilyProjectActivity.class)
- .putExtra(BaseConfig.EXTRA_TYPE,0)
+ new Intent(getRecyclerView().getContext(), FamilyMemorabiliaDetailActivity.class)
+ .putExtra(BaseConfig.EXTRA_TYPE,2)
.putExtra("bean",mDataList.get(position)));
}
});
holder.getBinding().layoutDelete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
-
+ new UIDialog.Builder(mContext)
+ .setTitle("鎮ㄧ‘瀹氳鍒犻櫎璇ラ」鐩悧")
+ .setContent("椤圭洰鍒犻櫎鍚庡皢鏃犳硶鎭㈠")
+ .setConfirm("纭畾")
+ .setCancel("鍙栨秷")
+ .setListener(new UIDialog.OnListener() {
+ @Override
+ public void onConfirm(BaseDialog dialog) {
+ viewModel.deleteItem(mDataList.get(position));
+ }
+ })
+ .show();
}
});
- ImageRvAdapter adapter = new ImageRvAdapter(mContext);
- mDataList.get(position).setUrl(mDataList.get(position).getUrl());
- adapter.setData(mDataList.get(position).getUrlList());
+ ElectronicFileAdapter adapter = new ElectronicFileAdapter(mContext);
+ adapter.setData(Utils.splitString2List(mDataList.get(position).getUrl(),","));
holder.getBinding().rvImage.setLayoutManager(new GridLayoutManager(mContext,3));
holder.getBinding().rvImage.setAdapter(adapter);
}
@@ -168,8 +172,6 @@
public static class MyViewHolder extends BaseViewHolder<ItemFamilyMemorabiliaBinding>{
- private boolean isExpended;
-
public MyViewHolder(ItemFamilyMemorabiliaBinding binding) {
super(binding);
}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/adapter/GrowthExperienceAbroadConditionRvAdapter.java b/app/src/main/java/com/application/zhangshi_app_android/adapter/GrowthExperienceAbroadConditionRvAdapter.java
index 53476c0..0fae005 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/adapter/GrowthExperienceAbroadConditionRvAdapter.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/adapter/GrowthExperienceAbroadConditionRvAdapter.java
@@ -12,15 +12,19 @@
import androidx.databinding.DataBindingUtil;
import com.android.app_base.base.adapter.BaseRVAdapter;
import com.android.app_base.manager.AppManager;
+import com.android.app_base.utils.Utils;
import com.application.zhangshi_app_android.R;
import com.application.zhangshi_app_android.bean.GrowthExperienceAbroadConditionBean;
import com.application.zhangshi_app_android.bean.GrowthExperienceBean;
+import com.application.zhangshi_app_android.bean.TourismBean;
import com.application.zhangshi_app_android.databinding.ItemGrowthExperienceAbroadConditionBinding;
import com.application.zhangshi_app_android.ui.function.GrowthExperienceActivity;
import com.application.zhangshi_app_android.ui.function.GrowthExperienceActivityViewModel;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
/**
* @author Gss
@@ -30,6 +34,8 @@
public class GrowthExperienceAbroadConditionRvAdapter extends BaseRVAdapter<GrowthExperienceAbroadConditionBean, ItemGrowthExperienceAbroadConditionBinding, GrowthExperienceAbroadConditionRvAdapter.ViewHolder> {
private GrowthExperienceActivityViewModel viewModel;
+ private final Map<GrowthExperienceAbroadConditionBean, Boolean> expendMap = new HashMap<>();
+
public GrowthExperienceAbroadConditionRvAdapter(Context context) {
super(context);
@@ -58,53 +64,38 @@
}else {
holder.getBinding().cardView.setCardBackgroundColor(mContext.getColor(R.color.color_card_pink));
}
+ if (!expendMap.containsKey(getItem(position))){
+ expendMap.put(getItem(position),false);
+ }
+ if (Boolean.TRUE.equals(expendMap.get(getItem(position)))){
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_unfold);
+ holder.getBinding().cardView.post(() -> {
+ holder.getBinding().cardView.getLayoutParams().height = FrameLayout.LayoutParams.WRAP_CONTENT;
+ holder.getBinding().cardView.requestLayout();
+ });
+ }else{
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_fold);
+ holder.getBinding().cardView.post(() -> {
+ holder.getBinding().cardView.getLayoutParams().height = holder.getBinding().layoutTitle.getMeasuredHeight();
+ holder.getBinding().cardView.requestLayout();
+ });
+ }
holder.getBinding().layoutTitle.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
- if (holder.isExpended){
+ if (Boolean.TRUE.equals(expendMap.get(getItem(position)))){
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;
+ Utils.pullCollapse(holder.getBinding().cardView,initialHeight,collapsedHeight);
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_fold);
+ expendMap.put(getItem(position),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;
+ Utils.dropExpand(holder.getBinding().cardView,initialHeight,targetHeight);
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_unfold);
+ expendMap.put(getItem(position),true);
}
}
});
@@ -112,8 +103,6 @@
}
public static class ViewHolder extends BaseViewHolder<ItemGrowthExperienceAbroadConditionBinding>{
- private boolean isExpended;
-
public ViewHolder(ItemGrowthExperienceAbroadConditionBinding binding) {
super(binding);
}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/adapter/GrowthExperienceHolderConditionRvAdapter.java b/app/src/main/java/com/application/zhangshi_app_android/adapter/GrowthExperienceHolderConditionRvAdapter.java
index 1c79a1a..7fdc6aa 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/adapter/GrowthExperienceHolderConditionRvAdapter.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/adapter/GrowthExperienceHolderConditionRvAdapter.java
@@ -12,15 +12,19 @@
import androidx.databinding.DataBindingUtil;
import com.android.app_base.base.adapter.BaseRVAdapter;
import com.android.app_base.manager.AppManager;
+import com.android.app_base.utils.Utils;
import com.application.zhangshi_app_android.R;
import com.application.zhangshi_app_android.bean.GrowthExperienceBean;
import com.application.zhangshi_app_android.bean.GrowthExperienceHolderConditionBean;
+import com.application.zhangshi_app_android.bean.TourismBean;
import com.application.zhangshi_app_android.databinding.ItemGrowthExperienceHolderConditionBinding;
import com.application.zhangshi_app_android.ui.function.GrowthExperienceActivity;
import com.application.zhangshi_app_android.ui.function.GrowthExperienceActivityViewModel;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
/**
* @author Gss
@@ -29,16 +33,13 @@
*/
public class GrowthExperienceHolderConditionRvAdapter extends BaseRVAdapter<GrowthExperienceHolderConditionBean, ItemGrowthExperienceHolderConditionBinding, GrowthExperienceHolderConditionRvAdapter.ViewHolder> {
- private GrowthExperienceActivityViewModel viewModel;
+
+ private final Map<GrowthExperienceHolderConditionBean, Boolean> expendMap = new HashMap<>();
public GrowthExperienceHolderConditionRvAdapter(Context context) {
super(context);
}
- public GrowthExperienceHolderConditionRvAdapter(Context context, GrowthExperienceActivityViewModel viewModel) {
- super(context);
- this.viewModel = viewModel;
- }
@Override
protected int getLayoutId() {
@@ -58,53 +59,38 @@
}else {
holder.getBinding().cardView.setCardBackgroundColor(mContext.getColor(R.color.color_card_pink));
}
+ if (!expendMap.containsKey(getItem(position))){
+ expendMap.put(getItem(position),false);
+ }
+ if (Boolean.TRUE.equals(expendMap.get(getItem(position)))){
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_unfold);
+ holder.getBinding().cardView.post(() -> {
+ holder.getBinding().cardView.getLayoutParams().height = FrameLayout.LayoutParams.WRAP_CONTENT;
+ holder.getBinding().cardView.requestLayout();
+ });
+ }else{
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_fold);
+ holder.getBinding().cardView.post(() -> {
+ holder.getBinding().cardView.getLayoutParams().height = holder.getBinding().layoutTitle.getMeasuredHeight();
+ holder.getBinding().cardView.requestLayout();
+ });
+ }
holder.getBinding().layoutTitle.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
- if (holder.isExpended){
+ if (Boolean.TRUE.equals(expendMap.get(getItem(position)))){
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;
+ Utils.pullCollapse(holder.getBinding().cardView,initialHeight,collapsedHeight);
+ expendMap.put(getItem(position),false);
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_fold);
}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;
+ Utils.dropExpand(holder.getBinding().cardView,initialHeight,targetHeight);
+ expendMap.put(getItem(position),true);
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_unfold);
}
}
});
@@ -112,7 +98,6 @@
}
public static class ViewHolder extends BaseViewHolder<ItemGrowthExperienceHolderConditionBinding>{
- private boolean isExpended;
public ViewHolder(ItemGrowthExperienceHolderConditionBinding binding) {
super(binding);
diff --git a/app/src/main/java/com/application/zhangshi_app_android/adapter/GrowthExperiencePrimaryRvAdapter.java b/app/src/main/java/com/application/zhangshi_app_android/adapter/GrowthExperiencePrimaryRvAdapter.java
index 7bc8ef3..e43d1fe 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/adapter/GrowthExperiencePrimaryRvAdapter.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/adapter/GrowthExperiencePrimaryRvAdapter.java
@@ -14,14 +14,18 @@
import com.android.app_base.base.adapter.BaseRVAdapter;
import com.android.app_base.manager.AppManager;
+import com.android.app_base.utils.Utils;
import com.application.zhangshi_app_android.R;
import com.application.zhangshi_app_android.bean.GrowthExperienceBean;
+import com.application.zhangshi_app_android.bean.TourismBean;
import com.application.zhangshi_app_android.databinding.ItemGrowthExperiencePrimaryBinding;
import com.application.zhangshi_app_android.ui.function.GrowthExperienceActivity;
import com.application.zhangshi_app_android.ui.function.GrowthExperienceActivityViewModel;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
/**
* @author Gss
@@ -29,16 +33,10 @@
* @desc 鎴愰暱缁忓巻(涓昏瀛︿範鍙婂伐浣滅粡鍘�) recyclerView 鐨� adapter
*/
public class GrowthExperiencePrimaryRvAdapter extends BaseRVAdapter<GrowthExperienceBean, ItemGrowthExperiencePrimaryBinding, GrowthExperiencePrimaryRvAdapter.ViewHolder> {
-
- private GrowthExperienceActivityViewModel viewModel;
+ private final Map<GrowthExperienceBean, Boolean> expendMap = new HashMap<>();
public GrowthExperiencePrimaryRvAdapter(Context context) {
super(context);
- }
-
- public GrowthExperiencePrimaryRvAdapter(Context context, GrowthExperienceActivityViewModel viewModel) {
- super(context);
- this.viewModel = viewModel;
}
@Override
@@ -61,55 +59,44 @@
}else {
holder.getBinding().cardView.setCardBackgroundColor(mContext.getColor(R.color.color_card_pink));
}
+ if (!expendMap.containsKey(getItem(position))){
+ expendMap.put(getItem(position),false);
+ }
+ if (Boolean.TRUE.equals(expendMap.get(getItem(position)))){
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_unfold);
+ holder.getBinding().cardView.post(() -> {
+ holder.getBinding().cardView.getLayoutParams().height = FrameLayout.LayoutParams.WRAP_CONTENT;
+ holder.getBinding().cardView.requestLayout();
+ });
+ }else{
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_fold);
+ holder.getBinding().cardView.post(() -> {
+ holder.getBinding().cardView.getLayoutParams().height = holder.getBinding().layoutTitle.getMeasuredHeight();
+ holder.getBinding().cardView.requestLayout();
+ });
+ }
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();
+ holder.getBinding().layoutTitle.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ if (Boolean.TRUE.equals(expendMap.get(getItem(position)))){
+ int initialHeight = holder.getBinding().cardView.getMeasuredHeight();
+ int collapsedHeight = holder.getBinding().layoutTitle.getMeasuredHeight();
+ Utils.pullCollapse(holder.getBinding().cardView,initialHeight,collapsedHeight);
+ expendMap.put(getItem(position),false);
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_fold);
+ }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();
+ Utils.dropExpand(holder.getBinding().cardView,initialHeight,targetHeight);
+ expendMap.put(getItem(position),true);
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_unfold);
}
-
- @Override
- public boolean willChangeBounds() {
- return true;
- }
- };
- a.setDuration(500);
- holder.getBinding().cardView.startAnimation(a);
- holder.isExpended = false;
- }else{
- int recyclerviewHeight = mRecyclerView.getMeasuredHeight();
- final int initialHeight = holder.getBinding().cardView.getMeasuredHeight();
- holder.getBinding().cardView.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED);
- 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;
- }
+ }
+ });
}
});
diff --git a/app/src/main/java/com/application/zhangshi_app_android/adapter/GrowthExperienceRelationshipRvAdapter.java b/app/src/main/java/com/application/zhangshi_app_android/adapter/GrowthExperienceRelationshipRvAdapter.java
index 7aab133..f2c381d 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/adapter/GrowthExperienceRelationshipRvAdapter.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/adapter/GrowthExperienceRelationshipRvAdapter.java
@@ -12,15 +12,19 @@
import androidx.databinding.DataBindingUtil;
import com.android.app_base.base.adapter.BaseRVAdapter;
import com.android.app_base.manager.AppManager;
+import com.android.app_base.utils.Utils;
import com.application.zhangshi_app_android.R;
import com.application.zhangshi_app_android.bean.GrowthExperienceBean;
import com.application.zhangshi_app_android.bean.GrowthExperienceRelationshipBean;
+import com.application.zhangshi_app_android.bean.TourismBean;
import com.application.zhangshi_app_android.databinding.ItemGrowthExperienceRelationshipBinding;
import com.application.zhangshi_app_android.ui.function.GrowthExperienceActivity;
import com.application.zhangshi_app_android.ui.function.GrowthExperienceActivityViewModel;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
/**
* @author Gss
@@ -28,6 +32,7 @@
* @desc 鎴愰暱缁忓巻(瀹跺涵鎴愬憳鍙婁富瑕佺ぞ浼氬叧绯绘儏鍐�) recyclerView 鐨� adapter
*/
public class GrowthExperienceRelationshipRvAdapter extends BaseRVAdapter<GrowthExperienceRelationshipBean, ItemGrowthExperienceRelationshipBinding, GrowthExperienceRelationshipRvAdapter.ViewHolder> {
+ private final Map<GrowthExperienceRelationshipBean, Boolean> expendMap = new HashMap<>();
private GrowthExperienceActivityViewModel viewModel;
@@ -59,53 +64,38 @@
}else {
holder.getBinding().cardView.setCardBackgroundColor(mContext.getColor(R.color.color_card_pink));
}
+ if (!expendMap.containsKey(getItem(position))){
+ expendMap.put(getItem(position),false);
+ }
+ if (Boolean.TRUE.equals(expendMap.get(getItem(position)))){
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_unfold);
+ holder.getBinding().cardView.post(() -> {
+ holder.getBinding().cardView.getLayoutParams().height = FrameLayout.LayoutParams.WRAP_CONTENT;
+ holder.getBinding().cardView.requestLayout();
+ });
+ }else{
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_fold);
+ holder.getBinding().cardView.post(() -> {
+ holder.getBinding().cardView.getLayoutParams().height = holder.getBinding().layoutTitle.getMeasuredHeight();
+ holder.getBinding().cardView.requestLayout();
+ });
+ }
holder.getBinding().layoutTitle.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
- if (holder.isExpended){
+ if (Boolean.TRUE.equals(expendMap.get(getItem(position)))){
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;
+ Utils.pullCollapse(holder.getBinding().cardView,initialHeight,collapsedHeight);
+ expendMap.put(getItem(position),false);
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_fold);
}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;
+ Utils.dropExpand(holder.getBinding().cardView,initialHeight,targetHeight);
+ expendMap.put(getItem(position),true);
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_unfold);
}
}
});
@@ -113,8 +103,6 @@
}
public static class ViewHolder extends BaseViewHolder<ItemGrowthExperienceRelationshipBinding>{
- private boolean isExpended;
-
public ViewHolder(ItemGrowthExperienceRelationshipBinding binding) {
super(binding);
}
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 16ca07e..844193f 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
@@ -3,24 +3,29 @@
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.CompoundButton;
import android.widget.FrameLayout;
import androidx.recyclerview.widget.GridLayoutManager;
+import com.android.app_base.base.BaseConfig;
import com.android.app_base.base.adapter.BaseRVAdapter;
+import com.android.app_base.base.dialog.BaseDialog;
+import com.android.app_base.base.dialog.UIDialog;
import com.android.app_base.manager.AppManager;
+import com.android.app_base.utils.Utils;
import com.application.zhangshi_app_android.R;
import com.application.zhangshi_app_android.bean.HomeDevicesBean;
-import com.application.zhangshi_app_android.databinding.ItemFamilyAssetsBinding;
+import com.application.zhangshi_app_android.bean.TourismBean;
import com.application.zhangshi_app_android.databinding.ItemHomeDevicesBinding;
-import com.application.zhangshi_app_android.ui.function.FamilyAssetsDetailActivity;
+import com.application.zhangshi_app_android.ui.function.HomeDevicesActivityViewModel;
import com.application.zhangshi_app_android.ui.function.HomeDevicesDetailActivity;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
/**
* @author Ljj
@@ -28,8 +33,12 @@
* @desc 瀹跺涵璁惧 recyclerView 鐨� adapter
*/
public class HomeDevicesRvAdapter extends BaseRVAdapter<HomeDevicesBean, ItemHomeDevicesBinding, HomeDevicesRvAdapter.ViewHolder>{
- public HomeDevicesRvAdapter(Context context) {
+ private final HomeDevicesActivityViewModel viewModel;
+ private final Map<HomeDevicesBean, Boolean> expendMap = new HashMap<>();
+ private boolean isCheckable;
+ public HomeDevicesRvAdapter(Context context, HomeDevicesActivityViewModel viewModel) {
super(context);
+ this.viewModel = viewModel;
}
@Override
@@ -45,86 +54,114 @@
}else {
holder.getBinding().cardView.setCardBackgroundColor(mContext.getColor(R.color.color_card_pink));
}
+ if (!expendMap.containsKey(getItem(position))){
+ expendMap.put(getItem(position),false);
+ }
+ if (Boolean.TRUE.equals(expendMap.get(getItem(position)))){
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_unfold);
+ holder.getBinding().cardView.post(() -> {
+ holder.getBinding().cardView.getLayoutParams().height = FrameLayout.LayoutParams.WRAP_CONTENT;
+ holder.getBinding().cardView.requestLayout();
+ });
+ }else{
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_fold);
+ holder.getBinding().cardView.post(() -> {
+ holder.getBinding().cardView.getLayoutParams().height = holder.getBinding().layoutTitle.getMeasuredHeight();
+ holder.getBinding().cardView.requestLayout();
+ });
+ }
+ if (isCheckable){
+ holder.getBinding().checkbox.setVisibility(View.VISIBLE);
+ holder.getBinding().checkbox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
+ @Override
+ public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
+ if (viewModel.getCheckListLiveData().getValue() == null){
+ viewModel.getCheckListLiveData().setValue(new ArrayList<>());
+ }
+ List<HomeDevicesBean> list = new ArrayList<>(viewModel.getCheckListLiveData().getValue());
+ if (isChecked){
+ if (!list.contains(mDataList.get(position))){
+ list.add(mDataList.get(position));
+ }
+ }else{
+ list.remove(mDataList.get(position));
+ }
+ viewModel.getCheckListLiveData().setValue(list);
+ }
+ });
+ holder.getBinding().checkbox.setChecked(viewModel.getCheckListLiveData().getValue().contains(mDataList.get(position)));
+ }else{
+ holder.getBinding().checkbox.setVisibility(View.GONE);
+ }
holder.getBinding().layoutTitle.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
- if (holder.isExpended){
+ if (Boolean.TRUE.equals(expendMap.get(getItem(position)))){
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;
+ Utils.pullCollapse(holder.getBinding().cardView,initialHeight,collapsedHeight);
+ expendMap.put(getItem(position),false);
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_fold);
}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;
+ Utils.dropExpand(holder.getBinding().cardView,initialHeight,targetHeight);
+ expendMap.put(getItem(position),true);
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_unfold);
}
}
});
holder.getBinding().layoutContent.setOnClickListener(v -> {
AppManager.getAppManager().startActivity(
new Intent(getRecyclerView().getContext(), HomeDevicesDetailActivity.class)
+ .putExtra(BaseConfig.EXTRA_TYPE,0)
.putExtra("bean",mDataList.get(position)));
});
- ImageRvAdapter adapter = new ImageRvAdapter(mContext);
+
+ holder.getBinding().layoutModify.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ AppManager.getAppManager().startActivity(
+ new Intent(getRecyclerView().getContext(), HomeDevicesDetailActivity.class)
+ .putExtra(BaseConfig.EXTRA_TYPE,2)
+ .putExtra("bean",mDataList.get(position)));
+ }
+ });
+ holder.getBinding().layoutDelete.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ new UIDialog.Builder(mContext)
+ .setTitle("鎮ㄧ‘瀹氳鍒犻櫎璇ラ」鐩悧")
+ .setContent("椤圭洰鍒犻櫎鍚庡皢鏃犳硶鎭㈠")
+ .setConfirm("纭畾")
+ .setCancel("鍙栨秷")
+ .setListener(new UIDialog.OnListener() {
+ @Override
+ public void onConfirm(BaseDialog dialog) {
+ viewModel.deleteItem(mDataList.get(position));
+ }
+ })
+ .show();
+ }
+ });
+
+ ElectronicFileAdapter adapter = new ElectronicFileAdapter(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);
- }
+ adapter.setData(Utils.splitString2List(mDataList.get(position).getUrl(),","));
+ }
+ public void setCheckable(boolean b) {
+ isCheckable = b;
+ notifyItemRangeChanged(0,getItemCount());
+ }
@Override
protected ViewHolder getViewHolder(ItemHomeDevicesBinding itemBind,int viewType) {
return new ViewHolder(itemBind);
}
- public static class ViewHolder extends BaseViewHolder<ItemHomeDevicesBinding>{
- private boolean isExpended;
+ public static class ViewHolder extends BaseRVAdapter.BaseViewHolder<ItemHomeDevicesBinding>{
public ViewHolder(ItemHomeDevicesBinding binding) {
super(binding);
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
index 9e42148..dbfa7b7 100644
--- 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
@@ -8,9 +8,14 @@
import android.widget.FrameLayout;
import com.android.app_base.base.adapter.BaseRVAdapter;
+import com.android.app_base.utils.Utils;
import com.application.zhangshi_app_android.R;
+import com.application.zhangshi_app_android.bean.CertificateOfHonorBean;
import com.application.zhangshi_app_android.bean.HomeMemberBean;
import com.application.zhangshi_app_android.databinding.ItemHomeMemberListBinding;
+
+import java.util.HashMap;
+import java.util.Map;
/**
* @author Ljj
@@ -18,6 +23,8 @@
* @desc
*/
public class HomeMemberAdapter extends BaseRVAdapter<HomeMemberBean, ItemHomeMemberListBinding, HomeMemberAdapter.ViewHolder> {
+
+ private final Map<HomeMemberBean, Boolean> expendMap = new HashMap<>();
public HomeMemberAdapter(Context context) {
super(context);
@@ -36,53 +43,39 @@
}else {
holder.getBinding().cardView.setCardBackgroundColor(mContext.getColor(R.color.color_card_pink));
}
+ if (!expendMap.containsKey(getItem(position))){
+ expendMap.put(getItem(position),false);
+ }
+ if (Boolean.TRUE.equals(expendMap.get(getItem(position)))){
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_unfold);
+ holder.getBinding().cardView.post(() -> {
+ holder.getBinding().cardView.getLayoutParams().height = FrameLayout.LayoutParams.WRAP_CONTENT;
+ holder.getBinding().cardView.requestLayout();
+ });
+
+ }else{
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_fold);
+ holder.getBinding().cardView.post(() -> {
+ holder.getBinding().cardView.getLayoutParams().height = holder.getBinding().layoutTitle.getMeasuredHeight();
+ holder.getBinding().cardView.requestLayout();
+ });
+ }
holder.getBinding().layoutTitle.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
- if (holder.isExpended){
+ if (Boolean.TRUE.equals(expendMap.get(getItem(position)))){
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;
+ Utils.pullCollapse(holder.getBinding().cardView,initialHeight,collapsedHeight);
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_fold);
+ expendMap.put(getItem(position),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;
+ Utils.dropExpand(holder.getBinding().cardView,initialHeight,targetHeight);
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_unfold);
+ expendMap.put(getItem(position),true);
}
}
});
@@ -94,8 +87,6 @@
}
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
index e1809aa..8b89896 100644
--- 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
@@ -11,15 +11,18 @@
import com.android.app_base.base.adapter.BaseRVAdapter;
import com.android.app_base.manager.AppManager;
+import com.android.app_base.utils.Utils;
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.bean.TourismBean;
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.HashMap;
import java.util.List;
+import java.util.Map;
/**
* @author Ljj
@@ -27,6 +30,7 @@
* @desc 鑽h獕鏀惰棌 Adapter
*/
public class HonorCollectionRvAdapter extends BaseRVAdapter<HonorCollectionBean, ItemHonorCollectionBinding, HonorCollectionRvAdapter.ViewHolder>{
+ private final Map<HonorCollectionBean, Boolean> expendMap = new HashMap<>();
public HonorCollectionRvAdapter(Context context) {
super(context);
@@ -45,53 +49,38 @@
}else {
holder.getBinding().cardView.setCardBackgroundColor(mContext.getColor(R.color.color_card_pink));
}
+ if (!expendMap.containsKey(getItem(position))){
+ expendMap.put(getItem(position),false);
+ }
+ if (Boolean.TRUE.equals(expendMap.get(getItem(position)))){
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_unfold);
+ holder.getBinding().cardView.post(() -> {
+ holder.getBinding().cardView.getLayoutParams().height = FrameLayout.LayoutParams.WRAP_CONTENT;
+ holder.getBinding().cardView.requestLayout();
+ });
+ }else{
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_fold);
+ holder.getBinding().cardView.post(() -> {
+ holder.getBinding().cardView.getLayoutParams().height = holder.getBinding().layoutTitle.getMeasuredHeight();
+ holder.getBinding().cardView.requestLayout();
+ });
+ }
holder.getBinding().layoutTitle.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
- if (holder.isExpended){
+ if (Boolean.TRUE.equals(expendMap.get(getItem(position)))){
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;
+ Utils.pullCollapse(holder.getBinding().cardView,initialHeight,collapsedHeight);
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_fold);
+ expendMap.put(getItem(position),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;
+ Utils.dropExpand(holder.getBinding().cardView,initialHeight,targetHeight);
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_unfold);
+ expendMap.put(getItem(position),true);
}
}
});
@@ -101,26 +90,11 @@
.putExtra("bean",mDataList.get(position)));
});
- if (mDataList.get(position).getGetTime()!=null){
- String time = mDataList.get(position).getGetTime().split(" ")[0];
- holder.getBinding().tvTime.setText(time);
- }
- ImageRvAdapter adapter = new ImageRvAdapter(mContext);
+ ElectronicFileAdapter adapter = new ElectronicFileAdapter(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);
+ adapter.setData(Utils.splitString2List(mDataList.get(position).getUrl(),","));
+
}
@Override
@@ -129,7 +103,6 @@
}
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
index 633aac0..01eb0fd 100644
--- 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
@@ -11,20 +11,27 @@
import com.android.app_base.base.adapter.BaseRVAdapter;
import com.android.app_base.manager.AppManager;
+import com.android.app_base.utils.Utils;
import com.application.zhangshi_app_android.R;
import com.application.zhangshi_app_android.bean.HundredWishBean;
+import com.application.zhangshi_app_android.bean.TourismBean;
import com.application.zhangshi_app_android.databinding.ItemHundredWishBinding;
import com.application.zhangshi_app_android.ui.function.HundredWishDetailActivity;
+import com.application.zhangshi_app_android.ui.function.PropertyDetailActivity;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
/**
* @author Ljj
* @date 2023.04.23. 20:05
* @desc
*/public class HundredWishRvAdapter extends BaseRVAdapter<HundredWishBean, ItemHundredWishBinding, HundredWishRvAdapter.ViewHolder> {
+ private final Map<HundredWishBean, Boolean> expendMap = new HashMap<>();
+
public HundredWishRvAdapter(Context context) {
super(context);
}
@@ -47,53 +54,38 @@
}else {
holder.getBinding().cardView.setCardBackgroundColor(mContext.getColor(R.color.color_card_pink));
}
+ if (!expendMap.containsKey(getItem(position))){
+ expendMap.put(getItem(position),false);
+ }
+ if (Boolean.TRUE.equals(expendMap.get(getItem(position)))){
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_unfold);
+ holder.getBinding().cardView.post(() -> {
+ holder.getBinding().cardView.getLayoutParams().height = FrameLayout.LayoutParams.WRAP_CONTENT;
+ holder.getBinding().cardView.requestLayout();
+ });
+ }else{
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_fold);
+ holder.getBinding().cardView.post(() -> {
+ holder.getBinding().cardView.getLayoutParams().height = holder.getBinding().layoutTitle.getMeasuredHeight();
+ holder.getBinding().cardView.requestLayout();
+ });
+ }
holder.getBinding().layoutTitle.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
- if (holder.isExpended){
+ if (Boolean.TRUE.equals(expendMap.get(getItem(position)))){
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;
+ Utils.pullCollapse(holder.getBinding().cardView,initialHeight,collapsedHeight);
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_fold);
+ expendMap.put(getItem(position),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;
+ Utils.dropExpand(holder.getBinding().cardView,initialHeight,targetHeight);
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_unfold);
+ expendMap.put(getItem(position),true);
}
}
});
@@ -102,27 +94,15 @@
new Intent(getRecyclerView().getContext(), HundredWishDetailActivity.class)
.putExtra("bean",mDataList.get(position)));
});
-
- ImageRvAdapter adapter = new ImageRvAdapter(mContext);
+ ElectronicFileAdapter adapter = new ElectronicFileAdapter(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);
+ adapter.setData(Utils.splitString2List(mDataList.get(position).getUrl(),","));
+
+
}
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 62459b4..0c510e7 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
@@ -1,34 +1,30 @@
package com.application.zhangshi_app_android.adapter;
import android.content.Context;
-import android.media.Image;
import android.view.View;
import com.android.app_base.base.adapter.BaseRVAdapter;
import com.application.zhangshi_app_android.R;
import com.application.zhangshi_app_android.bean.FamilyMemorabiliaBean;
import com.application.zhangshi_app_android.databinding.ItemImageBinding;
-import com.application.zhangshi_app_android.ui.function.CreateFamilyProjectActivityViewModel;
+import com.application.zhangshi_app_android.ui.function.FamilyMemorabiliaDetailActivityViewModel;
import java.util.List;
/**
* @author Ljj
* @date 2023.04.01. 22:42
- * @desc
+ * @desc 鍚勮鎯匒ctivity閲岀殑鐢靛瓙鏂囦欢 Adapter
*/
public class ImageRvAdapter extends BaseRVAdapter<String, ItemImageBinding, BaseRVAdapter.BaseViewHolder<ItemImageBinding>> {
- private boolean isEdited = false;
- private CreateFamilyProjectActivityViewModel viewModel;
+ private boolean isEdited = false;//鏄惁鏄剧ず鍥炬爣,true 鏄剧ず鍑哄浘鏍囷紝false 闅愯棌鍥炬爣 (鍥炬爣涓哄垹闄ゆ椂鍏ㄩ儴鏄剧ず锛屽浘鏍囦负閫夋嫨鏃跺彧鏄剧ず閫変腑鐨勯偅涓�涓�)
+ private boolean isSelected = false;//鏄惁鍙�夋嫨,true 涓� 閫夋嫨鍥炬爣锛宖alse 涓哄垹闄ゅ浘鏍囷紝
+ private String selectPosition;//閫変腑鐨勪綅缃�
public ImageRvAdapter(Context context) {
super(context);
}
- public ImageRvAdapter(Context context, CreateFamilyProjectActivityViewModel viewModel) {
- super(context);
- this.viewModel = viewModel;
- }
@Override
protected int getLayoutId() {
return R.layout.item_image;
@@ -42,15 +38,16 @@
} else {
holder.getBinding().ivDelete.setVisibility(View.GONE);
}
- holder.getBinding().ivDelete.setOnClickListener(v -> {
- FamilyMemorabiliaBean bean = viewModel.getBeanMutableLiveData().getValue();
- if (bean!=null){
- List<String> list = bean.getUrlList();
- list.remove(position);
- bean.setUrlList(list);
- viewModel.getBeanMutableLiveData().postValue(bean);
+ if (isSelected) {
+ holder.getBinding().ivDelete.setBackgroundResource(R.drawable.ic_image_select);
+ if (selectPosition.equals(getItem(position))){
+ holder.getBinding().ivDelete.setVisibility(View.VISIBLE);
+ } else {
+ holder.getBinding().ivDelete.setVisibility(View.GONE);
}
- });
+ } else {
+ holder.getBinding().ivDelete.setBackgroundResource(R.drawable.ic_image_delete);
+ }
}
@Override
@@ -63,7 +60,17 @@
}
public void setIsEdited(boolean edited) {
- isEdited = edited;
+ this.isEdited = edited;
notifyItemRangeChanged(0,getItemCount());
}
+
+ public void setIsSelected(boolean isSelected) {
+ this.isSelected = isSelected;
+ notifyItemRangeChanged(0,getItemCount());
+ }
+ public void setSelectPosition(String selectPosition) {
+ this.selectPosition = selectPosition;
+ notifyItemRangeChanged(0,getItemCount());
+ }
+
}
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
index ce73bca..de5be0c 100644
--- 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
@@ -5,23 +5,35 @@
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.Transformation;
+import android.widget.CompoundButton;
import android.widget.FrameLayout;
import androidx.recyclerview.widget.GridLayoutManager;
+import com.android.app_base.base.BaseConfig;
import com.android.app_base.base.adapter.BaseRVAdapter;
+import com.android.app_base.base.dialog.BaseDialog;
+import com.android.app_base.base.dialog.UIDialog;
import com.android.app_base.manager.AppManager;
+import com.android.app_base.utils.Utils;
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.bean.LittleDoctorBean;
+import com.application.zhangshi_app_android.bean.TourismBean;
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.IncomeAndExpensesActivityViewModel;
import com.application.zhangshi_app_android.ui.function.IncomeAndExpensesDetailActivity;
+import com.application.zhangshi_app_android.ui.function.LittleDoctorActivityViewModel;
+import com.application.zhangshi_app_android.ui.function.LittleDoctorDetailActivity;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
/**
* @author Ljj
@@ -29,9 +41,15 @@
* @desc
*/
public class IncomeAndExpensesRvAdapter extends BaseRVAdapter<IncomeAndExpensesBean, ItemIncomeAndExpensesBinding, IncomeAndExpensesRvAdapter.ViewHolder> {
- public IncomeAndExpensesRvAdapter(Context context) {
+
+ private IncomeAndExpensesActivityViewModel viewModel;
+ private final Map<IncomeAndExpensesBean, Boolean> expendMap = new HashMap<>();
+ private boolean isCheckable;
+ public IncomeAndExpensesRvAdapter(Context context, IncomeAndExpensesActivityViewModel viewModel) {
super(context);
+ this.viewModel = viewModel;
}
+
@Override
protected int getLayoutId() {
@@ -51,82 +69,109 @@
}else {
holder.getBinding().cardView.setCardBackgroundColor(mContext.getColor(R.color.color_card_pink));
}
+ if (!expendMap.containsKey(getItem(position))){
+ expendMap.put(getItem(position),false);
+ }
+ if (Boolean.TRUE.equals(expendMap.get(getItem(position)))){
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_unfold);
+ holder.getBinding().cardView.post(() -> {
+ holder.getBinding().cardView.getLayoutParams().height = FrameLayout.LayoutParams.WRAP_CONTENT;
+ holder.getBinding().cardView.requestLayout();
+ });
+ }else{
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_fold);
+ holder.getBinding().cardView.post(() -> {
+ holder.getBinding().cardView.getLayoutParams().height = holder.getBinding().layoutTitle.getMeasuredHeight();
+ holder.getBinding().cardView.requestLayout();
+ });
+ }
+ if (isCheckable){
+ holder.getBinding().checkbox.setVisibility(View.VISIBLE);
+ holder.getBinding().checkbox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
+ @Override
+ public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
+ if (viewModel.getCheckListLiveData().getValue() == null){
+ viewModel.getCheckListLiveData().setValue(new ArrayList<>());
+ }
+ List<IncomeAndExpensesBean> list = new ArrayList<>(viewModel.getCheckListLiveData().getValue());
+ if (isChecked){
+ if (!list.contains(mDataList.get(position))){
+ list.add(mDataList.get(position));
+ }
+ }else{
+ list.remove(mDataList.get(position));
+ }
+ viewModel.getCheckListLiveData().setValue(list);
+ }
+ });
+ holder.getBinding().checkbox.setChecked(viewModel.getCheckListLiveData().getValue().contains(mDataList.get(position)));
+ }else{
+ holder.getBinding().checkbox.setVisibility(View.GONE);
+ }
holder.getBinding().layoutTitle.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
- if (holder.isExpended){
+ if (Boolean.TRUE.equals(expendMap.get(getItem(position)))){
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;
+ Utils.pullCollapse(holder.getBinding().cardView,initialHeight,collapsedHeight);
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_fold);
+ expendMap.put(getItem(position),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;
+ Utils.dropExpand(holder.getBinding().cardView,initialHeight,targetHeight);
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_unfold);
+ expendMap.put(getItem(position),true);
}
}
});
holder.getBinding().layoutContent.setOnClickListener(v -> {
AppManager.getAppManager().startActivity(
new Intent(getRecyclerView().getContext(), IncomeAndExpensesDetailActivity.class)
+ .putExtra(BaseConfig.EXTRA_TYPE,0)
.putExtra("bean",mDataList.get(position)));
});
- ImageRvAdapter adapter = new ImageRvAdapter(mContext);
+ holder.getBinding().layoutModify.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ AppManager.getAppManager().startActivity(
+ new Intent(getRecyclerView().getContext(), IncomeAndExpensesDetailActivity.class)
+ .putExtra(BaseConfig.EXTRA_TYPE,2)
+ .putExtra("bean",mDataList.get(position)));
+ }
+ });
+ holder.getBinding().layoutDelete.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ new UIDialog.Builder(mContext)
+ .setTitle("鎮ㄧ‘瀹氳鍒犻櫎璇ラ」鐩悧")
+ .setContent("椤圭洰鍒犻櫎鍚庡皢鏃犳硶鎭㈠")
+ .setConfirm("纭畾")
+ .setCancel("鍙栨秷")
+ .setListener(new UIDialog.OnListener() {
+ @Override
+ public void onConfirm(BaseDialog dialog) {
+ viewModel.deleteItem(mDataList.get(position));
+ }
+ })
+ .show();
+ }
+ });
+
+ ElectronicFileAdapter adapter = new ElectronicFileAdapter(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);
- }
+ adapter.setData(Utils.splitString2List(mDataList.get(position).getUrl(),","));
+ }
+ public void setCheckable(boolean b) {
+ isCheckable = b;
+ notifyDataSetChanged();
+ }
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
index 24e7026..9a2d6b3 100644
--- 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
@@ -3,35 +3,45 @@
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.CompoundButton;
import android.widget.FrameLayout;
import androidx.recyclerview.widget.GridLayoutManager;
+import com.android.app_base.base.BaseConfig;
import com.android.app_base.base.adapter.BaseRVAdapter;
+import com.android.app_base.base.dialog.BaseDialog;
+import com.android.app_base.base.dialog.UIDialog;
import com.android.app_base.manager.AppManager;
+import com.android.app_base.utils.Utils;
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.bean.TourismBean;
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.FamilyMemorabiliaDetailActivity;
+import com.application.zhangshi_app_android.ui.function.LittleDoctorActivityViewModel;
import com.application.zhangshi_app_android.ui.function.LittleDoctorDetailActivity;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
/**
* @author Ljj
* @date 2023.04.15. 15:06
- * @desc
+ * @desc 灏忓尰鐢� recyclerView 鐨� adapter
*/
public class LittleDoctorRvAdapter extends BaseRVAdapter<LittleDoctorBean, ItemLittleDoctorBinding, LittleDoctorRvAdapter.ViewHolder> {
- public LittleDoctorRvAdapter(Context context) {
- super(context);
- }
+ private LittleDoctorActivityViewModel viewModel;
+ private final Map<LittleDoctorBean, Boolean> expendMap = new HashMap<>();
+ private boolean isCheckable;
+ public LittleDoctorRvAdapter(Context context, LittleDoctorActivityViewModel viewModel) {
+ super(context);
+ this.viewModel = viewModel;
+ }
@Override
protected int getLayoutId() {
return R.layout.item_little_doctor;
@@ -45,87 +55,114 @@
}else {
holder.getBinding().cardView.setCardBackgroundColor(mContext.getColor(R.color.color_card_pink));
}
+ if (!expendMap.containsKey(getItem(position))){
+ expendMap.put(getItem(position),false);
+ }
+ if (Boolean.TRUE.equals(expendMap.get(getItem(position)))){
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_unfold);
+ holder.getBinding().cardView.post(() -> {
+ holder.getBinding().cardView.getLayoutParams().height = FrameLayout.LayoutParams.WRAP_CONTENT;
+ holder.getBinding().cardView.requestLayout();
+ });
+ }else{
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_fold);
+ holder.getBinding().cardView.post(() -> {
+ holder.getBinding().cardView.getLayoutParams().height = holder.getBinding().layoutTitle.getMeasuredHeight();
+ holder.getBinding().cardView.requestLayout();
+ });
+ }
+ if (isCheckable){
+ holder.getBinding().checkbox.setVisibility(View.VISIBLE);
+ holder.getBinding().checkbox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
+ @Override
+ public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
+ if (viewModel.getCheckListLiveData().getValue() == null){
+ viewModel.getCheckListLiveData().setValue(new ArrayList<>());
+ }
+ List<LittleDoctorBean> list = new ArrayList<>(viewModel.getCheckListLiveData().getValue());
+ if (isChecked){
+ if (!list.contains(mDataList.get(position))){
+ list.add(mDataList.get(position));
+ }
+ }else{
+ list.remove(mDataList.get(position));
+ }
+ viewModel.getCheckListLiveData().setValue(list);
+ }
+ });
+ holder.getBinding().checkbox.setChecked(viewModel.getCheckListLiveData().getValue().contains(mDataList.get(position)));
+ }else{
+ holder.getBinding().checkbox.setVisibility(View.GONE);
+ }
holder.getBinding().layoutTitle.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
- if (holder.isExpended){
+ if (Boolean.TRUE.equals(expendMap.get(getItem(position)))){
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;
+ Utils.pullCollapse(holder.getBinding().cardView,initialHeight,collapsedHeight);
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_fold);
+ expendMap.put(getItem(position),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;
+ Utils.dropExpand(holder.getBinding().cardView,initialHeight,targetHeight);
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_unfold);
+ expendMap.put(getItem(position),true);
}
}
});
holder.getBinding().layoutContent.setOnClickListener(v -> {
AppManager.getAppManager().startActivity(
new Intent(getRecyclerView().getContext(), LittleDoctorDetailActivity.class)
+ .putExtra(BaseConfig.EXTRA_TYPE,0)
.putExtra("bean",mDataList.get(position)));
});
+ holder.getBinding().layoutModify.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ AppManager.getAppManager().startActivity(
+ new Intent(getRecyclerView().getContext(), LittleDoctorDetailActivity.class)
+ .putExtra(BaseConfig.EXTRA_TYPE,2)
+ .putExtra("bean",mDataList.get(position)));
+ }
+ });
+ holder.getBinding().layoutDelete.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ new UIDialog.Builder(mContext)
+ .setTitle("鎮ㄧ‘瀹氳鍒犻櫎璇ラ」鐩悧")
+ .setContent("椤圭洰鍒犻櫎鍚庡皢鏃犳硶鎭㈠")
+ .setConfirm("纭畾")
+ .setCancel("鍙栨秷")
+ .setListener(new UIDialog.OnListener() {
+ @Override
+ public void onConfirm(BaseDialog dialog) {
+ viewModel.deleteItem(mDataList.get(position));
+ }
+ })
+ .show();
+ }
+ });
- ImageRvAdapter adapter = new ImageRvAdapter(mContext);
+ ElectronicFileAdapter adapter = new ElectronicFileAdapter(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);
- }
+ adapter.setData(Utils.splitString2List(mDataList.get(position).getUrl(),","));
+ }
+ public void setCheckable(boolean b) {
+ isCheckable = b;
+ notifyItemRangeChanged(0,getItemCount());
+ }
@Override
protected ViewHolder getViewHolder(ItemLittleDoctorBinding itemBind, int viewType) {
return new ViewHolder(itemBind);
}
- public static class ViewHolder extends BaseViewHolder<ItemLittleDoctorBinding>{
+ public static class ViewHolder extends BaseRVAdapter.BaseViewHolder<ItemLittleDoctorBinding>{
private boolean isExpended;
public ViewHolder(ItemLittleDoctorBinding binding) {
diff --git a/app/src/main/java/com/application/zhangshi_app_android/adapter/MemoRvAdapter.java b/app/src/main/java/com/application/zhangshi_app_android/adapter/MemoRvAdapter.java
new file mode 100644
index 0000000..419fab8
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/adapter/MemoRvAdapter.java
@@ -0,0 +1,211 @@
+package com.application.zhangshi_app_android.adapter;
+
+import android.app.Activity;
+import android.content.Context;
+import android.graphics.Color;
+import android.view.View;
+import android.widget.FrameLayout;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+
+import com.android.app_base.base.adapter.BaseRVAdapter;
+import com.android.app_base.base.dialog.BaseDialog;
+import com.android.app_base.base.dialog.UIDialog;
+import com.android.app_base.utils.ScreenSizeUtils;
+import com.android.app_base.utils.Utils;
+import com.application.zhangshi_app_android.R;
+import com.application.zhangshi_app_android.bean.MemoBean;
+import com.application.zhangshi_app_android.databinding.ItemMemoBinding;
+import com.github.gzuliyujiang.wheelpicker.DatePicker;
+import com.github.gzuliyujiang.wheelpicker.contract.OnDatePickedListener;
+import com.github.gzuliyujiang.wheelpicker.entity.DateEntity;
+import com.github.gzuliyujiang.wheelpicker.impl.UnitDateFormatter;
+import com.github.gzuliyujiang.wheelpicker.widget.DateWheelLayout;
+
+import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+
+/**
+ * @author Ljj
+ * @date 2023.06.12. 13:08
+ * @desc
+ */
+public class MemoRvAdapter extends BaseRVAdapter<MemoBean,ItemMemoBinding,BaseRVAdapter.BaseViewHolder<ItemMemoBinding>> {
+ private final Map<MemoBean, Boolean> expendMap = new HashMap<>();
+ private boolean isEdited = false;
+ private List<MemoBean> deleteList;
+ private List<MemoBean> addList;
+ private List<MemoBean> updateList;
+ public MemoRvAdapter(Context context) {
+ super(context);
+ }
+
+ @Override
+ protected int getLayoutId() {
+ return R.layout.item_memo;
+ }
+
+ @Override
+ protected void onBind(BaseViewHolder<ItemMemoBinding> holder, int position) {
+ MemoBean item = getItem(position);
+ holder.getBinding().setBean(item);
+ if (!expendMap.containsKey(getItem(position))){
+ expendMap.put(getItem(position),false);
+ }
+ if (Boolean.TRUE.equals(expendMap.get(getItem(position)))){
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_unfold);
+ holder.getBinding().cardView.post(() -> {
+ holder.getBinding().cardView.getLayoutParams().height = FrameLayout.LayoutParams.WRAP_CONTENT;
+ holder.getBinding().cardView.requestLayout();
+ });
+
+ }else{
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_fold);
+ holder.getBinding().cardView.post(() -> {
+ holder.getBinding().cardView.getLayoutParams().height = holder.getBinding().layoutTitle.getMeasuredHeight();
+ holder.getBinding().cardView.requestLayout();
+ });
+ }
+ holder.getBinding().layoutTitle.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ if (Boolean.TRUE.equals(expendMap.get(getItem(position)))){
+ int initialHeight = holder.getBinding().cardView.getMeasuredHeight();
+ int collapsedHeight = holder.getBinding().layoutTitle.getMeasuredHeight();
+ Utils.pullCollapse(holder.getBinding().cardView,initialHeight,collapsedHeight);
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_fold);
+ expendMap.put(getItem(position),false);
+ }else{
+ final int initialHeight = holder.getBinding().cardView.getMeasuredHeight();
+ holder.getBinding().etContent.setText(item.getContent());
+ int widthMeasureSpec = View.MeasureSpec.makeMeasureSpec(view.getWidth(), View.MeasureSpec.EXACTLY);
+ int heightMeasureSpec = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED);
+ holder.getBinding().cardView.measure(widthMeasureSpec, heightMeasureSpec);
+ int targetHeight = holder.getBinding().cardView.getMeasuredHeight();
+ Utils.dropExpand(holder.getBinding().cardView,initialHeight,targetHeight);
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_unfold);
+ expendMap.put(getItem(position),true);
+ }
+ }
+ });
+ if (isEdited) {
+ holder.getBinding().ivDelete.setVisibility(View.VISIBLE);
+ holder.getBinding().etContent.setEnabled(true);
+ holder.getBinding().viewLine.setVisibility(View.VISIBLE);
+ holder.getBinding().tvDate.setClickable(true);
+ holder.getBinding().ivDelete.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ new UIDialog.Builder(mContext)
+ .setTitle("鎮ㄧ‘瀹氳鍒犻櫎椤圭洰鍚�")
+ .setContent("椤圭洰鍒犻櫎鍚庡皢鏃犳硶鎭㈠")
+ .setConfirm("纭畾")
+ .setCancel("鍙栨秷")
+ .setListener(new UIDialog.OnListener() {
+ @Override
+ public void onConfirm(BaseDialog dialog) {
+ removeItem(item);
+ if (deleteList == null) {
+ deleteList = new ArrayList<>();
+ }
+ deleteList.add(item);
+ }
+ })
+ .show();
+ }
+ });
+ holder.getBinding().tvDate.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ DatePicker datePicker = getDatePicker();
+ datePicker.setOnDatePickedListener(new OnDatePickedListener() {
+ @Override
+ public void onDatePicked(int year, int month, int day) {
+ holder.getBinding().tvDate.setText(String.format(Locale.CHINA,"%d-%02d-%02d", year, month, day));
+ }
+ });
+ datePicker.show();
+ }
+ });
+ } else {
+ holder.getBinding().ivDelete.setVisibility(View.GONE);
+ holder.getBinding().etContent.setEnabled(false);
+ holder.getBinding().viewLine.setVisibility(View.GONE);
+ holder.getBinding().tvDate.setClickable(false);
+ }
+ }
+
+ @Override
+ protected BaseViewHolder<ItemMemoBinding> getViewHolder(ItemMemoBinding itemBind, int viewType) {
+ return new BaseViewHolder<ItemMemoBinding>(itemBind);
+ }
+
+ public void setFold(boolean isFold,int position){
+ expendMap.put(getItem(position),isFold);
+ notifyItemChanged(position);
+ }
+ public List<MemoBean> getDeleteList() {
+ return deleteList;
+ }
+
+ public List<MemoBean> getAddList() {
+ return addList;
+ }
+
+ public List<MemoBean> getUpdateList() {
+ return updateList;
+ }
+
+ public void setEdited(boolean edited) {
+ isEdited = edited;
+ notifyDataSetChanged();
+ }
+
+ @Override
+ public void addItem(int position, @NonNull MemoBean item) {
+ super.addItem(position, item);
+ if (addList == null) {
+ addList = new ArrayList<>();
+ }
+ addList.add(item);
+ }
+
+ @Override
+ public void setData(@Nullable List<MemoBean> data) {
+ super.setData(data);
+ for (MemoBean datum : data) {
+ if (updateList == null) {
+ updateList = new ArrayList<>();
+ }
+ updateList.add(datum);
+ }
+ }
+
+ private DatePicker getDatePicker(){
+ com.github.gzuliyujiang.wheelpicker.DatePicker datePicker = new DatePicker((Activity) mContext);
+ DateWheelLayout wheelLayout = datePicker.getWheelLayout();
+ wheelLayout.getMonthWheelView().setCurtainCorner(0);//鑳屾櫙鏃犲渾瑙�
+ wheelLayout.getDayWheelView().setCurtainCorner(5);//鑳屾櫙鍙宠竟鏈夊渾瑙�
+ wheelLayout.getYearWheelView().setCurtainCorner(4);//鑳屾櫙宸﹁竟鏈夊渾瑙�
+ wheelLayout.setDateFormatter(new UnitDateFormatter());
+ wheelLayout.setPadding(50, 0, 50, 0);
+ wheelLayout.setItemSpace(ScreenSizeUtils.dip2px(mContext, 20));
+ wheelLayout.setCurtainEnabled(true);
+ wheelLayout.setCurtainColor(Color.parseColor("#4D2F63F8"));
+ wheelLayout.setCurtainRadius(ScreenSizeUtils.dip2px(mContext,4));
+ wheelLayout.setSelectedTextColor(Color.parseColor("#FF2F63F8"));
+ wheelLayout.setTextColor(Color.parseColor("#FF999999"));
+ wheelLayout.setIndicatorEnabled(false);
+ //鏃ユ湡鍙�夎寖鍥�
+ wheelLayout.setRange(DateEntity.target(1900, 1, 1), DateEntity.target(2500, 12, 31),DateEntity.target(Calendar.getInstance()));
+ datePicker.getWheelLayout().setResetWhenLinkage(false);
+ return datePicker;
+ }
+
+
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/adapter/OldSpouseRvAdapter.java b/app/src/main/java/com/application/zhangshi_app_android/adapter/OldSpouseRvAdapter.java
new file mode 100644
index 0000000..0941453
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/adapter/OldSpouseRvAdapter.java
@@ -0,0 +1,36 @@
+package com.application.zhangshi_app_android.adapter;
+
+import android.content.Context;
+
+import com.android.app_base.base.adapter.BaseRVAdapter;
+import com.application.zhangshi_app_android.R;
+import com.application.zhangshi_app_android.bean.MarriageInfoBean;
+import com.application.zhangshi_app_android.databinding.ItemConsumeRecordBinding;
+import com.application.zhangshi_app_android.databinding.ItemOldSpouseBinding;
+
+/**
+ * @author Ljj
+ * @date 2023.05.23. 19:02
+ * @desc 涓汉濠氬Щ閲� 鍓嶄换 鍒楄〃Adapter
+ */
+public class OldSpouseRvAdapter extends BaseRVAdapter<MarriageInfoBean.OldSpouseBean, ItemOldSpouseBinding, BaseRVAdapter.BaseViewHolder<ItemOldSpouseBinding>> {
+ public OldSpouseRvAdapter(Context context) {
+ super(context);
+ }
+
+ @Override
+ protected int getLayoutId() {
+ return R.layout.item_old_spouse;
+ }
+
+ @Override
+ protected void onBind(BaseViewHolder<ItemOldSpouseBinding> holder, int position) {
+ holder.getBinding().setBean(getItem(position));
+ }
+
+
+ @Override
+ protected BaseViewHolder<ItemOldSpouseBinding> getViewHolder(ItemOldSpouseBinding itemBind, int viewType) {
+ return new BaseViewHolder<>(itemBind);
+ }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/adapter/PersonalNotepadRvAdapter.java b/app/src/main/java/com/application/zhangshi_app_android/adapter/PersonalNotepadRvAdapter.java
index 2aa6439..629d4f3 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/adapter/PersonalNotepadRvAdapter.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/adapter/PersonalNotepadRvAdapter.java
@@ -3,22 +3,28 @@
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.CompoundButton;
import android.widget.FrameLayout;
import androidx.recyclerview.widget.GridLayoutManager;
+import com.android.app_base.base.BaseConfig;
import com.android.app_base.base.adapter.BaseRVAdapter;
+import com.android.app_base.base.dialog.BaseDialog;
+import com.android.app_base.base.dialog.UIDialog;
import com.android.app_base.manager.AppManager;
+import com.android.app_base.utils.Utils;
import com.application.zhangshi_app_android.R;
import com.application.zhangshi_app_android.bean.PersonalNotepadBean;
+import com.application.zhangshi_app_android.bean.TourismBean;
import com.application.zhangshi_app_android.databinding.ItemPersonalNotepadBinding;
+import com.application.zhangshi_app_android.ui.function.PersonalNotepadActivityViewModel;
import com.application.zhangshi_app_android.ui.function.PersonalNotepadDetailActivity;
import java.util.ArrayList;
-import java.util.Arrays;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
/**
* @author Ljj
@@ -26,8 +32,13 @@
* @desc
*/
public class PersonalNotepadRvAdapter extends BaseRVAdapter<PersonalNotepadBean, ItemPersonalNotepadBinding, PersonalNotepadRvAdapter.ViewHolder> {
- public PersonalNotepadRvAdapter(Context context) {
+ private PersonalNotepadActivityViewModel viewModel;
+ private final Map<PersonalNotepadBean, Boolean> expendMap = new HashMap<>();
+
+ private boolean isCheckable;
+ public PersonalNotepadRvAdapter(Context context, PersonalNotepadActivityViewModel viewModel) {
super(context);
+ this.viewModel = viewModel;
}
@Override
@@ -48,82 +59,108 @@
}else {
holder.getBinding().cardView.setCardBackgroundColor(mContext.getColor(R.color.color_card_pink));
}
+ if (!expendMap.containsKey(getItem(position))){
+ expendMap.put(getItem(position),false);
+ }
+ if (Boolean.TRUE.equals(expendMap.get(getItem(position)))){
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_unfold);
+ holder.getBinding().cardView.post(() -> {
+ holder.getBinding().cardView.getLayoutParams().height = FrameLayout.LayoutParams.WRAP_CONTENT;
+ holder.getBinding().cardView.requestLayout();
+ });
+ }else{
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_fold);
+ holder.getBinding().cardView.post(() -> {
+ holder.getBinding().cardView.getLayoutParams().height = holder.getBinding().layoutTitle.getMeasuredHeight();
+ holder.getBinding().cardView.requestLayout();
+ });
+ }
+ if (isCheckable){
+ holder.getBinding().checkbox.setVisibility(View.VISIBLE);
+ holder.getBinding().checkbox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
+ @Override
+ public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
+ if (viewModel.getCheckListLiveData().getValue() == null){
+ viewModel.getCheckListLiveData().setValue(new ArrayList<>());
+ }
+ List<PersonalNotepadBean> list = new ArrayList<>(viewModel.getCheckListLiveData().getValue());
+ if (isChecked){
+ if (!list.contains(mDataList.get(position))){
+ list.add(mDataList.get(position));
+ }
+ }else{
+ list.remove(mDataList.get(position));
+ }
+ viewModel.getCheckListLiveData().setValue(list);
+ }
+ });
+ holder.getBinding().checkbox.setChecked(viewModel.getCheckListLiveData().getValue().contains(mDataList.get(position)));
+ }else{
+ holder.getBinding().checkbox.setVisibility(View.GONE);
+ }
holder.getBinding().layoutTitle.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
- if (holder.isExpended){
+ if (Boolean.TRUE.equals(expendMap.get(getItem(position)))){
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;
+ Utils.pullCollapse(holder.getBinding().cardView,initialHeight,collapsedHeight);
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_fold);
+ expendMap.put(getItem(position),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;
+ Utils.dropExpand(holder.getBinding().cardView,initialHeight,targetHeight);
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_unfold);
+ expendMap.put(getItem(position),true);
}
}
});
holder.getBinding().layoutContent.setOnClickListener(v -> {
AppManager.getAppManager().startActivity(
new Intent(getRecyclerView().getContext(), PersonalNotepadDetailActivity.class)
+ .putExtra(BaseConfig.EXTRA_TYPE,0)
.putExtra("bean",mDataList.get(position)));
});
- ImageRvAdapter adapter = new ImageRvAdapter(mContext);
+ holder.getBinding().layoutModify.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ AppManager.getAppManager().startActivity(
+ new Intent(getRecyclerView().getContext(), PersonalNotepadDetailActivity.class)
+ .putExtra(BaseConfig.EXTRA_TYPE,2)
+ .putExtra("bean",mDataList.get(position)));
+ }
+ });
+ holder.getBinding().layoutDelete.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ new UIDialog.Builder(mContext)
+ .setTitle("鎮ㄧ‘瀹氳鍒犻櫎璇ラ」鐩悧")
+ .setContent("椤圭洰鍒犻櫎鍚庡皢鏃犳硶鎭㈠")
+ .setConfirm("纭畾")
+ .setCancel("鍙栨秷")
+ .setListener(new UIDialog.OnListener() {
+ @Override
+ public void onConfirm(BaseDialog dialog) {
+ viewModel.deleteItem(mDataList.get(position));
+ }
+ })
+ .show();
+ }
+ });
+
+ ElectronicFileAdapter adapter = new ElectronicFileAdapter(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);
+ adapter.setData(Utils.splitString2List(mDataList.get(position).getUrl(),","));
}
-
+ public void setCheckable(boolean b) {
+ isCheckable = b;
+ notifyDataSetChanged();
+ }
public static class ViewHolder extends BaseRVAdapter.BaseViewHolder<ItemPersonalNotepadBinding> {
- private boolean isExpended;
public ViewHolder(ItemPersonalNotepadBinding binding) {
super(binding);
diff --git a/app/src/main/java/com/application/zhangshi_app_android/adapter/PetImageRvAdapter.java b/app/src/main/java/com/application/zhangshi_app_android/adapter/PetImageRvAdapter.java
index ecbaf30..fae77e1 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/adapter/PetImageRvAdapter.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/adapter/PetImageRvAdapter.java
@@ -32,8 +32,7 @@
@Override
public void onClick(View v) {
BigImageDialog.Builder builder = new BigImageDialog.Builder(mContext);
-// builder.setBigImage(mDataList.get(position));
- builder.setBigImage(R.drawable.img_sakura);
+ builder.setBigImage(mDataList.get(position));
builder.show();
}
});
diff --git a/app/src/main/java/com/application/zhangshi_app_android/adapter/PetMemoRvAdapter.java b/app/src/main/java/com/application/zhangshi_app_android/adapter/PetMemoRvAdapter.java
index 2957a4a..1ba24b5 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/adapter/PetMemoRvAdapter.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/adapter/PetMemoRvAdapter.java
@@ -11,15 +11,20 @@
import com.android.app_base.base.adapter.BaseRVAdapter;
import com.android.app_base.manager.AppManager;
+import com.android.app_base.utils.Utils;
import com.application.zhangshi_app_android.R;
import com.application.zhangshi_app_android.bean.PetMemoBean;
+import com.application.zhangshi_app_android.bean.TourismBean;
import com.application.zhangshi_app_android.databinding.ItemPetMemoBinding;
import com.application.zhangshi_app_android.ui.function.CleanStorageDetailActivity;
+import com.application.zhangshi_app_android.ui.function.HundredWishDetailActivity;
import com.application.zhangshi_app_android.ui.function.PetMemoDetailActivity;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
/**
* @author Ljj
@@ -27,6 +32,8 @@
* @desc
*/
public class PetMemoRvAdapter extends BaseRVAdapter<PetMemoBean, ItemPetMemoBinding, PetMemoRvAdapter.ViewHolder> {
+ private final Map<PetMemoBean, Boolean> expendMap = new HashMap<>();
+
public PetMemoRvAdapter(Context context) {
super(context);
}
@@ -49,53 +56,38 @@
}else {
holder.getBinding().cardView.setCardBackgroundColor(mContext.getColor(R.color.color_card_pink));
}
+ if (!expendMap.containsKey(getItem(position))){
+ expendMap.put(getItem(position),false);
+ }
+ if (Boolean.TRUE.equals(expendMap.get(getItem(position)))){
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_unfold);
+ holder.getBinding().cardView.post(() -> {
+ holder.getBinding().cardView.getLayoutParams().height = FrameLayout.LayoutParams.WRAP_CONTENT;
+ holder.getBinding().cardView.requestLayout();
+ });
+ }else{
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_fold);
+ holder.getBinding().cardView.post(() -> {
+ holder.getBinding().cardView.getLayoutParams().height = holder.getBinding().layoutTitle.getMeasuredHeight();
+ holder.getBinding().cardView.requestLayout();
+ });
+ }
holder.getBinding().layoutTitle.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
- if (holder.isExpended){
+ if (Boolean.TRUE.equals(expendMap.get(getItem(position)))){
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;
+ Utils.pullCollapse(holder.getBinding().cardView,initialHeight,collapsedHeight);
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_fold);
+ expendMap.put(getItem(position),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;
+ Utils.dropExpand(holder.getBinding().cardView,initialHeight,targetHeight);
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_unfold);
+ expendMap.put(getItem(position),true);
}
}
});
@@ -104,29 +96,16 @@
new Intent(getRecyclerView().getContext(), PetMemoDetailActivity.class)
.putExtra("bean",mDataList.get(position)));
});
-
- ImageRvAdapter adapter = new ImageRvAdapter(mContext);
+ ElectronicFileAdapter adapter = new ElectronicFileAdapter(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);
+ adapter.setData(Utils.splitString2List(mDataList.get(position).getUrl(),","));
+
+
}
public static class ViewHolder extends BaseRVAdapter.BaseViewHolder<ItemPetMemoBinding> {
- private boolean isExpended;
-
public ViewHolder(ItemPetMemoBinding 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..0985e7b
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/adapter/PetRvAdapter.java
@@ -0,0 +1,51 @@
+package com.application.zhangshi_app_android.adapter;
+
+import android.content.Context;
+import android.content.Intent;
+
+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.PetBean;
+import com.application.zhangshi_app_android.databinding.ItemPetBinding;
+import com.application.zhangshi_app_android.ui.function.FamilyAssetsDetailActivity;
+import com.application.zhangshi_app_android.ui.function.PetActivity;
+import com.application.zhangshi_app_android.ui.function.PetDetailActivity;
+
+/**
+ * @author Ljj
+ * @date 2023.05.22. 23:04
+ * @desc
+ */
+public class PetRvAdapter extends BaseRVAdapter<PetBean, ItemPetBinding,BaseRVAdapter.BaseViewHolder<ItemPetBinding>> {
+
+
+ public PetRvAdapter(Context context) {
+ super(context);
+ }
+
+ @Override
+ protected int getLayoutId() {
+ return R.layout.item_pet;
+ }
+
+ @Override
+ protected void onBind(BaseViewHolder<ItemPetBinding> 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(v -> {
+ AppManager.getAppManager().startActivity(
+ new Intent(mContext, PetDetailActivity.class)
+ .putExtra("bean",mDataList.get(position)));
+ });
+ }
+
+ @Override
+ protected BaseViewHolder<ItemPetBinding> getViewHolder(ItemPetBinding itemBind, int viewType) {
+ return new BaseViewHolder<ItemPetBinding>(itemBind);
+ }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/adapter/PrivacyRvAdapter.java b/app/src/main/java/com/application/zhangshi_app_android/adapter/PrivacyRvAdapter.java
index bcfc0e9..3b6a2c4 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/adapter/PrivacyRvAdapter.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/adapter/PrivacyRvAdapter.java
@@ -11,14 +11,18 @@
import com.android.app_base.base.adapter.BaseRVAdapter;
import com.android.app_base.manager.AppManager;
+import com.android.app_base.utils.Utils;
import com.application.zhangshi_app_android.R;
import com.application.zhangshi_app_android.bean.PrivacyBean;
+import com.application.zhangshi_app_android.bean.TourismBean;
import com.application.zhangshi_app_android.databinding.ItemPrivacyBinding;
import com.application.zhangshi_app_android.ui.function.PrivacyDetailActivity;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
/**
* @author Ljj
@@ -26,6 +30,8 @@
* @desc
*/
public class PrivacyRvAdapter extends BaseRVAdapter<PrivacyBean, ItemPrivacyBinding, PrivacyRvAdapter.ViewHolder> {
+ private final Map<PrivacyBean, Boolean> expendMap = new HashMap<>();
+
public PrivacyRvAdapter(Context context) {
super(context);
}
@@ -48,53 +54,38 @@
}else {
holder.getBinding().cardView.setCardBackgroundColor(mContext.getColor(R.color.color_card_pink));
}
+ if (!expendMap.containsKey(getItem(position))){
+ expendMap.put(getItem(position),false);
+ }
+ if (Boolean.TRUE.equals(expendMap.get(getItem(position)))){
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_unfold);
+ holder.getBinding().cardView.post(() -> {
+ holder.getBinding().cardView.getLayoutParams().height = FrameLayout.LayoutParams.WRAP_CONTENT;
+ holder.getBinding().cardView.requestLayout();
+ });
+ }else{
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_fold);
+ holder.getBinding().cardView.post(() -> {
+ holder.getBinding().cardView.getLayoutParams().height = holder.getBinding().layoutTitle.getMeasuredHeight();
+ holder.getBinding().cardView.requestLayout();
+ });
+ }
holder.getBinding().layoutTitle.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
- if (holder.isExpended){
+ if (Boolean.TRUE.equals(expendMap.get(getItem(position)))){
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;
+ Utils.pullCollapse(holder.getBinding().cardView,initialHeight,collapsedHeight);
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_fold);
+ expendMap.put(getItem(position),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;
+ Utils.dropExpand(holder.getBinding().cardView,initialHeight,targetHeight);
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_unfold);
+ expendMap.put(getItem(position),true);
}
}
});
@@ -104,27 +95,14 @@
.putExtra("bean",mDataList.get(position)));
});
- ImageRvAdapter adapter = new ImageRvAdapter(mContext);
+ ElectronicFileAdapter adapter = new ElectronicFileAdapter(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);
+ adapter.setData(Utils.splitString2List(mDataList.get(position).getUrl(),","));
+
}
public static class ViewHolder extends BaseRVAdapter.BaseViewHolder<ItemPrivacyBinding> {
- private boolean isExpended;
-
public ViewHolder(ItemPrivacyBinding 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
index 38c457d..6f38389 100644
--- 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
@@ -11,16 +11,21 @@
import com.android.app_base.base.adapter.BaseRVAdapter;
import com.android.app_base.manager.AppManager;
+import com.android.app_base.utils.Utils;
import com.application.zhangshi_app_android.R;
import com.application.zhangshi_app_android.bean.PropertyBean;
+import com.application.zhangshi_app_android.bean.TourismBean;
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.FamilyAssetsDetailActivity;
import com.application.zhangshi_app_android.ui.function.PropertyDetailActivity;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
/**
* @author Ljj
@@ -28,6 +33,8 @@
* @desc 涓汉璐骇 Adapter
*/
public class PropertyRvAdapter extends BaseRVAdapter<PropertyBean, ItemPropertyBinding, PropertyRvAdapter.ViewHolder> {
+ private final Map<PropertyBean, Boolean> expendMap = new HashMap<>();
+
public PropertyRvAdapter(Context context) {
super(context);
}
@@ -50,53 +57,38 @@
}else {
holder.getBinding().cardView.setCardBackgroundColor(mContext.getColor(R.color.color_card_pink));
}
+ if (!expendMap.containsKey(getItem(position))){
+ expendMap.put(getItem(position),false);
+ }
+ if (Boolean.TRUE.equals(expendMap.get(getItem(position)))){
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_unfold);
+ holder.getBinding().cardView.post(() -> {
+ holder.getBinding().cardView.getLayoutParams().height = FrameLayout.LayoutParams.WRAP_CONTENT;
+ holder.getBinding().cardView.requestLayout();
+ });
+ }else{
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_fold);
+ holder.getBinding().cardView.post(() -> {
+ holder.getBinding().cardView.getLayoutParams().height = holder.getBinding().layoutTitle.getMeasuredHeight();
+ holder.getBinding().cardView.requestLayout();
+ });
+ }
holder.getBinding().layoutTitle.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
- if (holder.isExpended){
+ if (Boolean.TRUE.equals(expendMap.get(getItem(position)))){
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;
+ Utils.pullCollapse(holder.getBinding().cardView,initialHeight,collapsedHeight);
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_fold);
+ expendMap.put(getItem(position),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;
+ Utils.dropExpand(holder.getBinding().cardView,initialHeight,targetHeight);
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_unfold);
+ expendMap.put(getItem(position),true);
}
}
});
@@ -105,23 +97,11 @@
new Intent(getRecyclerView().getContext(), PropertyDetailActivity.class)
.putExtra("bean",mDataList.get(position)));
});
-
- ImageRvAdapter adapter = new ImageRvAdapter(mContext);
+ ElectronicFileAdapter adapter = new ElectronicFileAdapter(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);
+ adapter.setData(Utils.splitString2List(mDataList.get(position).getUrl(),","));
+
}
public static class ViewHolder extends BaseRVAdapter.BaseViewHolder<ItemPropertyBinding> {
diff --git a/app/src/main/java/com/application/zhangshi_app_android/adapter/TourismExperienceRvAdapter.java b/app/src/main/java/com/application/zhangshi_app_android/adapter/TourismExperienceRvAdapter.java
index aabf71d..119ff3c 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/adapter/TourismExperienceRvAdapter.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/adapter/TourismExperienceRvAdapter.java
@@ -5,22 +5,34 @@
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.Transformation;
+import android.widget.CompoundButton;
import android.widget.FrameLayout;
import androidx.recyclerview.widget.GridLayoutManager;
+import com.android.app_base.base.BaseConfig;
import com.android.app_base.base.adapter.BaseRVAdapter;
+import com.android.app_base.base.dialog.BaseDialog;
+import com.android.app_base.base.dialog.UIDialog;
import com.android.app_base.manager.AppManager;
+import com.android.app_base.utils.Utils;
import com.application.zhangshi_app_android.R;
+import com.application.zhangshi_app_android.bean.IncomeAndExpensesBean;
+import com.application.zhangshi_app_android.bean.TourismBean;
import com.application.zhangshi_app_android.bean.TourismExperienceBean;
import com.application.zhangshi_app_android.databinding.ItemPropertyBinding;
import com.application.zhangshi_app_android.databinding.ItemTourismExperienceBinding;
+import com.application.zhangshi_app_android.ui.function.IncomeAndExpensesActivityViewModel;
+import com.application.zhangshi_app_android.ui.function.IncomeAndExpensesDetailActivity;
import com.application.zhangshi_app_android.ui.function.PropertyDetailActivity;
+import com.application.zhangshi_app_android.ui.function.TourismExperienceActivityViewModel;
import com.application.zhangshi_app_android.ui.function.TourismExperienceDetailActivity;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
/**
* @author Ljj
@@ -28,10 +40,15 @@
* @desc
*/
public class TourismExperienceRvAdapter extends BaseRVAdapter<TourismExperienceBean, ItemTourismExperienceBinding, TourismExperienceRvAdapter.ViewHolder> {
- public TourismExperienceRvAdapter(Context context) {
- super(context);
- }
+ private final Map<TourismExperienceBean, Boolean> expendMap = new HashMap<>();
+ private TourismExperienceActivityViewModel viewModel;
+ private boolean isCheckable;
+
+ public TourismExperienceRvAdapter(Context context, TourismExperienceActivityViewModel viewModel) {
+ super(context);
+ this.viewModel = viewModel;
+ }
@Override
protected int getLayoutId() {
return R.layout.item_tourism_experience;
@@ -50,53 +67,61 @@
} else {
holder.getBinding().cardView.setCardBackgroundColor(mContext.getColor(R.color.color_card_pink));
}
+ if (!expendMap.containsKey(getItem(position))){
+ expendMap.put(getItem(position),false);
+ }
+ if (Boolean.TRUE.equals(expendMap.get(getItem(position)))){
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_unfold);
+ holder.getBinding().cardView.post(() -> {
+ holder.getBinding().cardView.getLayoutParams().height = FrameLayout.LayoutParams.WRAP_CONTENT;
+ holder.getBinding().cardView.requestLayout();
+ });
+ }else{
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_fold);
+ holder.getBinding().cardView.post(() -> {
+ holder.getBinding().cardView.getLayoutParams().height = holder.getBinding().layoutTitle.getMeasuredHeight();
+ holder.getBinding().cardView.requestLayout();
+ });
+ }
+ if (isCheckable){
+ holder.getBinding().checkbox.setVisibility(View.VISIBLE);
+ holder.getBinding().checkbox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
+ @Override
+ public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
+ if (viewModel.getCheckListLiveData().getValue() == null){
+ viewModel.getCheckListLiveData().setValue(new ArrayList<>());
+ }
+ List<TourismExperienceBean> list = new ArrayList<>(viewModel.getCheckListLiveData().getValue());
+ if (isChecked){
+ if (!list.contains(mDataList.get(position))){
+ list.add(mDataList.get(position));
+ }
+ }else{
+ list.remove(mDataList.get(position));
+ }
+ viewModel.getCheckListLiveData().setValue(list);
+ }
+ });
+ holder.getBinding().checkbox.setChecked(viewModel.getCheckListLiveData().getValue().contains(mDataList.get(position)));
+ }else{
+ holder.getBinding().checkbox.setVisibility(View.GONE);
+ }
holder.getBinding().layoutTitle.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
- if (holder.isExpended) {
+ if (Boolean.TRUE.equals(expendMap.get(getItem(position)))){
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 {
+ Utils.pullCollapse(holder.getBinding().cardView,initialHeight,collapsedHeight);
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_fold);
+ expendMap.put(getItem(position),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;
+ Utils.dropExpand(holder.getBinding().cardView,initialHeight,targetHeight);
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_unfold);
+ expendMap.put(getItem(position),true);
}
}
});
@@ -105,28 +130,44 @@
new Intent(getRecyclerView().getContext(), TourismExperienceDetailActivity.class)
.putExtra("bean", mDataList.get(position)));
});
+ holder.getBinding().layoutModify.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ AppManager.getAppManager().startActivity(
+ new Intent(getRecyclerView().getContext(), IncomeAndExpensesDetailActivity.class)
+ .putExtra(BaseConfig.EXTRA_TYPE,2)
+ .putExtra("bean",mDataList.get(position)));
+ }
+ });
+ holder.getBinding().layoutDelete.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ new UIDialog.Builder(mContext)
+ .setTitle("鎮ㄧ‘瀹氳鍒犻櫎璇ラ」鐩悧")
+ .setContent("椤圭洰鍒犻櫎鍚庡皢鏃犳硶鎭㈠")
+ .setConfirm("纭畾")
+ .setCancel("鍙栨秷")
+ .setListener(new UIDialog.OnListener() {
+ @Override
+ public void onConfirm(BaseDialog dialog) {
+ viewModel.deleteItem(mDataList.get(position));
+ }
+ })
+ .show();
+ }
+ });
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);
+ adapter.setData(Utils.splitString2List(mDataList.get(position).getUrl(),","));
+
}
-
+ public void setCheckable(boolean b) {
+ isCheckable = b;
+ notifyDataSetChanged();
+ }
public static class ViewHolder extends BaseRVAdapter.BaseViewHolder<ItemTourismExperienceBinding> {
- private boolean isExpended;
-
public ViewHolder(ItemTourismExperienceBinding binding) {
super(binding);
}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/adapter/TourismRvAdapter.java b/app/src/main/java/com/application/zhangshi_app_android/adapter/TourismRvAdapter.java
index 6ab1686..5e1ab0c 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/adapter/TourismRvAdapter.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/adapter/TourismRvAdapter.java
@@ -3,31 +3,50 @@
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.CompoundButton;
import android.widget.FrameLayout;
+import androidx.recyclerview.widget.GridLayoutManager;
+
+import com.android.app_base.base.BaseConfig;
import com.android.app_base.base.adapter.BaseRVAdapter;
+import com.android.app_base.base.dialog.BaseDialog;
+import com.android.app_base.base.dialog.UIDialog;
import com.android.app_base.manager.AppManager;
+import com.android.app_base.utils.Utils;
import com.application.zhangshi_app_android.R;
+import com.application.zhangshi_app_android.bean.DailyConsumeRecordBean;
+import com.application.zhangshi_app_android.bean.FamilyMemorabiliaBean;
import com.application.zhangshi_app_android.bean.TourismBean;
+import com.application.zhangshi_app_android.databinding.ItemFamilyMemorabiliaBinding;
import com.application.zhangshi_app_android.databinding.ItemTourismBinding;
+import com.application.zhangshi_app_android.ui.function.FamilyMemorabiliaActivityViewModel;
+import com.application.zhangshi_app_android.ui.function.FamilyMemorabiliaDetailActivity;
+import com.application.zhangshi_app_android.ui.function.TourismActivityViewModel;
import com.application.zhangshi_app_android.ui.function.TourismDetailActivity;
import com.application.zhangshi_app_android.ui.function.TourismExperienceActivity;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
/**
* @author Ljj
* @date 2023.04.28. 21:18
- * @desc
+ * @desc 鏃呮父缁忓巻鍒楄〃 Adapter
*/
public class TourismRvAdapter extends BaseRVAdapter<TourismBean, ItemTourismBinding, TourismRvAdapter.ViewHolder> {
- public TourismRvAdapter(Context context) {
- super(context);
- }
+ private final TourismActivityViewModel viewModel;
+ private boolean isCheckable;
+ private final Map<TourismBean, Boolean> expendMap = new HashMap<>();
+ public TourismRvAdapter(Context context, TourismActivityViewModel viewModel) {
+ super(context);
+ this.viewModel = viewModel;
+ }
@Override
protected int getLayoutId() {
return R.layout.item_tourism;
@@ -46,76 +65,116 @@
}else {
holder.getBinding().cardView.setCardBackgroundColor(mContext.getColor(R.color.color_card_pink));
}
+ if (!expendMap.containsKey(getItem(position))){
+ expendMap.put(getItem(position),false);
+ }
+ if (Boolean.TRUE.equals(expendMap.get(getItem(position)))){
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_unfold);
+ holder.getBinding().cardView.post(() -> {
+ holder.getBinding().cardView.getLayoutParams().height = FrameLayout.LayoutParams.WRAP_CONTENT;
+ holder.getBinding().cardView.requestLayout();
+ });
+ }else{
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_fold);
+ holder.getBinding().cardView.post(() -> {
+ holder.getBinding().cardView.getLayoutParams().height = holder.getBinding().layoutTitle.getMeasuredHeight();
+ holder.getBinding().cardView.requestLayout();
+ });
+ }
+ if (isCheckable){
+ holder.getBinding().checkbox.setVisibility(View.VISIBLE);
+ holder.getBinding().checkbox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
+ @Override
+ public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
+ if (viewModel.getCheckListLiveData().getValue() == null){
+ viewModel.getCheckListLiveData().setValue(new ArrayList<>());
+ }
+ List<TourismBean> list = new ArrayList<>(viewModel.getCheckListLiveData().getValue());
+ if (isChecked){
+ if (!list.contains(mDataList.get(position))){
+ list.add(mDataList.get(position));
+ }
+ }else{
+ list.remove(mDataList.get(position));
+ }
+ viewModel.getCheckListLiveData().setValue(list);
+ }
+ });
+ holder.getBinding().checkbox.setChecked(viewModel.getCheckListLiveData().getValue().contains(mDataList.get(position)));
+ }else{
+ holder.getBinding().checkbox.setVisibility(View.GONE);
+ }
holder.getBinding().layoutTitle.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
- if (holder.isExpended){
+ if (Boolean.TRUE.equals(expendMap.get(getItem(position)))){
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;
+ Utils.pullCollapse(holder.getBinding().cardView,initialHeight,collapsedHeight);
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_fold);
+ expendMap.put(getItem(position),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;
+ Utils.dropExpand(holder.getBinding().cardView,initialHeight,targetHeight);
+ holder.getBinding().ivFold.setBackgroundResource(R.drawable.ic_unfold);
+ expendMap.put(getItem(position),true);
}
}
});
- holder.getBinding().layoutContent.setOnClickListener(v -> {
- AppManager.getAppManager().startActivity(
- new Intent(getRecyclerView().getContext(), TourismDetailActivity.class)
- .putExtra("bean",mDataList.get(position)));
+ holder.itemView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ AppManager.getAppManager().startActivity(
+ new Intent(getRecyclerView().getContext(), TourismDetailActivity.class)
+ .putExtra(BaseConfig.EXTRA_TYPE,0)
+ .putExtra("bean",mDataList.get(position)));
+ }
});
-
+ holder.getBinding().layoutModify.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ AppManager.getAppManager().startActivity(
+ new Intent(getRecyclerView().getContext(), TourismDetailActivity.class)
+ .putExtra(BaseConfig.EXTRA_TYPE,2)
+ .putExtra("bean",mDataList.get(position)));
+ }
+ });
+ holder.getBinding().layoutDelete.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ new UIDialog.Builder(mContext)
+ .setTitle("鎮ㄧ‘瀹氳鍒犻櫎璇ラ」鐩悧")
+ .setContent("椤圭洰鍒犻櫎鍚庡皢鏃犳硶鎭㈠")
+ .setConfirm("纭畾")
+ .setCancel("鍙栨秷")
+ .setListener(new UIDialog.OnListener() {
+ @Override
+ public void onConfirm(BaseDialog dialog) {
+ viewModel.deleteItem(mDataList.get(position));
+ }
+ })
+ .show();
+ }
+ });
holder.getBinding().tvDetail.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
AppManager.getAppManager().startActivity(
new Intent(getRecyclerView().getContext(), TourismExperienceActivity.class)
- .putExtra("bean",mDataList.get(position)));
+ .putExtra("id",mDataList.get(position).getId()));
}
});
-
}
- public static class ViewHolder extends BaseRVAdapter.BaseViewHolder<ItemTourismBinding> {
- private boolean isExpended;
+ public void setCheckable(boolean b) {
+ isCheckable = b;
+ notifyItemRangeChanged(0,getItemCount());
+ }
+
+ public static class ViewHolder extends BaseViewHolder<ItemTourismBinding>{
public ViewHolder(ItemTourismBinding binding) {
super(binding);
}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/adapter/databinding/ImageViewAdapter.java b/app/src/main/java/com/application/zhangshi_app_android/adapter/databinding/ImageViewAdapter.java
new file mode 100644
index 0000000..5bc1b5d
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/adapter/databinding/ImageViewAdapter.java
@@ -0,0 +1,78 @@
+package com.application.zhangshi_app_android.adapter.databinding;
+
+import android.graphics.drawable.Drawable;
+import android.text.TextUtils;
+import android.view.View;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import androidx.appcompat.content.res.AppCompatResources;
+import androidx.core.content.res.ResourcesCompat;
+import androidx.databinding.BindingAdapter;
+import androidx.databinding.InverseBindingAdapter;
+import androidx.databinding.InverseBindingListener;
+
+import com.application.zhangshi_app_android.MyApplication;
+import com.application.zhangshi_app_android.R;
+
+import java.math.BigDecimal;
+
+/**
+ * @author Ljj
+ * @date 2023.07.23. 19:19
+ * @desc
+ */
+public class ImageViewAdapter {
+
+ /**
+ * 鏍规嵁 int 鐘舵�佸�间负 imageView璁剧疆鑳屾櫙
+ * @param state 1 閫変腑 0 鏈�変腑
+ */
+ @BindingAdapter("select_state")
+ public static void setSelectState(ImageView imageView, int state) {
+ if (state == 1){
+ imageView.setBackgroundResource(R.drawable.ic_radio_button_selected);
+ }else {
+ imageView.setBackgroundResource(R.drawable.ic_radio_button_unselected);
+ }
+
+ }
+
+ /**
+ * 鏍规嵁imageView鐨勮儗鏅幏鍙栭�変腑鐘舵��
+ * @return 1 閫変腑 0 鏈�変腑
+ */
+ @InverseBindingAdapter(attribute = "select_state")
+ public static int getSelectState(ImageView imageView) {
+ Drawable drawable = AppCompatResources.getDrawable(imageView.getContext(),R.drawable.ic_radio_button_selected);
+ if (imageView.getBackground().getConstantState().equals(drawable.getConstantState())) {
+ return 1;
+ } else{
+ return 0;
+ }
+
+ }
+
+ /**
+ * 璁剧疆閫変腑鐘舵�佹敼鍙樼洃鍚�
+ */
+ @BindingAdapter("select_stateAttrChanged")
+ public static void setSelectStateAttrChanged(ImageView imageView, final InverseBindingListener listener) {
+ imageView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ Drawable drawable = AppCompatResources.getDrawable(imageView.getContext(),R.drawable.ic_radio_button_selected);
+ boolean isSelect = imageView.getBackground().getConstantState().equals(drawable.getConstantState());
+ if (isSelect) {
+ imageView.setBackgroundResource(R.drawable.ic_radio_button_unselected);
+ } else{
+ imageView.setBackgroundResource(R.drawable.ic_radio_button_selected);
+ }
+ listener.onChange();
+ }
+ });
+ //榛樿涓�寮�濮嬩笉鍙偣鍑�
+ imageView.setClickable(false);
+ }
+
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/bean/AnnualHealthStatusBean.java b/app/src/main/java/com/application/zhangshi_app_android/bean/AnnualHealthStatusBean.java
index c474cd2..c706f47 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/bean/AnnualHealthStatusBean.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/bean/AnnualHealthStatusBean.java
@@ -11,15 +11,15 @@
//搴忓彿
private int id;
//浣撴鏃堕棿
- private String time;
+ private String checkTime;
//绫诲埆
private String type;
//灏辩梾鍖婚櫌
private String hospital;
//鎻愬悕
- private String name;
+ private String title;
//娉ㄦ剰浜嬮」
- private String attention;
+ private String notice;
//澶囨敞
private String remark;
//鐢靛瓙鏂囦欢
@@ -33,12 +33,12 @@
this.id = id;
}
- public String getTime() {
- return time;
+ public String getCheckTime() {
+ return checkTime;
}
- public void setTime(String time) {
- this.time = time;
+ public void setCheckTime(String checkTime) {
+ this.checkTime = checkTime;
}
public String getType() {
@@ -57,20 +57,20 @@
this.hospital = hospital;
}
- public String getName() {
- return name;
+ public String getTitle() {
+ return title;
}
- public void setName(String name) {
- this.name = name;
+ public void setTitle(String title) {
+ this.title = title;
}
- public String getAttention() {
- return attention;
+ public String getNotice() {
+ return notice;
}
- public void setAttention(String attention) {
- this.attention = attention;
+ public void setNotice(String notice) {
+ this.notice = notice;
}
public String getRemark() {
diff --git a/app/src/main/java/com/application/zhangshi_app_android/bean/AnnualHealthStatusRequestBean.java b/app/src/main/java/com/application/zhangshi_app_android/bean/AnnualHealthStatusRequestBean.java
new file mode 100644
index 0000000..6df6a6c
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/bean/AnnualHealthStatusRequestBean.java
@@ -0,0 +1,72 @@
+package com.application.zhangshi_app_android.bean;
+
+import java.util.Map;
+
+/**
+ * @author Ljj
+ * @date 2023.07.12. 20:16
+ * @desc
+ */
+public class AnnualHealthStatusRequestBean extends PageRequestBean{
+ //棰樺悕
+ private String title;
+ //灏辩梾鍖婚櫌
+ private String hospital;
+ //绫诲埆
+ private String type;
+ //鍙戠敓鏃堕棿寮�濮�
+ private String happenStartTime;
+ //鍙戠敓鏃堕棿缁撴潫
+ private String happenEndTime;
+
+ public String getTitle() {
+ return title;
+ }
+
+ public void setTitle(String title) {
+ this.title = title;
+ }
+
+ public String getHospital() {
+ return hospital;
+ }
+
+ public void setHospital(String hospital) {
+ this.hospital = hospital;
+ }
+
+ public String getType() {
+ return type;
+ }
+
+ public void setType(String type) {
+ this.type = type;
+ }
+
+ public String getHappenStartTime() {
+ return happenStartTime;
+ }
+
+ public void setHappenStartTime(String happenStartTime) {
+ this.happenStartTime = happenStartTime;
+ }
+
+ public String getHappenEndTime() {
+ return happenEndTime;
+ }
+
+ public void setHappenEndTime(String happenEndTime) {
+ this.happenEndTime = happenEndTime;
+ }
+
+ @Override
+ public Map<String, Object> toMap() {
+ Map<String, Object> map = super.toMap();
+ map.put("title", title==null?"":title);
+ map.put("hospital", hospital==null?"":hospital);
+ map.put("type", type==null?"":type);
+ map.put("happenStartTime", happenStartTime==null?"":happenStartTime);
+ map.put("happenEndTime", happenEndTime==null?"":happenEndTime);
+ return map;
+ }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/bean/BannerBean.java b/app/src/main/java/com/application/zhangshi_app_android/bean/BannerBean.java
new file mode 100644
index 0000000..b3f2b48
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/bean/BannerBean.java
@@ -0,0 +1,49 @@
+package com.application.zhangshi_app_android.bean;
+
+/**
+ * @author Ljj
+ * @date 2023.07.17. 22:03
+ * @desc 杞挱鍥� bean
+ */
+public class BannerBean {
+ //id
+ private int id;
+ //涓汉id
+ private int uid;
+ //鏂囦欢鍦板潃
+ private String url;
+ //鏂囦欢绫诲瀷 1 瑙嗛 0 鍥剧墖
+ private int flag;
+
+ public int getId() {
+ return id;
+ }
+
+ public void setId(int id) {
+ this.id = id;
+ }
+
+ public int getUid() {
+ return uid;
+ }
+
+ public void setUid(int uid) {
+ this.uid = uid;
+ }
+
+ public String getUrl() {
+ return url;
+ }
+
+ public void setUrl(String url) {
+ this.url = url;
+ }
+
+ public int getFlag() {
+ return flag;
+ }
+
+ public void setFlag(int flag) {
+ this.flag = flag;
+ }
+}
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
index a9fd745..4267723 100644
--- 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
@@ -8,26 +8,70 @@
* @desc 鑽h獕璇佷功 Bean
*/
public class CertificateOfHonorBean implements Serializable {
+ private int id;
+ //鐢ㄦ埛id
+ private String userId;
+ //绫诲埆 0.璇佷欢 1.鑽h獕 2.璧勮川
+ private int type;
//鍚嶇О
private String name;
- //鏃堕棿
- private String time;
- //绫诲埆
- private String type;
- //璇佸彿
- private String certificateNumber;
+ //璇佸彿/涓撲笟
+ private String idNo;
//绾у埆
- private String level;
+ private String grade;
//鏈夋晥鏃堕棿
- private String effectiveTime;
+ private String validityDate;
//鑾峰緱鏃堕棿
- private String getTime;
+ private String getDate;
//瀛樻斁浣嶇疆
private String location;
//澶囨敞
private String remark;
//鐢靛瓙鏂囦欢
private String url;
+ //鍒涘缓鏃堕棿
+ private String createTime;
+
+ public int getId() {
+ return id;
+ }
+
+ public void setId(int id) {
+ this.id = id;
+ }
+
+ public String getUserId() {
+ return userId;
+ }
+
+ public void setUserId(String userId) {
+ this.userId = userId;
+ }
+
+ public String getType() {
+ if (type == 0){
+ return "璇佷欢";
+ }else if (type == 1){
+ return "鑽h獕";
+ }else if (type == 2){
+ return "璧勮川";
+ }
+ return "";
+ }
+
+ public void setType(String type) {
+ switch (type) {
+ case "璇佷欢":
+ this.type = 0;
+ break;
+ case "鑽h獕":
+ this.type = 1;
+ break;
+ case "璧勮川":
+ this.type = 2;
+ break;
+ }
+ }
public String getName() {
return name;
@@ -37,52 +81,36 @@
this.name = name;
}
- public String getTime() {
- return time;
+ public String getIdNo() {
+ return idNo;
}
- public void setTime(String time) {
- this.time = time;
+ public void setIdNo(String idNo) {
+ this.idNo = idNo;
}
- public String getType() {
- return type;
+ public String getGrade() {
+ return grade;
}
- public void setType(String type) {
- this.type = type;
+ public void setGrade(String grade) {
+ this.grade = grade;
}
- public String getCertificateNumber() {
- return certificateNumber;
+ public String getValidityDate() {
+ return validityDate;
}
- public void setCertificateNumber(String certificateNumber) {
- this.certificateNumber = certificateNumber;
+ public void setValidityDate(String validityDate) {
+ this.validityDate = validityDate;
}
- public String getLevel() {
- return level;
+ public String getGetDate() {
+ return getDate;
}
- 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 void setGetDate(String getDate) {
+ this.getDate = getDate;
}
public String getLocation() {
@@ -108,4 +136,13 @@
public void setUrl(String url) {
this.url = url;
}
+
+ public String getCreateTime() {
+ return createTime;
+ }
+
+ public void setCreateTime(String createTime) {
+ this.createTime = createTime;
+ }
+
}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/bean/CertificateOfHonorRequestBean.java b/app/src/main/java/com/application/zhangshi_app_android/bean/CertificateOfHonorRequestBean.java
new file mode 100644
index 0000000..c4ea448
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/bean/CertificateOfHonorRequestBean.java
@@ -0,0 +1,47 @@
+package com.application.zhangshi_app_android.bean;
+
+import java.util.Map;
+
+/**
+ * @author Ljj
+ * @date 2023.05.22. 20:15
+ * @desc
+ */
+public class CertificateOfHonorRequestBean extends PageRequestBean{
+ private String name;
+ private String type;
+ private String grade;
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getType() {
+ return type;
+ }
+
+ public void setType(String type) {
+ this.type = type;
+ }
+
+ public String getGrade() {
+ return grade;
+ }
+
+ public void setGrade(String grade) {
+ this.grade = grade;
+ }
+
+ @Override
+ public Map<String, Object> toMap() {
+ Map<String, Object> map = super.toMap();
+ map.put("name",name==null?"":name);
+ map.put("type",type==null?"":type);
+ map.put("grade",grade==null?"":grade);
+ return map;
+ }
+}
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
index 4ee7a4f..d492e81 100644
--- 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
@@ -1,5 +1,8 @@
package com.application.zhangshi_app_android.bean;
+import androidx.databinding.BaseObservable;
+import androidx.databinding.Bindable;
+
import java.io.Serializable;
/**
@@ -10,33 +13,27 @@
public class CleanStorageBean implements Serializable {
//搴忓彿
private int id;
- //绫诲瀷
- private String type;
+ //绫诲瀷 0.淇濇磥 1.鏀剁撼
+ private int kind;
//閫傜敤浜�
- private String suitablePeople;
+ private String suitable;
//绫诲埆
- private String category;
+ private String type;
//淇濇磥鏂规硶
- private String cleanMethod;
+ private String method;
//鏉愭枡瀛樻斁鍦�
- private String materialStorageLocation;
+ private String place;
//鏀剧疆鍦扮偣
- private String placementLocation;
+ private String location;
//澶囨敞
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;
- }
+ //瀹跺涵id
+ private String familyId;
+ //鍒涘缓鏃堕棿
+ private String createTime;
+ //鍙戠敓鏃堕棿
+ private String happenTime;
public int getId() {
return id;
@@ -44,6 +41,30 @@
public void setId(int id) {
this.id = id;
+ }
+
+
+ public void setKind(String kind) {
+ if (kind.equals("鏀剁撼")) {
+ this.kind = 1;
+ } else{
+ this.kind = 0;
+ }
+ }
+ public String getKind() {
+ if (kind == 1) {
+ return "鏀剁撼";
+ } else {
+ return "淇濇磥";
+ }
+ }
+
+ public String getSuitable() {
+ return suitable;
+ }
+
+ public void setSuitable(String suitable) {
+ this.suitable = suitable;
}
public String getType() {
@@ -54,44 +75,28 @@
this.type = type;
}
- public String getSuitablePeople() {
- return suitablePeople;
+ public String getMethod() {
+ return method;
}
- public void setSuitablePeople(String suitablePeople) {
- this.suitablePeople = suitablePeople;
+ public void setMethod(String method) {
+ this.method = method;
}
- public String getCategory() {
- return category;
+ public String getPlace() {
+ return place;
}
- public void setCategory(String category) {
- this.category = category;
+ public void setPlace(String place) {
+ this.place = place;
}
- public String getCleanMethod() {
- return cleanMethod;
+ public String getLocation() {
+ return location;
}
- 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 void setLocation(String location) {
+ this.location = location;
}
public String getRemark() {
@@ -109,4 +114,28 @@
public void setUrl(String url) {
this.url = url;
}
+
+ public String getFamilyId() {
+ return familyId;
+ }
+
+ public void setFamilyId(String familyId) {
+ this.familyId = familyId;
+ }
+
+ public String getCreateTime() {
+ return createTime;
+ }
+
+ public void setCreateTime(String createTime) {
+ this.createTime = createTime;
+ }
+
+ public String getHappenTime() {
+ return happenTime;
+ }
+
+ public void setHappenTime(String happenTime) {
+ this.happenTime = happenTime;
+ }
}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/bean/CleanStorageRequestBean.java b/app/src/main/java/com/application/zhangshi_app_android/bean/CleanStorageRequestBean.java
new file mode 100644
index 0000000..9d9d6de
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/bean/CleanStorageRequestBean.java
@@ -0,0 +1,107 @@
+package com.application.zhangshi_app_android.bean;
+
+import java.util.Map;
+
+/**
+ * @author Ljj
+ * @date 2023.05.20. 17:55
+ * @desc
+ */
+public class CleanStorageRequestBean extends PageRequestBean{
+ //搴忓彿
+ private int id = -1;
+ //绫诲瀷 0.淇濇磥 1.鏀剁撼
+ private String kind;
+ //绫诲埆
+ private String type;
+ //淇濇磥鏂规硶
+ private String method;
+ //閫傜敤浜�
+ private String suitable;
+ //鏉愭枡瀛樻斁鍦�
+ private String place;
+ //鏀剧疆鍦扮偣
+ private String location;
+ //澶囨敞
+ private String remark;
+
+
+ public String getKind() {
+ return kind;
+ }
+
+ public void setKind(String kind) {
+ this.kind = kind;
+ }
+
+ public String getType() {
+ return type;
+ }
+
+ public void setType(String type) {
+ this.type = type;
+ }
+
+ public String getMethod() {
+ return method;
+ }
+
+ public void setMethod(String method) {
+ this.method = method;
+ }
+
+ public String getSuitable() {
+ return suitable;
+ }
+
+ public void setSuitable(String suitable) {
+ this.suitable = suitable;
+ }
+
+ public int getId() {
+ return id;
+ }
+
+ public void setId(int id) {
+ this.id = id;
+ }
+
+ public String getPlace() {
+ return place;
+ }
+
+ public void setPlace(String place) {
+ this.place = place;
+ }
+
+ 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 Map<String,Object> toMap() {
+ Map<String,Object> map = super.toMap();
+ if (id != -1) {
+ map.put("id",id);
+ }
+ map.put("kind",kind==null?"":kind);
+ map.put("type",type==null?"":type);
+ map.put("method",method==null?"":method);
+ map.put("suitable",suitable==null?"":suitable);
+ map.put("place",place==null?"":place);
+ map.put("location",location==null?"":location);
+ map.put("remark",remark==null?"":remark);
+ return map;
+ }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/bean/ConsumeRecordBean.java b/app/src/main/java/com/application/zhangshi_app_android/bean/ConsumeRecordBean.java
index 71da392..a40c160 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/bean/ConsumeRecordBean.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/bean/ConsumeRecordBean.java
@@ -8,20 +8,53 @@
* @desc 娑堣垂璇︾粏璁板綍
*/
public class ConsumeRecordBean implements Serializable {
+ //id
+ private String id;
+ //瀵瑰簲鐨勬梾娓歌垂鐢ㄨ褰昳d
+ private String feeId;
+ //娑堣垂鏃堕棿
+ private String happenTime;
//鍐呭
private String content;
//鎬婚噾棰�
- private String totalMoney;
+ private double totalCost;
//椁愯垂
- private String mealMoney;
+ private double eat;
//浣忓璐�
- private String hotelMoney;
+ private double stay;
//浜ら�氳垂
- private String trafficMoney;
+ private double traffic;
//璐墿
- private String shoppingMoney;
+ private double shopping;
//闂ㄧエ
- private String ticketMoney;
+ private double entrance;
+ //姣忔棩閲戦
+ private double dayCost;
+
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getFeeId() {
+ return feeId;
+ }
+
+ public void setFeeId(String feeId) {
+ this.feeId = feeId;
+ }
+
+ public String getHappenTime() {
+ return happenTime;
+ }
+
+ public void setHappenTime(String happenTime) {
+ this.happenTime = happenTime;
+ }
public String getContent() {
return content;
@@ -31,51 +64,78 @@
this.content = content;
}
- public String getTotalMoney() {
- return totalMoney;
+ public double getTotalCost() {
+ return totalCost;
}
- public void setTotalMoney(String totalMoney) {
- this.totalMoney = totalMoney;
+ public void setTotalCost(double totalCost) {
+ this.totalCost = totalCost;
}
- public String getMealMoney() {
- return mealMoney;
+ public double getEat() {
+ return eat;
}
- public void setMealMoney(String mealMoney) {
- this.mealMoney = mealMoney;
+ public void setEat(double eat) {
+ this.eat = eat;
}
- public String getHotelMoney() {
- return hotelMoney;
+
+ public double getStay() {
+ return stay;
}
- public void setHotelMoney(String hotelMoney) {
- this.hotelMoney = hotelMoney;
+ public void setStay(double stay) {
+ this.stay = stay;
}
- public String getTrafficMoney() {
- return trafficMoney;
+ public void setStay(String stay) {
+ this.stay = Double.parseDouble(stay);
}
- public void setTrafficMoney(String trafficMoney) {
- this.trafficMoney = trafficMoney;
+ public double getTraffic() {
+ return traffic;
}
- public String getShoppingMoney() {
- return shoppingMoney;
+ public void setTraffic(double traffic) {
+ this.traffic = traffic;
}
- public void setShoppingMoney(String shoppingMoney) {
- this.shoppingMoney = shoppingMoney;
+ public void setTraffic(String traffic) {
+ this.traffic = Double.parseDouble(traffic);
}
- public String getTicketMoney() {
- return ticketMoney;
+ public double getShopping() {
+ return shopping;
}
- public void setTicketMoney(String ticketMoney) {
- this.ticketMoney = ticketMoney;
+ public void setShopping(double shopping) {
+ this.shopping = shopping;
}
+
+ public void setShopping(String shopping) {
+ this.shopping = Double.parseDouble(shopping);
+ }
+
+ public double getEntrance() {
+ return entrance;
+ }
+
+ public void setEntrance(double entrance) {
+ this.entrance = entrance;
+ }
+
+ public void setEntrance(String entrance) {
+ this.entrance = Double.parseDouble(entrance);
+ }
+
+ public double getDayCost() {
+ return dayCost;
+ }
+
+ public void setDayCost(double dayCost) {
+ this.dayCost = dayCost;
+ }
+
+
}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/bean/ContactsBean.java b/app/src/main/java/com/application/zhangshi_app_android/bean/ContactsBean.java
index 9fd9c1e..fb7b4e5 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/bean/ContactsBean.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/bean/ContactsBean.java
@@ -10,7 +10,7 @@
public class ContactsBean {
//灞炰簬璋佺殑閫氳褰�
private String myName;
-
+ //鍏蜂綋閫氳褰�
private List<ContactsDetailBean> contactsDetailBeans;
public String getMyName() {
diff --git a/app/src/main/java/com/application/zhangshi_app_android/bean/ContactsRequestBean.java b/app/src/main/java/com/application/zhangshi_app_android/bean/ContactsRequestBean.java
index 268b0c6..22c33fa 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/bean/ContactsRequestBean.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/bean/ContactsRequestBean.java
@@ -8,7 +8,7 @@
* @date 2023.05.13. 0:29
* @desc
*/
-public class ContactsRequestBean {
+public class ContactsRequestBean extends PageRequestBean{
//鎴愬憳濮撳悕
private String myName;
//绉板懠
@@ -19,60 +19,54 @@
private String work;
//鎵嬫満鍙风爜
private String phone;
- //寰俊
- private String wx;
- //QQ
- private String qq;
- //鎺ㄧ壒
- private String twitter;
- //鏄惁甯歌仈绯� 0 鍚� 1 鏄�
- private int is_always;
- //澶囨敞
- private String remark;
- private int pageNum = 1;
- private int pageSize = 20;
- public Map<String, Object> toMap() {
- Map<String, Object> map = new HashMap<>();
- if (myName == null) {
- myName = "";
- }
- if (nickName == null) {
- nickName = "";
- }
- if (name == null) {
- name = "";
- }
- if (work == null) {
- work = "";
- }
- if (phone == null) {
- phone = "";
- }
- if (wx == null) {
- wx = "";
- }
- if (qq == null) {
- qq = "";
- }
- if (twitter == null) {
- twitter = "";
- }
- if (remark == null) {
- remark = "";
- }
- map.put("myName", myName);
- map.put("nickName", nickName);
- map.put("name", name);
- map.put("work", work);
- map.put("phone", phone);
- map.put("wx", wx);
- map.put("qq", qq);
- map.put("twitter", twitter);
- map.put("is_always", is_always);
- map.put("remark", remark);
- map.put("pageNum", pageNum);
- map.put("pageSize", pageSize);
+ public String getMyName() {
+ return myName;
+ }
+
+ public void setMyName(String myName) {
+ this.myName = myName;
+ }
+
+ public String getNickName() {
+ return nickName;
+ }
+
+ public void setNickName(String nickName) {
+ this.nickName = nickName;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getWork() {
+ return work;
+ }
+
+ public void setWork(String work) {
+ this.work = work;
+ }
+
+ public String getPhone() {
+ return phone;
+ }
+
+ public void setPhone(String phone) {
+ this.phone = phone;
+ }
+
+ public Map<String,Object> toMap(){
+ Map<String,Object> map = super.toMap();
+ map.put("myName",myName==null?"":myName);
+ map.put("nickName",nickName==null?"":nickName);
+ map.put("name",name==null?"":name);
+ map.put("work",work==null?"":work);
+ map.put("phone",phone==null?"":phone);
return map;
}
}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/bean/ContactsResponseBean.java b/app/src/main/java/com/application/zhangshi_app_android/bean/ContactsResponseBean.java
deleted file mode 100644
index 63567ec..0000000
--- a/app/src/main/java/com/application/zhangshi_app_android/bean/ContactsResponseBean.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package com.application.zhangshi_app_android.bean;
-
-import java.util.List;
-
-/**
- * @author Ljj
- * @date 2023.05.13. 0:30
- * @desc
- */
-public class ContactsResponseBean {
- private List<ContactsDetailBean> data;
- private long pageNum;
- private long pageSize;
- private long total;
-
- public List<ContactsDetailBean> getData() {
- return data;
- }
-
- public void setData(List<ContactsDetailBean> data) {
- this.data = data;
- }
-
- public long getPageNum() { return pageNum; }
- public void setPageNum(long value) { this.pageNum = value; }
-
- public long getPageSize() { return pageSize; }
- public void setPageSize(long value) { this.pageSize = value; }
-
- public long getTotal() { return total; }
- public void setTotal(long value) { this.total = value; }
-}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/bean/DailyConsumeRecordBean.java b/app/src/main/java/com/application/zhangshi_app_android/bean/DailyConsumeRecordBean.java
index 64724af..ce1ad0c 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/bean/DailyConsumeRecordBean.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/bean/DailyConsumeRecordBean.java
@@ -1,6 +1,7 @@
package com.application.zhangshi_app_android.bean;
import java.io.Serializable;
+import java.util.ArrayList;
import java.util.List;
/**
@@ -12,9 +13,9 @@
//鏃ユ湡
private String date;
//姣忔棩閲戦
- private String dailyMoney;
+ private double dailyMoney;
//娑堣垂璁板綍
- private List<ConsumeRecordBean> consumeRecordBeans;
+ private List<ConsumeRecordBean> consumeRecordBeans = new ArrayList<>();
public String getDate() {
return date;
@@ -32,11 +33,14 @@
this.consumeRecordBeans = consumeRecordBeans;
}
- public String getDailyMoney() {
+ public double getDailyMoney() {
return dailyMoney;
}
- public void setDailyMoney(String dailyMoney) {
+ public void setDailyMoney(double dailyMoney) {
this.dailyMoney = dailyMoney;
}
-}
+
+ public void setDailyMoney(String dailyMoney) {
+ this.dailyMoney = Double.parseDouble(dailyMoney);
+ }}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/bean/FamilyAssetsBean.java b/app/src/main/java/com/application/zhangshi_app_android/bean/FamilyAssetsBean.java
index afdddcb..a07bdcb 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/bean/FamilyAssetsBean.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/bean/FamilyAssetsBean.java
@@ -8,15 +8,25 @@
* @desc 瀹舵棌璧勪骇
*/
public class FamilyAssetsBean implements Serializable {
- private String address;
- private String createTime;
- private String holder;
private long id;
- private String location;
- private String remark;
- private String title;
+ //璧勪骇绫诲瀷
private String type;
+ //鏁版嵁鍒涘缓鏃堕棿
+ private String createTime;
+ //鏍囬锛堣处鍙枫�佸崱鍙凤級
+ private String title;
+ //寮�鎴疯锛堣祫浜у湴鍧�锛�
+ private String location;
+ //鎸佹湁浜哄悕瀛�
+ private String holder;
+ //瀛樻斁鍦板潃
+ private String address;
+ //澶囨敞
+ private String remark;
+ //鐢靛瓙鏂囦欢鍦板潃
private String url;
+ //鍙戠敓鏃堕棿
+ private String happenTime;
public String getAddress() { return address; }
public void setAddress(String value) { this.address = value; }
@@ -44,4 +54,14 @@
public String getUrl() { return url; }
public void setUrl(String value) { this.url = value; }
+
+ public String getHappenTime() {
+ return happenTime;
+ }
+
+ public void setHappenTime(String happenTime) {
+ this.happenTime = happenTime;
+ }
+
+
}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/bean/FamilyAssetsRequestBean.java b/app/src/main/java/com/application/zhangshi_app_android/bean/FamilyAssetsRequestBean.java
new file mode 100644
index 0000000..e34f226
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/bean/FamilyAssetsRequestBean.java
@@ -0,0 +1,76 @@
+package com.application.zhangshi_app_android.bean;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * @author Ljj
+ * @date 2023.05.16. 20:09
+ * @desc 瀹舵棌璧勪骇璇锋眰鍙傛暟
+ */
+public class FamilyAssetsRequestBean extends PageRequestBean {
+ //璧勪骇绫诲瀷
+ private String type;
+ //鎸佹湁浜哄悕瀛�
+ private String holder;
+ //瀛樻斁鍦板潃
+ private String address;
+ //鍙戠敓鏃堕棿寮�濮�
+ private String happenStartTime;
+ //鍙戠敓鏃堕棿缁撴潫
+ private String happenEndTime;
+
+
+ public String getType() {
+ return type;
+ }
+
+ public void setType(String type) {
+ this.type = type;
+ }
+
+
+ public String getHolder() {
+ return holder;
+ }
+
+ public void setHolder(String holder) {
+ this.holder = holder;
+ }
+
+ public String getAddress() {
+ return address;
+ }
+
+ public void setAddress(String address) {
+ this.address = address;
+ }
+
+ public String getHappenStartTime() {
+ return happenStartTime;
+ }
+
+ public void setHappenStartTime(String happenStartTime) {
+ this.happenStartTime = happenStartTime;
+ }
+
+ public String getHappenEndTime() {
+ return happenEndTime;
+ }
+
+ public void setHappenEndTime(String happenEndTime) {
+ this.happenEndTime = happenEndTime;
+ }
+
+ public Map<String,Object> toMap(){
+ Map<String,Object> map = new HashMap<>();
+ map.put("pageNum",pageNum);
+ map.put("pageSize",pageSize);
+ map.put("type",type==null?"":type);
+ map.put("holder",holder==null?"":holder);
+ map.put("address",address==null?"":address);
+ map.put("happenStartTime",happenStartTime==null?"":happenStartTime);
+ map.put("happenEndTime",happenEndTime==null?"":happenEndTime);
+ return map;
+ }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/bean/FamilyAssetsResponseBean.java b/app/src/main/java/com/application/zhangshi_app_android/bean/FamilyAssetsResponseBean.java
deleted file mode 100644
index 2da7ad3..0000000
--- a/app/src/main/java/com/application/zhangshi_app_android/bean/FamilyAssetsResponseBean.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package com.application.zhangshi_app_android.bean;
-
-import java.util.List;
-
-/**
- * @author Ljj
- * @date 2023.04.03. 21:31
- * @desc
- */
-public class FamilyAssetsResponseBean {
- private List<FamilyAssetsBean> data;
- private long pageNum;
- private long pageSize;
- private long total;
-
- public List<FamilyAssetsBean> getData() { return data; }
- public void setData(List<FamilyAssetsBean> value) { this.data = value; }
-
- public long getPageNum() { return pageNum; }
- public void setPageNum(long value) { this.pageNum = value; }
-
- public long getPageSize() { return pageSize; }
- public void setPageSize(long value) { this.pageSize = value; }
-
- public long getTotal() { return total; }
- public void setTotal(long value) { this.total = value; }
-}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/bean/FamilyMemorabiliaBean.java b/app/src/main/java/com/application/zhangshi_app_android/bean/FamilyMemorabiliaBean.java
index adae770..5a22f43 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/bean/FamilyMemorabiliaBean.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/bean/FamilyMemorabiliaBean.java
@@ -14,12 +14,14 @@
*/
public class FamilyMemorabiliaBean implements Serializable {
private long id;
- private String address;
private String createTime;
private String people;
- private String remark;
+ private String address;
private String title;
+ private String remark;
private String url;
+ private String happenTime;
+
private List<String> urlList;
public String getAddress() { return address; }
@@ -86,6 +88,14 @@
public String getTitle() { return title; }
public void setTitle(String value) { this.title = value; }
+ public String getHappenTime() {
+ return happenTime;
+ }
+
+ public void setHappenTime(String happenTime) {
+ this.happenTime = happenTime;
+ }
+
@Override
public String toString() {
return "FamilyMemorabiliaBean{" +
diff --git a/app/src/main/java/com/application/zhangshi_app_android/bean/FamilyMemorabiliaRequestBean.java b/app/src/main/java/com/application/zhangshi_app_android/bean/FamilyMemorabiliaRequestBean.java
index 3440681..6100a2e 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/bean/FamilyMemorabiliaRequestBean.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/bean/FamilyMemorabiliaRequestBean.java
@@ -8,15 +8,14 @@
* @date 2023.03.28. 15:57
* @desc
*/
-public class FamilyMemorabiliaRequestBean {
+public class FamilyMemorabiliaRequestBean extends PageRequestBean{
private String people;
private String address;
private String remark;
private String title;
- private String createTime;
- private int pageNum = 1;
- private int pageSize = 20;
+ private String happenStartTime;
+ private String happenEndTime;
public String getPeople() {
return people;
@@ -50,51 +49,31 @@
this.title = title;
}
- public int getPageNum() {
- return pageNum;
+
+ public String getHappenStartTime() {
+ return happenStartTime;
}
- public void setPageNum(int pageNum) {
- this.pageNum = pageNum;
+ public void setHappenStartTime(String happenStartTime) {
+ this.happenStartTime = happenStartTime;
}
- public int getPageSize() {
- return pageSize;
+ public String getHappenEndTime() {
+ return happenEndTime;
}
- public void setPageSize(int pageSize) {
- this.pageSize = pageSize;
- }
- public String getCreateTime() {
- return createTime;
+ public void setHappenEndTime(String happenEndTime) {
+ this.happenEndTime = happenEndTime;
}
- public void setCreateTime(String createTime) {
- this.createTime = createTime;
- }
-
- public Map<String, Object> getMap() {
+ public Map<String, Object> toMap() {
Map<String, Object> map = new HashMap<>();
- if (people == null) {
- people = "";
- }
- if (address == null) {
- address = "";
- }
- if (remark == null) {
- remark = "";
- }
- if (title == null) {
- title = "";
- }
- if (createTime == null) {
- createTime = "";
- }
- map.put("people", people);
- map.put("address", address);
- map.put("remark", remark);
- map.put("title", title);
- map.put("createTime", createTime);
+ map.put("people", people == null ? "" : people);
+ map.put("address", address == null ? "" : address);
+ map.put("remark", remark == null ? "" : remark);
+ map.put("title", title == null ? "" : title);
+ map.put("happenStartTime", happenStartTime == null ? "" : happenStartTime);
+ map.put("happenEndTime", happenEndTime == null ? "" : happenEndTime);
map.put("pageNum", pageNum);
map.put("pageSize", pageSize);
return map;
diff --git a/app/src/main/java/com/application/zhangshi_app_android/bean/FamilyMemorabiliaResponseBean.java b/app/src/main/java/com/application/zhangshi_app_android/bean/FamilyMemorabiliaResponseBean.java
deleted file mode 100644
index dbc171a..0000000
--- a/app/src/main/java/com/application/zhangshi_app_android/bean/FamilyMemorabiliaResponseBean.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package com.application.zhangshi_app_android.bean;
-
-import java.util.List;
-
-/**
- * @author Ljj
- * @date 2023.03.28. 13:52
- * @desc 鑾峰彇瀹跺ぇ浜嬭鐨勮繑鍥炵被
- */
-public class FamilyMemorabiliaResponseBean {
- private List<FamilyMemorabiliaBean> data;
- private long pageNum;
- private long pageSize;
- private long total;
-
- public List<FamilyMemorabiliaBean> getData() { return data; }
- public void setData(List<FamilyMemorabiliaBean> value) { this.data = value; }
-
- public long getPageNum() { return pageNum; }
- public void setPageNum(long value) { this.pageNum = value; }
-
- public long getPageSize() { return pageSize; }
- public void setPageSize(long value) { this.pageSize = value; }
-
- public long getTotal() { return total; }
- public void setTotal(long value) { this.total = value; }
-}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/bean/GrowthExperienceInformationBean.java b/app/src/main/java/com/application/zhangshi_app_android/bean/GrowthExperienceInformationBean.java
index 8acae11..68ed9b8 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/bean/GrowthExperienceInformationBean.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/bean/GrowthExperienceInformationBean.java
@@ -8,63 +8,350 @@
*/
public class GrowthExperienceInformationBean implements Serializable {
private int userId;
- private String nickName;
- private String oldName;
- private int sex;
- private String nationality;
- private String nation;
- private int maritalStatus;
- private String politicalOutlook;
- private String phoneNumber;
- private String idNum;
- private String locationAddress;
- private String alwaysAddress;
- private String alwaysPolice;
- private String unit;
- private String position;
- private int outStatus;
- private String idNo;
- private String img;
- private String birth;
- private String url;
- public int getUserId() { return userId; }
- public void setUserId(int value) { this.userId = value; }
- public String getNickName() { return nickName; }
- public void setNickName(String value) { this.nickName = value; }
- public String getOldName() { return oldName; }
- public void setOldName(String value) { this.oldName = value; }
- public int getSex() { return sex; }
- public void setSex(int value) { this.sex = value; }
- public String getNationality() { return nationality; }
- public void setNationality(String value) { this.nationality = value; }
- public String getNation() { return nation; }
- public void setNation(String value) { this.nation = value; }
- public int getMaritalStatus() { return maritalStatus; }
- public void setMaritalStatus(int value) { this.maritalStatus = value; }
- public String getPoliticalOutlook() { return politicalOutlook; }
- public void setPoliticalOutlook(String value) { this.politicalOutlook = value; }
- public String getPhoneNumber() { return phoneNumber; }
- public void setPhoneNumber(String value) { this.phoneNumber = value; }
- public String getIdNum() { return idNum; }
- public void setIdNum(String value) { this.idNum = value; }
+ private String nickName;//濮撳悕
+ private String oldName;//鏇剧敤鍚�
+ private int sex;//鎬у埆 0 濂� 1 鐢�
+ private String nationality;//鍥界睄
+ private String nation;//姘戞棌
+ private int maritalStatus;//濠氬Щ鐘跺喌 0 鏈 1 宸插 2 绂诲
+ private String politicalOutlook;//鏀挎不闈㈣矊
+ private String phoneNumber; //鎵嬫満鍙�
+ private String idNum; //韬唤璇佸彿
+ private String locationAddress; //鎴风睄鍦板潃
+ private String alwaysAddress; //甯镐綇鍦板潃
+ private String locationPolice;//鎴风睄鍦板叕瀹夋満鍏�
+ private String alwaysPolice; //甯镐綇鍦板叕瀹夋満鍏�
+ private String unit; //鎵�鍦ㄥ崟浣�/瀛︽牎
+ private String position; //鑱屽姟/韬唤
+ private int outStatus;//鏄惁澶栫睄銆佸澶栨案涔呭眳鐣欐潈 0 鍚� 1 鏄�
+ private String idNo;//澶栫睄銆佸澶栫浉鍏宠瘉浠跺彿鐮�
+ private String deadDay;//姝讳骸鏃ユ湡
+ private String constellation;//鏄熷骇
+ private String wxNo;//寰俊
+ private String qqNo;//qq
+ private String shengXiao;//鐢熻倴
+ private int isMyFamily;
+ private String familyName;// 鎵�灞炲搴悕瀛�
+ private String roleName;//鎵�灞炶鑹�
+ private String img; //鍥剧墖鍦板潃
+ private String fatherId;//鐖朵翰id
+ private String spouseId;
+ private String momId;//姣嶄翰id
+ private String birth;//鍑虹敓鏃ユ湡
+ private String email;//閭
+ private String createTime;//鍒涘缓鏃堕棿
+ private String url;//涓汉鑳屾櫙瑙嗛銆佸浘鐗�
+ private String secondFamilyId;//鍏朵粬瀹跺涵鎺堟潈鐨勫搴璱d
- public String getLocationAddress() { return locationAddress; }
- public void setLocationAddress(String value) { this.locationAddress = value; }
+ public int getUserId() {
+ return userId;
+ }
- public String getAlwaysAddress() { return alwaysAddress; }
- public void setAlwaysAddress(String value) { this.alwaysAddress = value; }
- public String getUnit() { return unit; }
- public void setUnit(String value) { this.unit = value; }
- public String getPosition() { return position; }
- public void setPosition(String value) { this.position = value; }
- public int getOutStatus() { return outStatus; }
- public void setOutStatus(int value) { this.outStatus = value; }
- public String getIdNo() { return idNo; }
- public void setIdNo(String value) { this.idNo = value; }
- public String getImg() { return img; }
- public void setImg(String value) { this.img = value; }
- public String getBirth() { return birth; }
- public void setBirth(String value) { this.birth = value; }
- public String getUrl() { return url; }
- public void setUrl(String value) { this.url = value; }
+ public void setUserId(int userId) {
+ this.userId = userId;
+ }
+
+ public String getEmail() {
+ return email;
+ }
+
+ public void setEmail(String email) {
+ this.email = email;
+ }
+
+ public String getCreateTime() {
+ return createTime;
+ }
+
+ public void setCreateTime(String createTime) {
+ this.createTime = createTime;
+ }
+
+ public String getNickName() {
+ return nickName;
+ }
+
+ public void setNickName(String nickName) {
+ this.nickName = nickName;
+ }
+
+ public String getOldName() {
+ return oldName;
+ }
+
+ public void setOldName(String oldName) {
+ this.oldName = oldName;
+ }
+
+ public void setSex(int sex) {
+ this.sex = sex;
+ }
+
+ public int getSex() {
+ return sex;
+ }
+
+ public String getSexStr() {
+ return sex==0?"濂�":"鐢�";
+ }
+
+ public void setSexStr(String sex) {
+ if (sex!=null){
+ this.sex = sex.equals("濂�")?0:1;
+ }
+ }
+
+ public String getNationality() {
+ return nationality;
+ }
+
+ public void setNationality(String nationality) {
+ this.nationality = nationality;
+ }
+
+ public String getNation() {
+ return nation;
+ }
+
+ public void setNation(String nation) {
+ this.nation = nation;
+ }
+
+ public String getMaritalStatus() {
+ if (maritalStatus==0){
+ return "鏈";
+ }else if (maritalStatus==1){
+ return "宸插";
+ }else if (maritalStatus==2){
+ return "绂诲";
+ }else {
+ return "鏈煡";
+ }
+ }
+
+ public void setMaritalStatus(String maritalStatus) {
+ if (maritalStatus!=null){
+ if (maritalStatus.equals("鏈")){
+ this.maritalStatus = 0;
+ }else if (maritalStatus.equals("宸插")){
+ this.maritalStatus = 1;
+ }else if (maritalStatus.equals("绂诲")){
+ this.maritalStatus = 2;
+ }else {
+ this.maritalStatus = 0;
+ }
+ }
+ }
+
+ public String getPoliticalOutlook() {
+ return politicalOutlook;
+ }
+
+ public void setPoliticalOutlook(String politicalOutlook) {
+ this.politicalOutlook = politicalOutlook;
+ }
+
+ public String getPhoneNumber() {
+ return phoneNumber;
+ }
+
+ public void setPhoneNumber(String phoneNumber) {
+ this.phoneNumber = phoneNumber;
+ }
+
+ public String getIdNum() {
+ return idNum;
+ }
+
+ public void setIdNum(String idNum) {
+ this.idNum = idNum;
+ }
+
+ public String getLocationAddress() {
+ return locationAddress;
+ }
+
+ public void setLocationAddress(String locationAddress) {
+ this.locationAddress = locationAddress;
+ }
+
+ public String getAlwaysAddress() {
+ return alwaysAddress;
+ }
+
+ public void setAlwaysAddress(String alwaysAddress) {
+ this.alwaysAddress = alwaysAddress;
+ }
+
+ public String getLocationPolice() {
+ return locationPolice;
+ }
+
+ public void setLocationPolice(String locationPolice) {
+ this.locationPolice = locationPolice;
+ }
+
+ public String getAlwaysPolice() {
+ return alwaysPolice;
+ }
+
+ public void setAlwaysPolice(String alwaysPolice) {
+ this.alwaysPolice = alwaysPolice;
+ }
+
+ public String getUnit() {
+ return unit;
+ }
+
+ public void setUnit(String unit) {
+ this.unit = unit;
+ }
+
+ public String getPosition() {
+ return position;
+ }
+
+ public void setPosition(String position) {
+ this.position = position;
+ }
+
+ public String getImg() {
+ return img;
+ }
+
+ public void setImg(String img) {
+ this.img = img;
+ }
+
+ public String getFatherId() {
+ return fatherId;
+ }
+
+ public void setFatherId(String fatherId) {
+ this.fatherId = fatherId;
+ }
+
+ public String getMomId() {
+ return momId;
+ }
+
+ public void setMomId(String momId) {
+ this.momId = momId;
+ }
+
+ public String getBirth() {
+ return birth;
+ }
+
+ public void setBirth(String birth) {
+ this.birth = birth;
+ }
+
+ public String getUrl() {
+ return url;
+ }
+
+ public void setUrl(String url) {
+ this.url = url;
+ }
+
+ public int getOutStatus() {
+ return outStatus;
+ }
+
+ public void setOutStatus(int outStatus) {
+ this.outStatus = outStatus;
+ }
+
+ public String getIdNo() {
+ return idNo;
+ }
+
+ public void setIdNo(String idNo) {
+ this.idNo = idNo;
+ }
+
+ public String getSecondFamilyId() {
+ return secondFamilyId;
+ }
+
+ public void setSecondFamilyId(String secondFamilyId) {
+ this.secondFamilyId = secondFamilyId;
+ }
+
+ public void setMaritalStatus(int maritalStatus) {
+ this.maritalStatus = maritalStatus;
+ }
+
+ public String getDeadDay() {
+ return deadDay;
+ }
+
+ public void setDeadDay(String deadDay) {
+ this.deadDay = deadDay;
+ }
+
+ public String getConstellation() {
+ return constellation;
+ }
+
+ public void setConstellation(String constellation) {
+ this.constellation = constellation;
+ }
+
+ public String getWxNo() {
+ return wxNo;
+ }
+
+ public void setWxNo(String wxNo) {
+ this.wxNo = wxNo;
+ }
+
+ public String getQqNo() {
+ return qqNo;
+ }
+
+ public void setQqNo(String qqNo) {
+ this.qqNo = qqNo;
+ }
+
+ public String getShengXiao() {
+ return shengXiao;
+ }
+
+ public void setShengXiao(String shengXiao) {
+ this.shengXiao = shengXiao;
+ }
+
+ public int getIsMyFamily() {
+ return isMyFamily;
+ }
+
+ public void setIsMyFamily(int isMyFamily) {
+ this.isMyFamily = isMyFamily;
+ }
+
+ public String getFamilyName() {
+ return familyName;
+ }
+
+ public void setFamilyName(String familyName) {
+ this.familyName = familyName;
+ }
+
+ public String getRoleName() {
+ return roleName;
+ }
+
+ public void setRoleName(String roleName) {
+ this.roleName = roleName;
+ }
+
+ public String getSpouseId() {
+ return spouseId;
+ }
+
+ public void setSpouseId(String spouseId) {
+ this.spouseId = spouseId;
+ }
}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/bean/HealthCareBaseInfoBean.java b/app/src/main/java/com/application/zhangshi_app_android/bean/HealthCareBaseInfoBean.java
new file mode 100644
index 0000000..4ce1f9b
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/bean/HealthCareBaseInfoBean.java
@@ -0,0 +1,335 @@
+package com.application.zhangshi_app_android.bean;
+
+
+
+/**
+ * @author Ljj
+ * @date 2023.07.21. 18:09
+ * @desc 鍋ュ悍淇濆仴鍩烘湰淇℃伅
+ */
+public class HealthCareBaseInfoBean{
+ private int id;
+ //鐢ㄦ埛id
+ private int uid;
+ //濮撳悕
+ private String name;
+ //鎬у埆 1 鐢� 0 濂�
+ private int sex;
+ //鏂囧寲绋嬪害
+ private String educationLevel;
+ //鑱屼笟
+ private String work;
+ //鐢佃瘽
+ private String phone;
+ //閭
+ private String email;
+ //鍦板潃
+ private String address;
+ //琛�鍨�
+ private BloodClass bloodClass;
+ //杩囨晱鍙�
+ private AllergyClass allergyClass;
+ //閬椾紶鐥呭彶
+ private GeneticDiseaseClass geneticDiseaseClass;
+ //甯哥敤鑽墿
+ private String medicine;
+ //鐩墠鍩虹鐥�
+ private String baseDisease;
+
+ public static class BloodClass {
+ //a琛�鍨� 1鏄� 0鍚�
+ private int a;
+ //b琛�鍨�
+ private int b;
+ //o
+ private int o;
+ //ab
+ private int ab;
+ //rh
+ private int rh;
+ //other
+ private int other;
+ //鍏朵粬琛�鍨�
+ private String otherText;
+ //涓嶆竻妤�
+ private int unknown;
+
+ public int getA() {
+ return a;
+ }
+
+ public void setA(int a) {
+ this.a = a;
+ }
+
+ public int getB() {
+ return b;
+ }
+
+ public void setB(int b) {
+ this.b = b;
+ }
+
+ public int getO() {
+ return o;
+ }
+
+ public void setO(int o) {
+ this.o = o;
+ }
+
+ public int getAb() {
+ return ab;
+ }
+
+ public void setAb(int ab) {
+ this.ab = ab;
+ }
+
+ public int getRh() {
+ return rh;
+ }
+
+ public void setRh(int rh) {
+ this.rh = rh;
+ }
+
+ public int getOther() {
+ return other;
+ }
+
+ public void setOther(int other) {
+ this.other = other;
+ }
+
+ public String getOtherText() {
+ return otherText;
+ }
+
+ public void setOtherText(String otherText) {
+ this.otherText = otherText;
+ }
+
+ public int getUnknown() {
+ return unknown;
+ }
+
+ public void setUnknown(int unknown) {
+ this.unknown = unknown;
+ }
+ }
+ public static class AllergyClass {
+ //鑽墿 1鏄� 0鍚�
+ private int medicine;
+ //椋熺墿
+ private int food;
+ //鍏朵粬
+ private int other;
+ private String otherText;
+
+ public int getMedicine() {
+ return medicine;
+ }
+
+ public void setMedicine(int medicine) {
+ this.medicine = medicine;
+ }
+
+ public int getFood() {
+ return food;
+ }
+
+ public void setFood(int food) {
+ this.food = food;
+ }
+
+ public int getOther() {
+ return other;
+ }
+
+ public void setOther(int other) {
+ this.other = other;
+ }
+
+ public String getOtherText() {
+ return otherText;
+ }
+
+ public void setOtherText(String otherText) {
+ this.otherText = otherText;
+ }
+ }
+ public static class GeneticDiseaseClass{
+ //楂樿鍘� 1鏄� 0鍚�
+ private int hypertension;
+ //绯栧翱鐥�
+ private int diabetes;
+ //鑲跨槫
+ private int tumor;
+ private int other;//鍏朵粬
+ private String otherText;
+
+ public int getHypertension() {
+ return hypertension;
+ }
+
+ public void setHypertension(int hypertension) {
+ this.hypertension = hypertension;
+ }
+
+ public int getDiabetes() {
+ return diabetes;
+ }
+
+ public void setDiabetes(int diabetes) {
+ this.diabetes = diabetes;
+ }
+
+ public int getTumor() {
+ return tumor;
+ }
+
+ public void setTumor(int tumor) {
+ this.tumor = tumor;
+ }
+
+ public int getOther() {
+ return other;
+ }
+
+ public void setOther(int other) {
+ this.other = other;
+ }
+
+ public String getOtherText() {
+ return otherText;
+ }
+
+ public void setOtherText(String otherText) {
+ this.otherText = otherText;
+ }
+ }
+
+ public int getId() {
+ return id;
+ }
+
+ public void setId(int id) {
+ this.id = id;
+ }
+
+ public int getUid() {
+ return uid;
+ }
+
+ public void setUid(int uid) {
+ this.uid = uid;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public int getSex() {
+ return sex;
+ }
+
+ public void setSex(int sex) {
+ this.sex = sex;
+ }
+
+ public String getSexStr(){
+ return sex == 1 ? "鐢�" : "濂�";
+ }
+ public void setSexStr(String sexStr){
+ if (sexStr.equals("鐢�")){
+ setSex(1);
+ }else {
+ setSex(0);
+ }
+ }
+
+ public String getEducationLevel() {
+ return educationLevel;
+ }
+
+ public void setEducationLevel(String educationLevel) {
+ this.educationLevel = educationLevel;
+ }
+
+ public String getWork() {
+ return work;
+ }
+
+ public void setWork(String work) {
+ this.work = work;
+ }
+
+ public String getPhone() {
+ return phone;
+ }
+
+ public void setPhone(String phone) {
+ this.phone = phone;
+ }
+
+ public String getEmail() {
+ return email;
+ }
+
+ public void setEmail(String email) {
+ this.email = email;
+ }
+
+ public String getAddress() {
+ return address;
+ }
+
+ public void setAddress(String address) {
+ this.address = address;
+ }
+
+ public BloodClass getBloodClass() {
+ return bloodClass;
+ }
+
+ public void setBloodClass(BloodClass bloodClass) {
+ this.bloodClass = bloodClass;
+ }
+
+ public AllergyClass getAllergyClass() {
+ return allergyClass;
+ }
+
+ public void setAllergyClass(AllergyClass allergyClass) {
+ this.allergyClass = allergyClass;
+ }
+
+ public GeneticDiseaseClass getGeneticDiseaseClass() {
+ return geneticDiseaseClass;
+ }
+
+ public void setGeneticDiseaseClass(GeneticDiseaseClass geneticDiseaseClass) {
+ this.geneticDiseaseClass = geneticDiseaseClass;
+ }
+
+ public String getMedicine() {
+ return medicine;
+ }
+
+ public void setMedicine(String medicine) {
+ this.medicine = medicine;
+ }
+
+ public String getBaseDisease() {
+ return baseDisease;
+ }
+
+ public void setBaseDisease(String baseDisease) {
+ this.baseDisease = baseDisease;
+ }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/bean/HealthCareExistingProblemsBean.java b/app/src/main/java/com/application/zhangshi_app_android/bean/HealthCareExistingProblemsBean.java
new file mode 100644
index 0000000..4b86d30
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/bean/HealthCareExistingProblemsBean.java
@@ -0,0 +1,534 @@
+package com.application.zhangshi_app_android.bean;
+
+/**
+ * @author Ljj
+ * @date 2023.07.21. 20:07
+ * @desc 鍋ュ悍淇濆仴鐜板瓨闂
+ */
+public class HealthCareExistingProblemsBean {
+ //鑴戣绠$柧鐥�
+ private BrainDiseaseClass brainDiseaseClass;
+ //蹇冭剰鐤剧梾
+ private HeartDiseaseClass heartDiseaseClass;
+ //琛�绠$柧鐥�
+ private VascularDiseaseClass vascularDiseaseClass;
+ //娑堝寲绯荤粺鐤剧梾
+ private DigestiveSystemDiseaseClass digestiveSystemDiseaseClass;
+ //鍛煎惛绯荤粺鐤剧梾
+ private RespiratorySystemDiseaseClass respiratorySystemDiseaseClass;
+ //鑲捐剰鐤剧梾
+ private KidneyDiseaseClass kidneyDiseaseClass;
+ //鍐呭垎娉岀郴缁熺柧鐥�
+ private OtherDiseaseClass otherDiseaseClass;
+
+ public void setBrainDiseaseClass(BrainDiseaseClass brainDiseaseClass){
+ this.brainDiseaseClass = brainDiseaseClass;
+ }
+ public BrainDiseaseClass getBrainDiseaseClass(){
+ return this.brainDiseaseClass;
+ }
+ public void setHeartDiseaseClass(HeartDiseaseClass heartDiseaseClass){
+ this.heartDiseaseClass = heartDiseaseClass;
+ }
+ public HeartDiseaseClass getHeartDiseaseClass(){
+ return this.heartDiseaseClass;
+ }
+ public void setVascularDiseaseClass(VascularDiseaseClass vascularDiseaseClass){
+ this.vascularDiseaseClass = vascularDiseaseClass;
+ }
+ public VascularDiseaseClass getVascularDiseaseClass(){
+ return this.vascularDiseaseClass;
+ }
+ public void setDigestiveSystemDiseaseClass(DigestiveSystemDiseaseClass digestiveSystemDiseaseClass){
+ this.digestiveSystemDiseaseClass = digestiveSystemDiseaseClass;
+ }
+ public DigestiveSystemDiseaseClass getDigestiveSystemDiseaseClass(){
+ return this.digestiveSystemDiseaseClass;
+ }
+ public void setRespiratorySystemDiseaseClass(RespiratorySystemDiseaseClass respiratorySystemDiseaseClass){
+ this.respiratorySystemDiseaseClass = respiratorySystemDiseaseClass;
+ }
+ public RespiratorySystemDiseaseClass getRespiratorySystemDiseaseClass(){
+ return this.respiratorySystemDiseaseClass;
+ }
+ public void setKidneyDiseaseClass(KidneyDiseaseClass kidneyDiseaseClass){
+ this.kidneyDiseaseClass = kidneyDiseaseClass;
+ }
+ public KidneyDiseaseClass getKidneyDiseaseClass(){
+ return this.kidneyDiseaseClass;
+ }
+ public void setOtherDiseaseClass(OtherDiseaseClass otherDiseaseClass){
+ this.otherDiseaseClass = otherDiseaseClass;
+ }
+ public OtherDiseaseClass getOtherDiseaseClass(){
+ return this.otherDiseaseClass;
+ }
+ public static class BrainDiseaseClass {
+ //缂鸿鎬ц剳鍗掍腑
+ private int ischemicStroke;
+ //鑴戝嚭琛�
+ private int cerebralHemorrhage;
+ //铔涚綉鑶滀笅鑵斿嚭琛�
+ private int subarachnoidHemorrhage;
+ //鐭殏鎬ц剳缂鸿鍙戜綔
+ private int tia;
+ //鍏朵粬
+ private int other;
+
+ private String otherText;
+
+
+ public void setIschemicStroke(int ischemicStroke){
+ this.ischemicStroke = ischemicStroke;
+ }
+ public int getIschemicStroke(){
+ return this.ischemicStroke;
+ }
+ public void setCerebralHemorrhage(int cerebralHemorrhage){
+ this.cerebralHemorrhage = cerebralHemorrhage;
+ }
+ public int getCerebralHemorrhage(){
+ return this.cerebralHemorrhage;
+ }
+ public void setSubarachnoidHemorrhage(int subarachnoidHemorrhage){
+ this.subarachnoidHemorrhage = subarachnoidHemorrhage;
+ }
+ public int getSubarachnoidHemorrhage(){
+ return this.subarachnoidHemorrhage;
+ }
+ public void setOther(int other){
+ this.other = other;
+ }
+ public int getOther(){
+ return this.other;
+ }
+ public void setOtherText(String otherText){
+ this.otherText = otherText;
+ }
+ public String getOtherText(){
+ return this.otherText;
+ }
+ public void setTia(int tia){
+ this.tia = tia;
+ }
+ public int getTia(){
+ return this.tia;
+ }
+
+ }
+
+ public static class HeartDiseaseClass {
+ //蹇冭倢姊楀
+ private int myocardialInfarct;
+ //蹇冪粸鐥�
+ private int anginaPectoris;
+ //鍐犵姸鍔ㄨ剦琛�杩愰噸寤�
+ private int coronaryRevascularization;
+ //鍏呰鎬у績鍔涜“绔�
+ private int congestiveHeartFailure;
+ //蹇冨墠鍖虹柤鐥�
+ private int precordialPain;
+ //鍏朵粬
+ private int other;
+
+ private String otherText;
+
+ public void setMyocardialInfarct(int myocardialInfarct){
+ this.myocardialInfarct = myocardialInfarct;
+ }
+ public int getMyocardialInfarct(){
+ return this.myocardialInfarct;
+ }
+ public void setAnginaPectoris(int anginaPectoris){
+ this.anginaPectoris = anginaPectoris;
+ }
+ public int getAnginaPectoris(){
+ return this.anginaPectoris;
+ }
+ public void setCoronaryRevascularization(int coronaryRevascularization){
+ this.coronaryRevascularization = coronaryRevascularization;
+ }
+ public int getCoronaryRevascularization(){
+ return this.coronaryRevascularization;
+ }
+ public void setCongestiveHeartFailure(int congestiveHeartFailure){
+ this.congestiveHeartFailure = congestiveHeartFailure;
+ }
+ public int getCongestiveHeartFailure(){
+ return this.congestiveHeartFailure;
+ }
+ public void setPrecordialPain(int precordialPain){
+ this.precordialPain = precordialPain;
+ }
+ public int getPrecordialPain(){
+ return this.precordialPain;
+ }
+ public void setOther(int other){
+ this.other = other;
+ }
+ public int getOther(){
+ return this.other;
+ }
+ public void setOtherText(String otherText){
+ this.otherText = otherText;
+ }
+ public String getOtherText(){
+ return this.otherText;
+ }
+
+ }
+
+ public static class VascularDiseaseClass {
+ //澶瑰眰鍔ㄨ剦鐦�
+ private int dissectingAneurysm;
+ //鍔ㄨ剦闂鎬х柧鐥�
+ private int arterialOcclusiveDiseases;
+ //鍏朵粬
+ private int other;
+
+ private String otherText;
+
+ public void setDissectingAneurysm(int dissectingAneurysm){
+ this.dissectingAneurysm = dissectingAneurysm;
+ }
+ public int getDissectingAneurysm(){
+ return this.dissectingAneurysm;
+ }
+ public void setArterialOcclusiveDiseases(int arterialOcclusiveDiseases){
+ this.arterialOcclusiveDiseases = arterialOcclusiveDiseases;
+ }
+ public int getArterialOcclusiveDiseases(){
+ return this.arterialOcclusiveDiseases;
+ }
+ public void setOther(int other){
+ this.other = other;
+ }
+ public int getOther(){
+ return this.other;
+ }
+ public void setOtherText(String otherText){
+ this.otherText = otherText;
+ }
+ public String getOtherText(){
+ return this.otherText;
+ }
+
+ }
+
+ public static class DigestiveSystemDiseaseClass {
+ //鑳冨崄浜屾寚鑲犳簝鐤�
+ private int gastroduodenalUlcer;
+ //鍙嶆祦鎬ч绠$値
+ private int esophagitis;
+ //鎱㈡�ц儍鐐�
+ private int gastritis;
+ //婧冪枴鎬х粨鑲犵値
+ private int colitis;
+ //鑲濈値
+ private int hepatitis;
+ //鑳嗗泭鐐�
+ private int cholecystitis;
+ //鑳嗙粨鐭�
+ private int cholelithiasis;
+ //鑴傝偑鑲�
+ private int fattyLiver;
+ //楂樿剛琛�鐥�
+ private int hyperlipidemia;
+ //鐥旂柈
+ private int haemorrhoids;
+ //鍏朵粬
+ private int other;
+
+ private String otherText;
+
+ public void setGastroduodenalUlcer(int gastroduodenalUlcer){
+ this.gastroduodenalUlcer = gastroduodenalUlcer;
+ }
+ public int getGastroduodenalUlcer(){
+ return this.gastroduodenalUlcer;
+ }
+ public void setEsophagitis(int esophagitis){
+ this.esophagitis = esophagitis;
+ }
+ public int getEsophagitis(){
+ return this.esophagitis;
+ }
+ public void setGastritis(int gastritis){
+ this.gastritis = gastritis;
+ }
+ public int getGastritis(){
+ return this.gastritis;
+ }
+ public void setColitis(int colitis){
+ this.colitis = colitis;
+ }
+ public int getColitis(){
+ return this.colitis;
+ }
+ public void setHepatitis(int hepatitis){
+ this.hepatitis = hepatitis;
+ }
+ public int getHepatitis(){
+ return this.hepatitis;
+ }
+ public void setCholecystitis(int cholecystitis){
+ this.cholecystitis = cholecystitis;
+ }
+ public int getCholecystitis(){
+ return this.cholecystitis;
+ }
+ public void setCholelithiasis(int cholelithiasis){
+ this.cholelithiasis = cholelithiasis;
+ }
+ public int getCholelithiasis(){
+ return this.cholelithiasis;
+ }
+ public void setFattyLiver(int fattyLiver){
+ this.fattyLiver = fattyLiver;
+ }
+ public int getFattyLiver(){
+ return this.fattyLiver;
+ }
+ public void setHyperlipidemia(int hyperlipidemia){
+ this.hyperlipidemia = hyperlipidemia;
+ }
+ public int getHyperlipidemia(){
+ return this.hyperlipidemia;
+ }
+ public void setHaemorrhoids(int haemorrhoids){
+ this.haemorrhoids = haemorrhoids;
+ }
+ public int getHaemorrhoids(){
+ return this.haemorrhoids;
+ }
+ public void setOther(int other){
+ this.other = other;
+ }
+ public int getOther(){
+ return this.other;
+ }
+ public void setOtherText(String otherText){
+ this.otherText = otherText;
+ }
+ public String getOtherText(){
+ return this.otherText;
+ }
+
+ }
+
+ public static class RespiratorySystemDiseaseClass {
+ //COPD
+ private int copd;
+ //鑲虹値
+ private int pneumonia;
+ //鏀皵绠$値
+ private int bronchitis;
+ //鏀皵绠″摦鍠�
+ private int bronchialAsthma;
+ //鑲虹粨鏍�
+ private int pulmonaryTuberculosis;
+ //涓婂懠鍚搁亾鎰熸煋
+ private int upperRespiratoryTractInfection;
+
+ private int other;
+
+ private String otherText;
+
+
+ public void setPneumonia(int pneumonia){
+ this.pneumonia = pneumonia;
+ }
+ public int getPneumonia(){
+ return this.pneumonia;
+ }
+ public void setBronchitis(int bronchitis){
+ this.bronchitis = bronchitis;
+ }
+ public int getBronchitis(){
+ return this.bronchitis;
+ }
+ public void setBronchialAsthma(int bronchialAsthma){
+ this.bronchialAsthma = bronchialAsthma;
+ }
+ public int getBronchialAsthma(){
+ return this.bronchialAsthma;
+ }
+ public void setPulmonaryTuberculosis(int pulmonaryTuberculosis){
+ this.pulmonaryTuberculosis = pulmonaryTuberculosis;
+ }
+ public int getPulmonaryTuberculosis(){
+ return this.pulmonaryTuberculosis;
+ }
+ public void setUpperRespiratoryTractInfection(int upperRespiratoryTractInfection){
+ this.upperRespiratoryTractInfection = upperRespiratoryTractInfection;
+ }
+ public int getUpperRespiratoryTractInfection(){
+ return this.upperRespiratoryTractInfection;
+ }
+ public void setOther(int other){
+ this.other = other;
+ }
+ public int getOther(){
+ return this.other;
+ }
+ public void setOtherText(String otherText){
+ this.otherText = otherText;
+ }
+ public String getOtherText(){
+ return this.otherText;
+ }
+ public void setCopd(int copd){
+ this.copd = copd;
+ }
+ public int getCopd(){
+ return this.copd;
+ }
+
+ }
+
+ public static class KidneyDiseaseClass {
+ //绯栧翱鐥呰偩鐥�
+ private int diabetes;
+ //鑲惧姛鑳借“绔�
+ private int renalFailure;
+ //鎬ユ�ц偩鐐�
+ private int acuteNephritis;
+ //鎱㈡�ц偩鐐�
+ private int chronicNephritis;
+ //娉屽翱绯荤粺缁撶煶
+ private int urinaryCalculus;
+ //娉屽翱绯荤粺鎰熸煋
+ private int urinaryTractInfection;
+ //鍏朵粬
+ private int other;
+
+ private String otherText;
+
+ public void setDiabetes(int diabetes){
+ this.diabetes = diabetes;
+ }
+ public int getDiabetes(){
+ return this.diabetes;
+ }
+ public void setRenalFailure(int renalFailure){
+ this.renalFailure = renalFailure;
+ }
+ public int getRenalFailure(){
+ return this.renalFailure;
+ }
+ public void setAcuteNephritis(int acuteNephritis){
+ this.acuteNephritis = acuteNephritis;
+ }
+ public int getAcuteNephritis(){
+ return this.acuteNephritis;
+ }
+ public void setChronicNephritis(int chronicNephritis){
+ this.chronicNephritis = chronicNephritis;
+ }
+ public int getChronicNephritis(){
+ return this.chronicNephritis;
+ }
+ public void setUrinaryCalculus(int urinaryCalculus){
+ this.urinaryCalculus = urinaryCalculus;
+ }
+ public int getUrinaryCalculus(){
+ return this.urinaryCalculus;
+ }
+ public void setUrinaryTractInfection(int urinaryTractInfection){
+ this.urinaryTractInfection = urinaryTractInfection;
+ }
+ public int getUrinaryTractInfection(){
+ return this.urinaryTractInfection;
+ }
+ public void setOther(int other){
+ this.other = other;
+ }
+ public int getOther(){
+ return this.other;
+ }
+ public void setOtherText(String otherText){
+ this.otherText = otherText;
+ }
+ public String getOtherText(){
+ return this.otherText;
+ }
+
+ }
+
+ public static class OtherDiseaseClass {
+ //瀛曟湡涓変釜鏈堝唴
+ private int pregnant;
+ //鐥呮瘨鎬ч噸鎰�
+ private int cold;
+ //浼犳煋鎬х柧鐥�
+ private int infectious;
+ //鑲哄ぇ鐤�
+ private int pulmonaryBulla;
+ //缁撴牳鎬х┖娲炲舰鎴愮殑鍜
+ private int hemoptysis;
+ //鏈粡澶勭悊鐨勬皵鑳�
+ private int pneumothorax;
+ //娲诲姩鎬у嚭琛�
+ private int activeBleeding;
+
+ private int other;
+
+ private String otherText;
+
+ public void setPregnant(int pregnant){
+ this.pregnant = pregnant;
+ }
+ public int getPregnant(){
+ return this.pregnant;
+ }
+ public void setCold(int cold){
+ this.cold = cold;
+ }
+ public int getCold(){
+ return this.cold;
+ }
+ public void setInfectious(int infectious){
+ this.infectious = infectious;
+ }
+ public int getInfectious(){
+ return this.infectious;
+ }
+ public void setPulmonaryBulla(int pulmonaryBulla){
+ this.pulmonaryBulla = pulmonaryBulla;
+ }
+ public int getPulmonaryBulla(){
+ return this.pulmonaryBulla;
+ }
+ public void setHemoptysis(int hemoptysis){
+ this.hemoptysis = hemoptysis;
+ }
+ public int getHemoptysis(){
+ return this.hemoptysis;
+ }
+ public void setPneumothorax(int pneumothorax){
+ this.pneumothorax = pneumothorax;
+ }
+ public int getPneumothorax(){
+ return this.pneumothorax;
+ }
+ public void setActiveBleeding(int activeBleeding){
+ this.activeBleeding = activeBleeding;
+ }
+ public int getActiveBleeding(){
+ return this.activeBleeding;
+ }
+ public void setOther(int other){
+ this.other = other;
+ }
+ public int getOther(){
+ return this.other;
+ }
+ public void setOtherText(String otherText){
+ this.otherText = otherText;
+ }
+ public String getOtherText(){
+ return this.otherText;
+ }
+
+ }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/bean/HealthCareLifeHabitsBean.java b/app/src/main/java/com/application/zhangshi_app_android/bean/HealthCareLifeHabitsBean.java
new file mode 100644
index 0000000..c5fde59
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/bean/HealthCareLifeHabitsBean.java
@@ -0,0 +1,415 @@
+package com.application.zhangshi_app_android.bean;
+
+/**
+ * @author Ljj
+ * @date 2023.07.21. 20:06
+ * @desc 鍋ュ悍淇濆仴鐢熸椿涔犳儻
+ */
+public class HealthCareLifeHabitsBean {
+ private int id;
+ //鐢ㄦ埛id
+ private int uid;
+ //楗涔犳儻(鍠�)
+ private String eatGood;
+ //楗涔犳儻(蹇�)
+ private String eatBad;
+ //鐖卞ソ
+ private String hobby;
+ //鍡滃ソ
+ private String addition;
+ //澶т究
+ private String stool;
+ //灏忎究
+ private String urine;
+ //鐫$湢
+ private SleepClass sleepClass;
+ //澶т究瑙勫緥
+ private StoolStatusClass stoolStatusClass;
+ //灏忎究瑙勫緥
+ private UrineStatusClass urineStatusClass;
+ //楗涔犳儻
+ private EatingHabitsClass eatingHabitsClass;
+ //鐢熸椿浜嬩欢
+ private LifeEventClass lifeEventClass;
+
+ public void setId(int id){
+ this.id = id;
+ }
+ public int getId(){
+ return this.id;
+ }
+ public void setUid(int uid){
+ this.uid = uid;
+ }
+ public int getUid(){
+ return this.uid;
+ }
+ public void setEatGood(String eatGood){
+ this.eatGood = eatGood;
+ }
+ public String getEatGood(){
+ return this.eatGood;
+ }
+ public void setEatBad(String eatBad){
+ this.eatBad = eatBad;
+ }
+ public String getEatBad(){
+ return this.eatBad;
+ }
+ public void setHobby(String hobby){
+ this.hobby = hobby;
+ }
+ public String getHobby(){
+ return this.hobby;
+ }
+ public void setAddition(String addition){
+ this.addition = addition;
+ }
+ public String getAddition(){
+ return this.addition;
+ }
+ public void setStool(String stool){
+ this.stool = stool;
+ }
+ public String getStool(){
+ return this.stool;
+ }
+ public void setUrine(String urine){
+ this.urine = urine;
+ }
+ public String getUrine(){
+ return this.urine;
+ }
+ public void setSleepClass(SleepClass sleepClass){
+ this.sleepClass = sleepClass;
+ }
+ public SleepClass getSleepClass(){
+ return this.sleepClass;
+ }
+ public void setStoolStatusClass(StoolStatusClass stoolStatusClass){
+ this.stoolStatusClass = stoolStatusClass;
+ }
+ public StoolStatusClass getStoolStatusClass(){
+ return this.stoolStatusClass;
+ }
+ public void setUrineStatusClass(UrineStatusClass urineStatusClass){
+ this.urineStatusClass = urineStatusClass;
+ }
+ public UrineStatusClass getUrineStatusClass(){
+ return this.urineStatusClass;
+ }
+ public void setEatingHabitsClass(EatingHabitsClass eatingHabitsClass){
+ this.eatingHabitsClass = eatingHabitsClass;
+ }
+ public EatingHabitsClass getEatingHabitsClass(){
+ return this.eatingHabitsClass;
+ }
+ public void setLifeEventClass(LifeEventClass lifeEventClass){
+ this.lifeEventClass = lifeEventClass;
+ }
+ public LifeEventClass getLifeEventClass(){
+ return this.lifeEventClass;
+ }
+ public static class SleepClass {
+ //鑹ソ 1 鏄� 0 鍚�
+ private int good;
+ //涓�鑸� 1 鏄� 0 鍚�
+ private int general;
+ //鏄撻啋 1 鏄� 0 鍚�
+ private int easyWake;
+ //澶氭ⅵ 1 鏄� 0 鍚�
+ private int dreaminess;
+ //澶辩湢 1 鏄� 0 鍚�
+ private int sleepless;
+ //鎵撻季 1 鏄� 0 鍚�
+ private int snore;
+ //鐫′笉鐔� 1 鏄� 0 鍚�
+ private int wakefulness;
+ //鍏朵粬 1 鏄� 0 鍚�
+ private int other;
+
+ private String otherText;
+
+ public void setGood(int good){
+ this.good = good;
+ }
+ public int getGood(){
+ return this.good;
+ }
+ public void setGeneral(int general){
+ this.general = general;
+ }
+ public int getGeneral(){
+ return this.general;
+ }
+ public void setEasyWake(int easyWake){
+ this.easyWake = easyWake;
+ }
+ public int getEasyWake(){
+ return this.easyWake;
+ }
+ public void setDreaminess(int dreaminess){
+ this.dreaminess = dreaminess;
+ }
+ public int getDreaminess(){
+ return this.dreaminess;
+ }
+ public void setSleepless(int sleepless){
+ this.sleepless = sleepless;
+ }
+ public int getSleepless(){
+ return this.sleepless;
+ }
+ public void setSnore(int snore){
+ this.snore = snore;
+ }
+ public int getSnore(){
+ return this.snore;
+ }
+ public void setWakefulness(int wakefulness){
+ this.wakefulness = wakefulness;
+ }
+ public int getWakefulness(){
+ return this.wakefulness;
+ }
+ public void setOther(int other){
+ this.other = other;
+ }
+ public int getOther(){
+ return this.other;
+ }
+ public void setOtherText(String otherText){
+ this.otherText = otherText;
+ }
+ public String getOtherText(){
+ return this.otherText;
+ }
+
+ }
+
+ public static class StoolStatusClass {
+ //姝e父 1 鏄� 0 鍚�
+ private int normal;
+ //绉樼粨 1 鏄� 0 鍚�
+ private int constipation;
+ //鑵规郴 1 鏄� 0 鍚�
+ private int diarrhea;
+ //澶辩 1 鏄� 0 鍚�
+ private int incontinence;
+ private int other;
+ private String otherText;
+
+ public void setNormal(int normal){
+ this.normal = normal;
+ }
+ public int getNormal(){
+ return this.normal;
+ }
+ public void setConstipation(int constipation){
+ this.constipation = constipation;
+ }
+ public int getConstipation(){
+ return this.constipation;
+ }
+ public void setDiarrhea(int diarrhea){
+ this.diarrhea = diarrhea;
+ }
+ public int getDiarrhea(){
+ return this.diarrhea;
+ }
+ public void setIncontinence(int incontinence){
+ this.incontinence = incontinence;
+ }
+ public int getIncontinence(){
+ return this.incontinence;
+ }
+ public void setOther(int other){
+ this.other = other;
+ }
+ public int getOther(){
+ return this.other;
+ }
+ public void setOtherText(String otherText){
+ this.otherText = otherText;
+ }
+ public String getOtherText(){
+ return this.otherText;
+ }
+
+ }
+
+ public static class UrineStatusClass {
+ //姝e父 1 鏄� 0 鍚�
+ private int normal;
+ //澶滃翱娼寸暀 1 鏄� 0 鍚�
+ private int nightUrinaryRetention;
+ //澶辩 1 鏄� 0 鍚�
+ private int incontinence;
+ //閬楀翱 1 鏄� 0 鍚�
+ private int enuresis;
+ private int other;
+ private String otherText;
+
+ public void setNormal(int normal){
+ this.normal = normal;
+ }
+ public int getNormal(){
+ return this.normal;
+ }
+ public void setNightUrinaryRetention(int nightUrinaryRetention){
+ this.nightUrinaryRetention = nightUrinaryRetention;
+ }
+ public int getNightUrinaryRetention(){
+ return this.nightUrinaryRetention;
+ }
+ public void setIncontinence(int incontinence){
+ this.incontinence = incontinence;
+ }
+ public int getIncontinence(){
+ return this.incontinence;
+ }
+ public void setEnuresis(int enuresis){
+ this.enuresis = enuresis;
+ }
+ public int getEnuresis(){
+ return this.enuresis;
+ }
+ public void setOther(int other){
+ this.other = other;
+ }
+ public int getOther(){
+ return this.other;
+ }
+ public void setOtherText(String otherText){
+ this.otherText = otherText;
+ }
+ public String getOtherText(){
+ return this.otherText;
+ }
+
+ }
+
+ public static class EatingHabitsClass {
+ //鑽ょ礌鍧囧寑 1 鏄� 0 鍚�
+ private int uniformityOfMeatAndVegetables;
+ //鑽ら涓轰富 1 鏄� 0 鍚�
+ private int meat;
+ //绱犻涓轰富 1 鏄� 0 鍚�
+ private int vegetable;
+ //鍡滅洂 1 鏄� 0 鍚�
+ private int salt;
+ //鍡滄补 1 鏄� 0 鍚�
+ private int oil;
+ //鍡滅硸 1 鏄� 0 鍚�
+ private int sugar;
+ //鍡滈厭 1 鏄� 0 鍚�
+ private int other;
+
+ private String otherText;
+
+ public void setUniformityOfMeatAndVegetables(int uniformityOfMeatAndVegetables){
+ this.uniformityOfMeatAndVegetables = uniformityOfMeatAndVegetables;
+ }
+ public int getUniformityOfMeatAndVegetables(){
+ return this.uniformityOfMeatAndVegetables;
+ }
+ public void setMeat(int meat){
+ this.meat = meat;
+ }
+ public int getMeat(){
+ return this.meat;
+ }
+ public void setVegetable(int vegetable){
+ this.vegetable = vegetable;
+ }
+ public int getVegetable(){
+ return this.vegetable;
+ }
+ public void setSalt(int salt){
+ this.salt = salt;
+ }
+ public int getSalt(){
+ return this.salt;
+ }
+ public void setOil(int oil){
+ this.oil = oil;
+ }
+ public int getOil(){
+ return this.oil;
+ }
+ public void setSugar(int sugar){
+ this.sugar = sugar;
+ }
+ public int getSugar(){
+ return this.sugar;
+ }
+ public void setOther(int other){
+ this.other = other;
+ }
+ public int getOther(){
+ return this.other;
+ }
+ public void setOtherText(String otherText){
+ this.otherText = otherText;
+ }
+ public String getOtherText(){
+ return this.otherText;
+ }
+
+ }
+
+ public static class LifeEventClass {
+ //涓у伓 1 鏄� 0 鍚�
+ private int bereave;
+ //鐙眳 1 鏄� 0 鍚�
+ private int liveAlone;
+ //涓�骞村唴浣忛櫌 1 鏄� 0 鍚�
+ private int inHospital;
+ //瀛愬コ鍒嗗 1 鏄� 0 鍚�
+ private int divide;
+
+ private int other;
+
+ private String otherText;
+
+ public void setBereave(int bereave){
+ this.bereave = bereave;
+ }
+ public int getBereave(){
+ return this.bereave;
+ }
+ public void setLiveAlone(int liveAlone){
+ this.liveAlone = liveAlone;
+ }
+ public int getLiveAlone(){
+ return this.liveAlone;
+ }
+ public void setInHospital(int inHospital){
+ this.inHospital = inHospital;
+ }
+ public int getInHospital(){
+ return this.inHospital;
+ }
+ public void setDivide(int divide){
+ this.divide = divide;
+ }
+ public int getDivide(){
+ return this.divide;
+ }
+ public void setOther(int other){
+ this.other = other;
+ }
+ public int getOther(){
+ return this.other;
+ }
+ public void setOtherText(String otherText){
+ this.otherText = otherText;
+ }
+ public String getOtherText(){
+ return this.otherText;
+ }
+
+ }
+
+
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/bean/HealthCareNotesContentBean.java b/app/src/main/java/com/application/zhangshi_app_android/bean/HealthCareNotesContentBean.java
new file mode 100644
index 0000000..9dd1e64
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/bean/HealthCareNotesContentBean.java
@@ -0,0 +1,159 @@
+package com.application.zhangshi_app_android.bean;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author Ljj
+ * @date 2023.07.21. 20:07
+ * @desc 鍋ュ悍淇濆仴绗旇鍐呭
+ */
+public class HealthCareNotesContentBean {
+ //id
+ private int id;
+ //鐢ㄦ埛id
+ private int uid;
+ //鐢熸椿涔犳儻
+ private String lifeHabits;
+ //浠ュ線鐥呭彶
+ private String historyDisease;
+ //璇婃不鎯呭喌
+ private String treatmentInfo;
+ //瀹舵棌鐥呭彶
+ private String familyDisease;
+ //鐜扮梾鍙�
+ private String nowDisease;
+ //鐤剧梾鐨勫彂鐢�
+ private String diseaseHappen;
+ //鐤剧梾鐨勫彂灞�
+ private String diseaseDevelop;
+ //鐤剧梾鐨勬不鐤�
+ private String diseaseTreat;
+ //鐤剧梾鐨勮浆褰�
+ private String diseaseBack;
+
+ public void setId(int id){
+ this.id = id;
+ }
+ public int getId(){
+ return this.id;
+ }
+ public void setUid(int uid){
+ this.uid = uid;
+ }
+ public int getUid(){
+ return this.uid;
+ }
+ public void setLifeHabits(String lifeHabits){
+ this.lifeHabits = lifeHabits;
+ }
+ public String getLifeHabits(){
+ return this.lifeHabits;
+ }
+ public void setHistoryDisease(String historyDisease){
+ this.historyDisease = historyDisease;
+ }
+ public String getHistoryDisease(){
+ return this.historyDisease;
+ }
+ public void setTreatmentInfo(String treatmentInfo){
+ this.treatmentInfo = treatmentInfo;
+ }
+ public String getTreatmentInfo(){
+ return this.treatmentInfo;
+ }
+ public void setFamilyDisease(String familyDisease){
+ this.familyDisease = familyDisease;
+ }
+ public String getFamilyDisease(){
+ return this.familyDisease;
+ }
+ public void setNowDisease(String nowDisease){
+ this.nowDisease = nowDisease;
+ }
+ public String getNowDisease(){
+ return this.nowDisease;
+ }
+ public void setDiseaseHappen(String diseaseHappen){
+ this.diseaseHappen = diseaseHappen;
+ }
+ public String getDiseaseHappen(){
+ return this.diseaseHappen;
+ }
+ public void setDiseaseDevelop(String diseaseDevelop){
+ this.diseaseDevelop = diseaseDevelop;
+ }
+ public String getDiseaseDevelop(){
+ return this.diseaseDevelop;
+ }
+ public void setDiseaseTreat(String diseaseTreat){
+ this.diseaseTreat = diseaseTreat;
+ }
+ public String getDiseaseTreat(){
+ return this.diseaseTreat;
+ }
+ public void setDiseaseBack(String diseaseBack){
+ this.diseaseBack = diseaseBack;
+ }
+ public String getDiseaseBack(){
+ return this.diseaseBack;
+ }
+
+ public List<String> getTabList(){
+ List<String> tabList = new ArrayList<>();
+ tabList.add("鐢熸椿涔犳儻");
+ tabList.add("浠ュ線鐥呭彶");
+ tabList.add("璇婃不鎯呭喌");
+ tabList.add("瀹舵棌鐥呭彶");
+ tabList.add("鐜扮梾鍙�");
+ tabList.add("鐤剧梾鐨勫彂鐢�");
+ tabList.add("鐤剧梾鐨勫彂灞�");
+ tabList.add("鐤剧梾鐨勬不鐤�");
+ tabList.add("鐤剧梾鐨勮浆褰�");
+ return tabList;
+ }
+
+ public List<String> getContentList() {
+ List<String> contentList = new ArrayList<>();
+ contentList.add(lifeHabits);
+ contentList.add(historyDisease);
+ contentList.add(treatmentInfo);
+ contentList.add(familyDisease);
+ contentList.add(nowDisease);
+ contentList.add(diseaseHappen);
+ contentList.add(diseaseDevelop);
+ contentList.add(diseaseTreat);
+ contentList.add(diseaseBack);
+ return contentList;
+ }
+
+ public void setContent(List<String> contentList) {
+ this.lifeHabits = contentList.get(0);
+ this.historyDisease = contentList.get(1);
+ this.treatmentInfo = contentList.get(2);
+ this.familyDisease = contentList.get(3);
+ this.nowDisease = contentList.get(4);
+ this.diseaseHappen = contentList.get(5);
+ this.diseaseDevelop = contentList.get(6);
+ this.diseaseTreat = contentList.get(7);
+ this.diseaseBack = contentList.get(8);
+ }
+
+ @Override
+ public String toString() {
+ return super.toString() + ",HealthCareNotesContentBean{" +
+ "id=" + id +
+ ", uid=" + uid +
+ ", lifeHabits='" + lifeHabits + '\'' +
+ ", historyDisease='" + historyDisease + '\'' +
+ ", treatmentInfo='" + treatmentInfo + '\'' +
+ ", familyDisease='" + familyDisease + '\'' +
+ ", nowDisease='" + nowDisease + '\'' +
+ ", diseaseHappen='" + diseaseHappen + '\'' +
+ ", diseaseDevelop='" + diseaseDevelop + '\'' +
+ ", diseaseTreat='" + diseaseTreat + '\'' +
+ ", diseaseBack='" + diseaseBack + '\'' +
+ '}';
+ }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/bean/HealthCareNursingExaminationBean.java b/app/src/main/java/com/application/zhangshi_app_android/bean/HealthCareNursingExaminationBean.java
new file mode 100644
index 0000000..63cb5f3
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/bean/HealthCareNursingExaminationBean.java
@@ -0,0 +1,390 @@
+package com.application.zhangshi_app_android.bean;
+
+/**
+ * @author Ljj
+ * @date 2023.07.21. 20:07
+ * @desc 鍋ュ悍淇濆仴鎶ょ悊鏌ヤ綋
+ */
+public class HealthCareNursingExaminationBean {
+ //id
+ private int id;
+ //鐢ㄦ埛id
+ private int uid;
+ //浣撴俯
+ private String temperature;
+ //鑴夋悘
+ private String pulse;
+ //
+ private String breathe;
+ //琛�鍘�
+ private String bloodPressure;
+ //浣撻噸
+ private String weight;
+ //鍥涜偄娲诲姩
+ private String movement;
+ //鐨偆绮樿啘
+ private SkinTypeClass skinTypeClass;
+ //蹇冪悊鐘舵��
+ private PsychologyTypeClass psychologyTypeClass;
+ //鐥呯悊鎬佸害
+ private AttitudeClass attitudeClass;
+ //钀ュ吇鐘跺喌
+ private NutritionClass nutritionClass;
+
+ public void setId(int id){
+ this.id = id;
+ }
+ public int getId(){
+ return this.id;
+ }
+ public void setUid(int uid){
+ this.uid = uid;
+ }
+ public int getUid(){
+ return this.uid;
+ }
+ public void setTemperature(String temperature){
+ this.temperature = temperature;
+ }
+ public String getTemperature(){
+ return this.temperature;
+ }
+ public void setPulse(String pulse){
+ this.pulse = pulse;
+ }
+ public String getPulse(){
+ return this.pulse;
+ }
+ public void setBreathe(String breathe){
+ this.breathe = breathe;
+ }
+ public String getBreathe(){
+ return this.breathe;
+ }
+ public void setBloodPressure(String bloodPressure){
+ this.bloodPressure = bloodPressure;
+ }
+ public String getBloodPressure(){
+ return this.bloodPressure;
+ }
+ public void setWeight(String weight){
+ this.weight = weight;
+ }
+ public String getWeight(){
+ return this.weight;
+ }
+ public void setMovement(String movement){
+ this.movement = movement;
+ }
+ public String getMovement(){
+ return this.movement;
+ }
+ public void setSkinTypeClass(SkinTypeClass skinTypeClass){
+ this.skinTypeClass = skinTypeClass;
+ }
+ public SkinTypeClass getSkinTypeClass(){
+ return this.skinTypeClass;
+ }
+ public void setPsychologyTypeClass(PsychologyTypeClass psychologyTypeClass){
+ this.psychologyTypeClass = psychologyTypeClass;
+ }
+ public PsychologyTypeClass getPsychologyTypeClass(){
+ return this.psychologyTypeClass;
+ }
+ public void setAttitudeClass(AttitudeClass attitudeClass){
+ this.attitudeClass = attitudeClass;
+ }
+ public AttitudeClass getAttitudeClass(){
+ return this.attitudeClass;
+ }
+ public void setNutritionClass(NutritionClass nutritionClass){
+ this.nutritionClass = nutritionClass;
+ }
+ public NutritionClass getNutritionClass(){
+ return this.nutritionClass;
+ }
+ public static class SkinTypeClass {
+ //闈掓槬鐥� 0鍚� 1鏄�
+ private int acne;
+ //鐗涚毊鐧� 0鍚� 1鏄�
+ private int psoriasis;
+ //鑹茬礌娌夌潃 0鍚� 1鏄�
+ private int color;
+ //姘磋偪 0鍚� 1鏄�
+ private int edema;
+ //鐨柟 0鍚� 1鏄�
+ private int rash;
+ //鐦�鏂� 0鍚� 1鏄�
+ private int bloodStasis;
+ //鐨笅缁撹妭鎴栬偪鍧� 0鍚� 1鏄�
+ private int snom;
+ //铚樿洓鐥� 0鍚� 1鏄�
+ private int nevus;
+ //婧冪枴 0鍚� 1鏄�
+ private int ulcer;
+ //鍏朵粬 0鍚� 1鏄�
+ private int other;
+
+ private String otherText;
+
+ public void setAcne(int acne){
+ this.acne = acne;
+ }
+ public int getAcne(){
+ return this.acne;
+ }
+ public void setPsoriasis(int psoriasis){
+ this.psoriasis = psoriasis;
+ }
+ public int getPsoriasis(){
+ return this.psoriasis;
+ }
+ public void setColor(int color){
+ this.color = color;
+ }
+ public int getColor(){
+ return this.color;
+ }
+ public void setEdema(int edema){
+ this.edema = edema;
+ }
+ public int getEdema(){
+ return this.edema;
+ }
+ public void setRash(int rash){
+ this.rash = rash;
+ }
+ public int getRash(){
+ return this.rash;
+ }
+ public void setBloodStasis(int bloodStasis){
+ this.bloodStasis = bloodStasis;
+ }
+ public int getBloodStasis(){
+ return this.bloodStasis;
+ }
+ public void setSnom(int snom){
+ this.snom = snom;
+ }
+ public int getSnom(){
+ return this.snom;
+ }
+ public void setNevus(int nevus){
+ this.nevus = nevus;
+ }
+ public int getNevus(){
+ return this.nevus;
+ }
+ public void setUlcer(int ulcer){
+ this.ulcer = ulcer;
+ }
+ public int getUlcer(){
+ return this.ulcer;
+ }
+ public void setOther(int other){
+ this.other = other;
+ }
+ public int getOther(){
+ return this.other;
+ }
+ public void setOtherText(String otherText){
+ this.otherText = otherText;
+ }
+ public String getOtherText(){
+ return this.otherText;
+ }
+
+ }
+
+ public static class PsychologyTypeClass {
+ //寮�鏈� 0鍚� 1鏄�
+ private int optimistic;
+ //鐒﹁檻 0鍚� 1鏄�
+ private int worry;
+ //蹇ф剚鎭愭儳 0鍚� 1鏄�
+ private int fear;
+ //鐚滅枒 0鍚� 1鏄�
+ private int suspicion;
+ //鍘嬫姂 0鍚� 1鏄�
+ private int constrain;
+ //鎬濆康 0鍚� 1鏄�
+ private int miss;
+
+ private int other;
+
+ private String otherText;
+
+ public void setOptimistic(int optimistic){
+ this.optimistic = optimistic;
+ }
+ public int getOptimistic(){
+ return this.optimistic;
+ }
+ public void setWorry(int worry){
+ this.worry = worry;
+ }
+ public int getWorry(){
+ return this.worry;
+ }
+ public void setFear(int fear){
+ this.fear = fear;
+ }
+ public int getFear(){
+ return this.fear;
+ }
+ public void setSuspicion(int suspicion){
+ this.suspicion = suspicion;
+ }
+ public int getSuspicion(){
+ return this.suspicion;
+ }
+ public void setConstrain(int constrain){
+ this.constrain = constrain;
+ }
+ public int getConstrain(){
+ return this.constrain;
+ }
+ public void setMiss(int miss){
+ this.miss = miss;
+ }
+ public int getMiss(){
+ return this.miss;
+ }
+ public void setOther(int other){
+ this.other = other;
+ }
+ public int getOther(){
+ return this.other;
+ }
+ public void setOtherText(String otherText){
+ this.otherText = otherText;
+ }
+ public String getOtherText(){
+ return this.otherText;
+ }
+
+ }
+
+ public static class AttitudeClass {
+ //鏄庢湕 0鍚� 1鏄�
+ private int lucidity;
+ //涓嶄簡瑙� 0鍚� 1鏄�
+ private int unknown;
+ //姝e父 0鍚� 1鏄�
+ private int normal;
+ //涓嶆甯� 0鍚� 1鏄�
+ private int abnormal;
+ //鍏朵粬 0鍚� 1鏄�
+ private int other;
+
+ private String otherText;
+
+ public void setLucidity(int lucidity){
+ this.lucidity = lucidity;
+ }
+ public int getLucidity(){
+ return this.lucidity;
+ }
+ public void setUnknown(int unknown){
+ this.unknown = unknown;
+ }
+ public int getUnknown(){
+ return this.unknown;
+ }
+ public void setNormal(int normal){
+ this.normal = normal;
+ }
+ public int getNormal(){
+ return this.normal;
+ }
+ public void setAbnormal(int abnormal){
+ this.abnormal = abnormal;
+ }
+ public int getAbnormal(){
+ return this.abnormal;
+ }
+ public void setOther(int other){
+ this.other = other;
+ }
+ public int getOther(){
+ return this.other;
+ }
+ public void setOtherText(String otherText){
+ this.otherText = otherText;
+ }
+ public String getOtherText(){
+ return this.otherText;
+ }
+
+ }
+
+ public static class NutritionClass {
+ //鑹ソ 0鍚� 1鏄�
+ private int good;
+ //涓瓑 0鍚� 1鏄�
+ private int medium;
+ //娆犱匠 0鍚� 1鏄�
+ private int poor;
+ //鑲ヨ儢 0鍚� 1鏄�
+ private int obesity;
+ //娑堢槮 0鍚� 1鏄�
+ private int thin;
+ //鎭舵恫璐� 0鍚� 1鏄�
+ private int fluid;
+
+ private int other;
+
+ private String otherText;
+
+ public void setGood(int good){
+ this.good = good;
+ }
+ public int getGood(){
+ return this.good;
+ }
+ public void setMedium(int medium){
+ this.medium = medium;
+ }
+ public int getMedium(){
+ return this.medium;
+ }
+ public void setPoor(int poor){
+ this.poor = poor;
+ }
+ public int getPoor(){
+ return this.poor;
+ }
+ public void setObesity(int obesity){
+ this.obesity = obesity;
+ }
+ public int getObesity(){
+ return this.obesity;
+ }
+ public void setThin(int thin){
+ this.thin = thin;
+ }
+ public int getThin(){
+ return this.thin;
+ }
+ public void setFluid(int fluid){
+ this.fluid = fluid;
+ }
+ public int getFluid(){
+ return this.fluid;
+ }
+ public void setOther(int other){
+ this.other = other;
+ }
+ public int getOther(){
+ return this.other;
+ }
+ public void setOtherText(String otherText){
+ this.otherText = otherText;
+ }
+ public String getOtherText(){
+ return this.otherText;
+ }
+
+ }
+
+}
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 aede4e7..c04a953 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
@@ -8,26 +8,18 @@
* @desc 瀹跺涵璁惧 bean
*/
public class HomeDevicesBean implements Serializable {
- private long id;
- private String name;
- private String createDate;
- private String buyer;
- private String content;
- private String location;
+ private int id;
+ private String name;//璁惧鍚嶇О
+ private String createTime;//鍒涘缓鏃堕棿
+ private String buyer;//璐拱浜�
+ private String content;//浜嬮」鍐呭
+ private String location;//瀛樻斁浣嶇疆
private String remark;
private String url;
private String familyId;
+ private String happenTime;//鍙戠敓鏃堕棿
- 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.createDate = createTime;
- this.buyer = people;
- this.content = content;
- this.location = address;
- this.remark = remark;
- this.url = url;
- }
+ private int status;//鐘舵�� 0锛氭湭杩囨湡 1锛氬凡杩囨湡
public String getName() {
return name;
@@ -37,12 +29,12 @@
this.name = name;
}
- public String getCreateDate() {
- return createDate;
+ public String getCreateTime() {
+ return createTime;
}
- public void setCreateDate(String createDate) {
- this.createDate = createDate;
+ public void setCreateTime(String createTime) {
+ this.createTime = createTime;
}
public String getBuyer() {
@@ -84,11 +76,11 @@
public void setUrl(String url) {
this.url = url;
}
- public long getId() {
+ public int getId() {
return id;
}
- public void setId(long id) {
+ public void setId(int id) {
this.id = id;
}
@@ -99,4 +91,20 @@
public void setFamilyId(String familyId) {
this.familyId = familyId;
}
+
+ public String getHappenTime() {
+ return happenTime;
+ }
+
+ public void setHappenTime(String happenTime) {
+ this.happenTime = happenTime;
+ }
+
+ public int getStatus() {
+ return status;
+ }
+
+ public void setStatus(int status) {
+ this.status = status;
+ }
}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/bean/HomeDevicesRequestBean.java b/app/src/main/java/com/application/zhangshi_app_android/bean/HomeDevicesRequestBean.java
new file mode 100644
index 0000000..c798fb6
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/bean/HomeDevicesRequestBean.java
@@ -0,0 +1,77 @@
+package com.application.zhangshi_app_android.bean;
+
+import java.util.Map;
+
+/**
+ * @author Ljj
+ * @date 2023.05.21. 17:11
+ * @desc
+ */
+public class HomeDevicesRequestBean extends PageRequestBean{
+ private String content;//浜嬮」鍐呭
+ private String name;//璁惧鍚嶇О
+ private String buyer;//璐拱浜�
+ private String happenStartTime;//鍙戠敓鏃堕棿寮�濮�
+ private String happenEndTime;//鍙戠敓鏃堕棿缁撴潫
+ private String location;//瀛樻斁浣嶇疆
+
+ public String getContent() {
+ return content;
+ }
+
+ public void setContent(String content) {
+ this.content = content;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getBuyer() {
+ return buyer;
+ }
+
+ public void setBuyer(String buyer) {
+ this.buyer = buyer;
+ }
+
+ public String getHappenStartTime() {
+ return happenStartTime;
+ }
+
+ public void setHappenStartTime(String happenStartTime) {
+ this.happenStartTime = happenStartTime;
+ }
+
+ public String getHappenEndTime() {
+ return happenEndTime;
+ }
+
+ public void setHappenEndTime(String happenEndTime) {
+ this.happenEndTime = happenEndTime;
+ }
+
+ public String getLocation() {
+ return location;
+ }
+
+ public void setLocation(String location) {
+ this.location = location;
+ }
+
+ @Override
+ public Map<String, Object> toMap() {
+ Map<String, Object> map = super.toMap();
+ map.put("content",content==null?"":content);
+ map.put("name",name==null?"":name);
+ map.put("buyer",buyer==null?"":buyer);
+ map.put("location",location==null?"":location);
+ map.put("happenStartTime",happenStartTime==null?"":happenStartTime);
+ map.put("happenEndTime",happenEndTime==null?"":happenEndTime);
+ return map;
+ }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/bean/HomeDevicesResponseBean.java b/app/src/main/java/com/application/zhangshi_app_android/bean/HomeDevicesResponseBean.java
deleted file mode 100644
index 23b7cff..0000000
--- a/app/src/main/java/com/application/zhangshi_app_android/bean/HomeDevicesResponseBean.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package com.application.zhangshi_app_android.bean;
-
-import java.util.List;
-
-/**
- * @author Ljj
- * @date 2023.04.04. 15:03
- * @desc
- */
-public class HomeDevicesResponseBean {
- private List<HomeDevicesBean> data;
- private long pageNum;
- private long pageSize;
- private long total;
-
- public List<HomeDevicesBean> getData() { return data; }
- public void setData(List<HomeDevicesBean> value) { this.data = value; }
-
- public long getPageNum() { return pageNum; }
- public void setPageNum(long value) { this.pageNum = value; }
-
- public long getPageSize() { return pageSize; }
- public void setPageSize(long value) { this.pageSize = value; }
-
- public long getTotal() { return total; }
- public void setTotal(long value) { this.total = value; }
-}
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
index b360426..ebe709f 100644
--- 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
@@ -6,97 +6,114 @@
* @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;
+ //id
+ private int userId;
+ //韬唤浠f暟
+ private String identity;
+ //濮撳悕
+ private String nickName;
+ //鎬у埆 1鐢� 0濂�
+ private int sex;
+ //鐢熸棩
+ private String birth;
+ //姝讳骸鏃ユ湡锛堝叏鐢熷懡鍛ㄦ湡锛�
+ private String deadDay;
+ //鎵嬫満鍙�
+ private String phoneNumber;
+ //鎵�鍦ㄥ崟浣�
+ private String unit;
+ //閰嶅伓鍚嶇О
+ private String spouseName;
+ //鍥惧儚
+ private String img;
+ //鏄惁鏄垜鐨勫鏃� 1鏄� 0鍚� (鐢ㄤ簬鍒ゆ柇鏄惁鏄剧ず韬唤浠f暟)
+ private int isMyFamily;
+ public int getUserId() {
+ return userId;
}
- public String getGeneration() {
- return generation;
+ public void setUserId(int userId) {
+ this.userId = userId;
}
- public void setGeneration(String generation) {
- this.generation = generation;
+ public String getIdentity() {
+ return identity;
}
- public String getName() {
- return name;
+ public void setIdentity(String identity) {
+ this.identity = identity;
}
- public void setName(String name) {
- this.name = name;
+ public String getNickName() {
+ return nickName;
}
- public String getGender() {
- return gender;
+ public void setNickName(String nickName) {
+ this.nickName = nickName;
}
- public void setGender(String gender) {
- this.gender = gender;
+
+ public String getSex() {
+ return sex==1?"鐢�":"濂�";
}
- public String getUrl() {
- return url;
+ public void setSex(String sex) {
+ this.sex = sex.equals("鐢�")?1:0;
}
- public void setUrl(String url) {
- this.url = url;
+ public String getBirth() {
+ return birth;
}
- public String getBirthday() {
- return birthday;
+ public void setBirth(String birth) {
+ this.birth = birth;
}
- public void setBirthday(String birthday) {
- this.birthday = birthday;
+ public String getDeadDay() {
+ return deadDay;
}
- public String getDeathDay() {
- return deathDay;
+ public void setDeadDay(String deadDay) {
+ this.deadDay = deadDay;
}
- public void setDeathDay(String deathDay) {
- this.deathDay = deathDay;
+ public String getPhoneNumber() {
+ return phoneNumber;
}
- public String getPhone() {
- return phone;
+ public void setPhoneNumber(String phoneNumber) {
+ this.phoneNumber = phoneNumber;
}
- public void setPhone(String phone) {
- this.phone = phone;
+ public String getUnit() {
+ return unit;
}
- public String getCompany() {
- return company;
+ public void setUnit(String unit) {
+ this.unit = unit;
}
- public void setCompany(String company) {
- this.company = company;
+ public String getSpouseName() {
+ return spouseName;
}
- public String getSpouse() {
- return spouse;
+ public void setSpouseName(String spouseName) {
+ this.spouseName = spouseName;
}
- public void setSpouse(String spouse) {
- this.spouse = spouse;
+ public String getImg() {
+ return img;
+ }
+
+ public void setImg(String img) {
+ this.img = img;
+ }
+
+ public int getIsMyFamily() {
+ return isMyFamily;
+ }
+
+ public void setIsMyFamily(int isMyFamily) {
+ this.isMyFamily = isMyFamily;
}
}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/bean/HomeMemberRequestBean.java b/app/src/main/java/com/application/zhangshi_app_android/bean/HomeMemberRequestBean.java
new file mode 100644
index 0000000..9f33a75
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/bean/HomeMemberRequestBean.java
@@ -0,0 +1,60 @@
+package com.application.zhangshi_app_android.bean;
+
+import java.util.Map;
+
+/**
+ * @author Ljj
+ * @date 2023.06.12. 16:07
+ * @desc
+ */
+public class HomeMemberRequestBean extends PageRequestBean{
+ private String nickName;//濮撳悕
+ private int identity;//韬唤浠f暟
+ private int sex = -1;//鎬у埆 1鐢� 0濂�
+ private String birth;//鐢熸棩
+
+ public String getNickName() {
+ return nickName;
+ }
+
+ public void setNickName(String nickName) {
+ this.nickName = nickName;
+ }
+
+ public int getIdentity() {
+ return identity;
+ }
+
+ public void setIdentity(int identity) {
+ this.identity = identity;
+ }
+ public int getSex() {
+ return sex;
+ }
+
+ public void setSex(int sex) {
+ this.sex = sex;
+ }
+
+ public String getBirth() {
+ return birth;
+ }
+
+ public void setBirth(String birth) {
+ this.birth = birth;
+ }
+
+ @Override
+ public Map<String, Object> toMap() {
+ Map<String, Object> map = super.toMap();
+ map.put("nickName", nickName==null?"":nickName);
+ if (identity != 0) {
+ map.put("identity", identity);
+ }
+ if (sex != -1){
+ map.put("sex",sex);
+ }
+ map.put("birth",birth==null?"":birth);
+ return map;
+ }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/bean/HomeRootBean.java b/app/src/main/java/com/application/zhangshi_app_android/bean/HomeRootBean.java
new file mode 100644
index 0000000..de80603
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/bean/HomeRootBean.java
@@ -0,0 +1,362 @@
+package com.application.zhangshi_app_android.bean;
+
+import java.util.List;
+
+/**
+ * @author Ljj
+ * @date 2023.07.11. 20:18
+ * @desc 瀹舵牴缃� 鎴愬憳Bean
+ */
+public class HomeRootBean {
+ // id
+ int userId;
+ // 濮撳悕
+ String nickName;
+ // 鏇剧敤鍚�
+ String oldName;
+ // 鎬у埆 1鐢� 0濂�
+ int sex;
+ // 鍥藉
+ String nationality;
+ // 姘戞棌
+ String nation;
+ // 濠氬Щ鐘跺喌 1宸插 0鏈 2绂诲
+ int maritalStatus;
+ // 鏀挎不闈㈣矊
+ String politicalOutlook;
+ // 鐢佃瘽
+ String phoneNumber;
+ // 韬唤璇佸彿
+ String idNum;
+ // 鎴风睄鍦板潃
+ String locationAddress;
+ // 甯镐綇鍦板潃
+ String alwaysAddress;
+ // 鎴风睄鍦板潃鍏畨鏈哄叧
+ String locationPolice;
+ // 甯镐綇鍦板潃鍏畨鏈哄叧
+ String alwaysPolice;
+ // 鍗曚綅
+ String unit;
+ // 鑱屽姟
+ String position;
+ // 0銆�1
+ String outStatus;
+ String idNo;
+ // 鍘讳笘鏃ユ湡
+ String deadDay;
+ // 鏄熷骇
+ String constellation;
+ // 寰俊鍙�
+ String wxNo;
+ // QQ鍙�
+ String qqNo;
+ // 鐢熻倴
+ String shengXiao;
+ // 澶村儚img
+ String img;
+ // 閰嶅伓id
+ int spouseId;
+ // 閰嶅伓淇℃伅
+ HomeRootBean spouse;
+ // 鐖朵翰id
+ int fatherId;
+ // 姣嶄翰id
+ int momId;
+ // 鐢熸棩
+ String birth;
+ // 鐢靛瓙鏂囦欢
+ String url;
+ // 瀹跺涵id
+ String familyId;
+ // 绗簩瀹跺涵id
+ String secondFamilyId;
+ //韬唤浠f暟
+ int identity;
+ // 瀛愪唬鍒楄〃
+ List<HomeRootBean> childList;
+
+ public int getUserId() {
+ return userId;
+ }
+
+ public void setUserId(int userId) {
+ this.userId = userId;
+ }
+
+ public String getNickName() {
+ return nickName;
+ }
+
+ public void setNickName(String nickName) {
+ this.nickName = nickName;
+ }
+
+ public String getOldName() {
+ return oldName;
+ }
+
+ public void setOldName(String oldName) {
+ this.oldName = oldName;
+ }
+
+ public int getSex() {
+ return sex;
+ }
+
+ public void setSex(int sex) {
+ this.sex = sex;
+ }
+
+ public String getNationality() {
+ return nationality;
+ }
+
+ public void setNationality(String nationality) {
+ this.nationality = nationality;
+ }
+
+ public String getNation() {
+ return nation;
+ }
+
+ public void setNation(String nation) {
+ this.nation = nation;
+ }
+
+ public int getMaritalStatus() {
+ return maritalStatus;
+ }
+ public String getMaritalStatusStr() {
+ if (maritalStatus == 0) {
+ return "鏈";
+ } else if (maritalStatus == 1) {
+ return "宸插";
+ } else if (maritalStatus == 2) {
+ return "绂诲";
+ } else {
+ return "";
+ }
+ }
+
+
+ public void setMaritalStatus(int maritalStatus) {
+ this.maritalStatus = maritalStatus;
+ }
+
+ public String getPoliticalOutlook() {
+ return politicalOutlook;
+ }
+
+ public void setPoliticalOutlook(String politicalOutlook) {
+ this.politicalOutlook = politicalOutlook;
+ }
+
+ public String getPhoneNumber() {
+ return phoneNumber;
+ }
+
+ public void setPhoneNumber(String phoneNumber) {
+ this.phoneNumber = phoneNumber;
+ }
+
+ public String getIdNum() {
+ return idNum;
+ }
+
+ public void setIdNum(String idNum) {
+ this.idNum = idNum;
+ }
+
+ public String getLocationAddress() {
+ return locationAddress;
+ }
+
+ public void setLocationAddress(String locationAddress) {
+ this.locationAddress = locationAddress;
+ }
+
+ public String getAlwaysAddress() {
+ return alwaysAddress;
+ }
+
+ public void setAlwaysAddress(String alwaysAddress) {
+ this.alwaysAddress = alwaysAddress;
+ }
+
+ public String getLocationPolice() {
+ return locationPolice;
+ }
+
+ public void setLocationPolice(String locationPolice) {
+ this.locationPolice = locationPolice;
+ }
+
+ public String getAlwaysPolice() {
+ return alwaysPolice;
+ }
+
+ public void setAlwaysPolice(String alwaysPolice) {
+ this.alwaysPolice = alwaysPolice;
+ }
+
+ public String getUnit() {
+ return unit;
+ }
+
+ public void setUnit(String unit) {
+ this.unit = unit;
+ }
+
+ public String getPosition() {
+ return position;
+ }
+
+ public void setPosition(String position) {
+ this.position = position;
+ }
+
+ public String getOutStatus() {
+ return outStatus;
+ }
+
+ public void setOutStatus(String outStatus) {
+ this.outStatus = outStatus;
+ }
+
+ public String getIdNo() {
+ return idNo;
+ }
+
+ public void setIdNo(String idNo) {
+ this.idNo = idNo;
+ }
+
+ public String getDeadDay() {
+ return deadDay;
+ }
+
+ public void setDeadDay(String deadDay) {
+ this.deadDay = deadDay;
+ }
+
+ public String getConstellation() {
+ return constellation;
+ }
+
+ public void setConstellation(String constellation) {
+ this.constellation = constellation;
+ }
+
+ public String getWxNo() {
+ return wxNo;
+ }
+
+ public void setWxNo(String wxNo) {
+ this.wxNo = wxNo;
+ }
+
+ public String getQqNo() {
+ return qqNo;
+ }
+
+ public void setQqNo(String qqNo) {
+ this.qqNo = qqNo;
+ }
+
+ public String getShengXiao() {
+ return shengXiao;
+ }
+
+ public void setShengXiao(String shengXiao) {
+ this.shengXiao = shengXiao;
+ }
+
+ public String getImg() {
+ return img;
+ }
+
+ public void setImg(String img) {
+ this.img = img;
+ }
+
+ public int getSpouseId() {
+ return spouseId;
+ }
+
+ public void setSpouseId(int spouseId) {
+ this.spouseId = spouseId;
+ }
+
+ public int getFatherId() {
+ return fatherId;
+ }
+
+ public void setFatherId(int fatherId) {
+ this.fatherId = fatherId;
+ }
+
+ public int getMomId() {
+ return momId;
+ }
+
+ public void setMomId(int momId) {
+ this.momId = momId;
+ }
+
+ public String getBirth() {
+ return birth;
+ }
+
+ public void setBirth(String birth) {
+ this.birth = birth;
+ }
+
+ 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 String getSecondFamilyId() {
+ return secondFamilyId;
+ }
+
+ public void setSecondFamilyId(String secondFamilyId) {
+ this.secondFamilyId = secondFamilyId;
+ }
+
+ public int getIdentity() {
+ return identity;
+ }
+
+ public void setIdentity(int identity) {
+ this.identity = identity;
+ }
+
+ public List<HomeRootBean> getChildList() {
+ return childList;
+ }
+
+ public void setChildList(List<HomeRootBean> childList) {
+ this.childList = childList;
+ }
+
+ public HomeRootBean getSpouse() {
+ return spouse;
+ }
+
+ public void setSpouse(HomeRootBean 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
index 885f8da..4c4ad38 100644
--- 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
@@ -9,17 +9,17 @@
*/
public class HonorCollectionBean implements Serializable {
private int id;
+ private String happenTime;//鑾峰緱鏃堕棿
private String type;//绫诲瀷
private String name;//鍚嶇О
- private String getTime;//鑾峰緱鏃堕棿
private String source;//鏉ユ簮
- private String price;//浠峰��
private String owner;//鎵�鏈夎��
+ private String price;//浠峰��
private String location;//瀛樻斁鍦扮偣
private String remark;//澶囨敞
private String url;//鐢靛瓙鏂囦欢
private String familyId;//瀹跺涵id
- private int ownData;//鎷ユ湁鏁版嵁
+ private String createTime;//鍒涘缓鏃堕棿
public String getName() {
return name;
@@ -37,12 +37,12 @@
this.name = name;
}
- public String getGetTime() {
- return getTime;
+ public String getHappenTime() {
+ return happenTime;
}
- public void setGetTime(String getTime) {
- this.getTime = getTime;
+ public void setHappenTime(String happenTime) {
+ this.happenTime = happenTime;
}
public String getSource() {
@@ -109,11 +109,11 @@
this.familyId = familyId;
}
- public int getOwnData() {
- return ownData;
+ public String getCreateTime() {
+ return createTime;
}
- public void setOwnData(int ownData) {
- this.ownData = ownData;
+ public void setCreateTime(String createTime) {
+ this.createTime = createTime;
}
}
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
index 35c4f24..c0ae8d6 100644
--- 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
@@ -9,55 +9,20 @@
* @desc 鑽h獕鏀惰棌 璇锋眰Bean
*/
public class HonorCollectionRequestBean {
- private String type;//绫诲瀷
- private String name;//鍚嶇О
- private String getTime;//鑾峰緱鏃堕棿
- private String source;//鏉ユ簮
- private String price;//浠峰��
+ private String type;//绫诲埆
private String owner;//鎵�鏈夎��
private String location;//瀛樻斁鍦扮偣
- private String remark;//澶囨敞
+
private int pageNum = 1;//椤电爜
private int pageSize = 20;//姣忛〉鏉℃暟
-
+ private String happenStartTime;//鎼滅储鑼冨洿寮�濮嬫椂闂�
+ private String happenEndTime;//鎼滅储鑼冨洿缁撴潫鏃堕棿
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() {
@@ -76,14 +41,6 @@
this.location = location;
}
- public String getRemark() {
- return remark;
- }
-
- public void setRemark(String remark) {
- this.remark = remark;
- }
-
public int getPageNum() {
return pageNum;
}
@@ -100,17 +57,30 @@
this.pageSize = pageSize;
}
+ public String getHappenStartTime() {
+ return happenStartTime;
+ }
+
+ public void setHappenStartTime(String happenStartTime) {
+ this.happenStartTime = happenStartTime;
+ }
+
+ public String getHappenEndTime() {
+ return happenEndTime;
+ }
+
+ public void setHappenEndTime(String happenEndTime) {
+ this.happenEndTime = happenEndTime;
+ }
+
//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("happenStartTime", happenStartTime == null ? "" : happenStartTime);
+ map.put("happenEndTime", happenEndTime == null ? "" : happenEndTime);
map.put("pageNum", pageNum);
map.put("pageSize", pageSize);
return map;
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
index e675863..f9cfa5d 100644
--- 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
@@ -8,24 +8,45 @@
* @desc
*/
public class HundredWishBean implements Serializable {
- //鏍囬
+ //id
+ private int id;
+ //鐞嗘兂鏍囬/鐧惧勾鎰挎湜
private String title;
- //鍒涘缓鏃堕棿
- private String createTime;
//濮嬩簬浣曞洜
- private String reason;
+ private String cause;
//鍙楁儬浜�
private String beneficiary;
- //缁ф壙浜�
- private String heir;
//瀹炵幇闅惧害
private String difficulty;
+ //缁ф壙浜�
+ private String heir;
//鏄惁渚濇棫鏈夋晥 1鏈夋晥 0鏃犳晥
private int isEffective;
+ //鍒涘缓鏃堕棿
+ private String createTime;
//澶囨敞
private String remark;
//鐢靛瓙鏂囦欢
private String url;
+ //鍙戠敓鏃堕棿
+ private String happenTime;
+ //鎵�灞炵敤鎴穒d
+ private int uid;
+ public int getId() {
+ return id;
+ }
+
+ public void setId(int id) {
+ this.id = id;
+ }
+
+ public String getHappenTime() {
+ return happenTime;
+ }
+
+ public void setHappenTime(String happenTime) {
+ this.happenTime = happenTime;
+ }
public String getTitle() {
return title;
@@ -43,12 +64,12 @@
this.createTime = createTime;
}
- public String getReason() {
- return reason;
+ public String getCause() {
+ return cause;
}
- public void setReason(String reason) {
- this.reason = reason;
+ public void setCause(String cause) {
+ this.cause = cause;
}
public String getBeneficiary() {
@@ -75,12 +96,12 @@
this.difficulty = difficulty;
}
- public int getIsEffective() {
- return isEffective;
+ public String getIsEffective() {
+ return isEffective==1?"鏄�":"鍚�";
}
- public void setIsEffective(int isEffective) {
- this.isEffective = isEffective;
+ public void setIsEffective(String isEffective) {
+ this.isEffective = isEffective.equals("鏄�")?1:0;
}
public String getRemark() {
@@ -98,4 +119,12 @@
public void setUrl(String url) {
this.url = url;
}
+
+ public int getUid() {
+ return uid;
+ }
+
+ public void setUid(int uid) {
+ this.uid = uid;
+ }
}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/bean/HundredWishRequestBean.java b/app/src/main/java/com/application/zhangshi_app_android/bean/HundredWishRequestBean.java
new file mode 100644
index 0000000..38a11ae
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/bean/HundredWishRequestBean.java
@@ -0,0 +1,71 @@
+package com.application.zhangshi_app_android.bean;
+
+import java.util.Map;
+
+/**
+ * @author Ljj
+ * @date 2023.05.22. 22:17
+ * @desc
+ */
+public class HundredWishRequestBean extends PageRequestBean{
+ //鏍囬
+ private String title;
+ //鍙楁儬浜�
+ private String beneficiary;
+ //缁ф壙浜�
+ private String heir;
+ //鏃堕棿
+ private String happenStartTime;
+ private String happenEndTime;
+
+ public String getTitle() {
+ return title;
+ }
+
+ public void setTitle(String title) {
+ this.title = title;
+ }
+
+ 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 getHappenStartTime() {
+ return happenStartTime;
+ }
+
+ public void setHappenStartTime(String happenStartTime) {
+ this.happenStartTime = happenStartTime;
+ }
+
+ public String getHappenEndTime() {
+ return happenEndTime;
+ }
+
+ public void setHappenEndTime(String happenEndTime) {
+ this.happenEndTime = happenEndTime;
+ }
+
+ @Override
+ public Map<String, Object> toMap() {
+ Map<String, Object> map = super.toMap();
+ map.put("title",title==null?"":title);
+ map.put("beneficiary",beneficiary==null?"":beneficiary);
+ map.put("heir",heir==null?"":heir);
+ map.put("happenStartTime",happenStartTime==null?"":happenStartTime);
+ map.put("happenEndTime",happenEndTime==null?"":happenEndTime);
+ return map;
+ }
+}
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
index 8dbea95..cf05769 100644
--- 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
@@ -9,17 +9,18 @@
*/
public class IncomeAndExpensesBean implements Serializable {
private int id;
- private int type;//0=鍩洪噾,1=鍙拌处
+ private String type;//鍙拌处
private String createTime;
private String price;//閲戦
private String useFor;//鐢ㄩ��
private String usePeople;//浣跨敤浜�
- private int kind;//0=鐜伴噾,1=鑷姩鍒掓墸
+ private String kind;//鐜伴噾/鑷姩鍒掓墸
private String balance;//浣欓
private String remark;//澶囨敞
private String url;//鐢靛瓙鏂囦欢
private String familyId;//瀹跺涵id
private int ownData;//鏄惁鏄湰瀹跺涵鐨勬暟鎹� 0=鍚�,1=鏄�
+ private String happenTime;//鍙戠敓鏃堕棿
public int getId() {
return id;
@@ -29,12 +30,28 @@
this.id = id;
}
- public int getType() {
+ public String getType() {
return type;
}
- public void setType(int type) {
+ public void setType(String type) {
this.type = type;
+ }
+
+ public String getKind() {
+ return kind;
+ }
+
+ public void setKind(String kind) {
+ this.kind = kind;
+ }
+
+ public String getHappenTime() {
+ return happenTime;
+ }
+
+ public void setHappenTime(String happenTime) {
+ this.happenTime = happenTime;
}
public String getCreateTime() {
@@ -69,13 +86,7 @@
this.usePeople = usePeople;
}
- public int getKind() {
- return kind;
- }
- public void setKind(int kind) {
- this.kind = kind;
- }
public String getBalance() {
return balance;
diff --git a/app/src/main/java/com/application/zhangshi_app_android/bean/IncomeAndExpensesRequestBean.java b/app/src/main/java/com/application/zhangshi_app_android/bean/IncomeAndExpensesRequestBean.java
new file mode 100644
index 0000000..67fe25e
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/bean/IncomeAndExpensesRequestBean.java
@@ -0,0 +1,66 @@
+package com.application.zhangshi_app_android.bean;
+
+import java.util.Map;
+
+/**
+ * @author Ljj
+ * @date 2023.05.20. 22:59
+ * @desc
+ */
+public class IncomeAndExpensesRequestBean extends PageRequestBean{
+ private String type;//鍩洪噾/鍙拌处
+ private String happenStartTime;//鍙戠敓鏃堕棿寮�濮�
+ private String happenEndTime;//鍙戠敓鏃堕棿缁撴潫
+ private String useFor;//鐢ㄩ��
+ private String usePeople;//浣跨敤浜�
+
+ public String getType() {
+ return type;
+ }
+
+ public void setType(String type) {
+ this.type = type;
+ }
+
+ public String getHappenStartTime() {
+ return happenStartTime;
+ }
+
+ public void setHappenStartTime(String happenStartTime) {
+ this.happenStartTime = happenStartTime;
+ }
+
+ public String getHappenEndTime() {
+ return happenEndTime;
+ }
+
+ public void setHappenEndTime(String happenEndTime) {
+ this.happenEndTime = happenEndTime;
+ }
+
+ 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 Map<String, Object> toMap() {
+ Map<String, Object> map = super.toMap();
+ map.put("type", type==null?"":type);
+ map.put("happenStartTime", happenStartTime==null?"":happenStartTime);
+ map.put("happenEndTime", happenEndTime==null?"":happenEndTime);
+ map.put("useFor", useFor==null?"":useFor);
+ map.put("usePeople", usePeople==null?"":usePeople);
+ return map;
+ }
+}
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
deleted file mode 100644
index cccd3fe..0000000
--- a/app/src/main/java/com/application/zhangshi_app_android/bean/IncomeAndExpensesResponseBean.java
+++ /dev/null
@@ -1,47 +0,0 @@
-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
index d11237d..d4a0fb1 100644
--- 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
@@ -13,11 +13,11 @@
private String symptom;//鐥囩姸
private String duration;//鎸佺画鏃堕棿
private String cmedical;//涓尰澶勬柟
- private String wmedical;
- private String effect;
- private String suitable;
- private String remark;
- private String url;
+ 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;
@@ -32,6 +32,10 @@
this.url = url;
}
+ public LittleDoctorBean() {
+
+ }
+
public int getId() {
return id;
}
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
index 70bc6a0..293e2b3 100644
--- 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
@@ -1,5 +1,7 @@
package com.application.zhangshi_app_android.bean;
+import android.text.TextUtils;
+
import java.util.HashMap;
import java.util.Map;
@@ -8,17 +10,56 @@
* @date 2023.04.15. 21:30
* @desc
*/
-public class LittleDoctorRequestBean {
- private int pageNum = 1;
- private int pageSize = 20;
+public class LittleDoctorRequestBean extends PageRequestBean{
+ private String type;//绫诲瀷
+ private String symptom;//鐥囩姸
+ private String prescription;//澶勬柟
+ private String suitable;//閫傜敤浜虹兢
public LittleDoctorRequestBean() {
}
+ @Override
public Map<String, Object> toMap() {
- Map<String, Object> map = new HashMap<>();
- map.put("page", pageNum);
- map.put("pageSize", pageSize);
+ Map<String, Object> map = super.toMap();
+ map.put("type",type==null?"":type);
+ map.put("symptom",symptom==null?"":symptom);
+ if (!TextUtils.isEmpty(prescription)){
+ map.put("prescription",prescription==null?"":prescription);
+ }
+ map.put("suitable",suitable==null?"":suitable);
return map;
}
+
+ public String getType() {
+ return type;
+ }
+
+ public void setType(String type) {
+ this.type = type;
+ }
+
+ public String getSymptom() {
+ return symptom;
+ }
+
+ public void setSymptom(String symptom) {
+ this.symptom = symptom;
+ }
+
+ public String getPrescription() {
+ return prescription;
+ }
+
+ public void setPrescription(String prescription) {
+ this.prescription = prescription;
+ }
+
+ public String getSuitable() {
+ return suitable;
+ }
+
+ public void setSuitable(String suitable) {
+ this.suitable = suitable;
+ }
}
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
deleted file mode 100644
index 5dd79d3..0000000
--- a/app/src/main/java/com/application/zhangshi_app_android/bean/LittleDoctorResponseBean.java
+++ /dev/null
@@ -1,47 +0,0 @@
-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/MarriageInfoBean.java b/app/src/main/java/com/application/zhangshi_app_android/bean/MarriageInfoBean.java
new file mode 100644
index 0000000..5c3c592
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/bean/MarriageInfoBean.java
@@ -0,0 +1,309 @@
+package com.application.zhangshi_app_android.bean;
+
+import java.util.List;
+
+/**
+ * @author Ljj
+ * @date 2023.05.21. 22:43
+ * @desc 濠氬Щ淇℃伅
+ */
+public class MarriageInfoBean {
+ //鏈汉淇℃伅
+ //鏈汉id
+ private String id;
+ //鏈汉鍚嶅瓧
+ private String name;
+ //鏈汉鍑虹敓鏃ユ湡
+ private String birthday;
+ //鏈汉鎴风睄鍦板潃
+ private String address;
+ //宸ヤ綔鍦板潃
+ private String workAddress;
+ //鏈汉濠氬Щ鐘舵�� 0鏈 1鍒濆 2绂诲 3鍐嶅
+ private int marryStatus;
+ //鏈汉鎬у埆 0濂� 1鐢�
+ private int sex;
+ //鏈汉姘戞棌
+ private String nation;
+ //鏈汉鐢佃瘽鍙风爜
+ private String phone;
+ //鏈汉韬唤璇佸彿鐮�
+ private String idNo;
+
+ //閰嶅伓淇℃伅
+ //閰嶅伓id
+ private String spouseId;
+ //閰嶅伓鍚嶅瓧
+ private String spouseName;
+ //閰嶅伓鍑虹敓鏃ユ湡
+ private String spouseBirthday;
+ //閰嶅伓鎴风睄鍦板潃
+ private String spouseAddress;
+ //閰嶅伓宸ヤ綔鍦板潃
+ private String spouseWorkAddress;
+ //閰嶅伓濠氬Щ鐘舵�� 0鏈 1鍒濆 2绂诲 3鍐嶅
+ private int spouseMarryStatus;
+ //閰嶅伓鎬у埆 0濂� 1鐢�
+ private int spouseSex;
+ //閰嶅伓姘戞棌
+ private String spouseNation;
+ //閰嶅伓鐢佃瘽鍙风爜
+ private String spousePhone;
+ //閰嶅伓韬唤璇佸彿鐮�
+ private String spouseIdNo;
+
+ //缁撳淇℃伅
+ //缁撳id
+ private int marryId;
+ //缁撳鏃堕棿
+ private String marryTime;
+ //鐢熻偛鎯呭喌 0鏈敓鑲� 1鍦ㄥ瓡 2宸茬敓鑲�
+ private int bearStatus;
+ //鏄惁棰嗗彇璁″垝鐢熻偛鏈嶅姟鎵嬪唽 0鏈鍙� 1宸查鍙�
+ private int handbookStatus;
+ //棰嗗彇璁″垝鐢熻偛鏈嶅姟鎵嬪唽鏃堕棿
+ private String handbookTime;
+ //鏄惁棰嗗彇鐙敓瀛愬コ璇� 0鏈鍙� 1宸查鍙�
+ private int oneBorn;
+ //棰嗗彇鐙敓瀛愬コ璇佹椂闂�
+ private String oneBornTime;
+ //闇�瑕佸0鏄庣殑鎯呭喌
+ private String content;
+ private String contentTime;
+ //澶囨敞
+ private String remark;
+ private String remarkTime;
+
+ private List<OldSpouseBean> oldSpouseList;
+
+
+ public String getAddress() { return address; }
+ public void setAddress(String value) { this.address = value; }
+
+ public String getBearStatus() {
+ if (bearStatus == 0) {
+ return "鏈敓鑲�";
+ } else if (bearStatus == 1) {
+ return "鍦ㄥ瓡";
+ } else if (bearStatus == 2) {
+ return "宸茬敓鑲�";
+ } else {
+ return "鏈煡";
+ }
+ }
+
+ public void setBearStatus(int bearStatus) {
+ this.bearStatus = bearStatus;
+ }
+
+ public String getBirthday() { return birthday; }
+ public void setBirthday(String value) { this.birthday = value; }
+
+ public String getContent() { return content; }
+ public void setContent(String value) { this.content = value; }
+
+ public String getHandbookStatus() {
+ return handbookStatus == 0 ? "鍚�" : "鏄�";
+ }
+
+ public void setHandbookStatus(int value) { this.handbookStatus = value; }
+
+ public String getHandbookTime() { return handbookTime; }
+ public void setHandbookTime(String value) { this.handbookTime = value; }
+
+ public String getid() { return id; }
+ public void setid(String value) { this.id = value; }
+
+ public int getMarryId() { return marryId; }
+ public void setMarryId(int value) { this.marryId = value; }
+
+ public String getMarryStatus() {
+ if (marryStatus == 0) {
+ return "鏈";
+ } else if (marryStatus == 1) {
+ return "鍒濆";
+ } else if (marryStatus == 2) {
+ return "绂诲";
+ } else if (marryStatus == 3) {
+ return "鍐嶅";
+ } else {
+ return "鏈煡";
+ }
+ }
+
+ public void setMarryStatus(int marryStatus) {
+ this.marryStatus = marryStatus;
+ }
+
+ public String getMarryTime() { return marryTime; }
+ public void setMarryTime(String value) { this.marryTime = value; }
+
+ public String getName() { return name; }
+ public void setName(String value) { this.name = value; }
+
+ public String getNation() { return nation; }
+ public void setNation(String value) { this.nation = value; }
+
+ public String getIdNo() {
+ return idNo;
+ }
+
+ public void setIdNo(String idNo) {
+ this.idNo = idNo;
+ }
+
+ public String getSpouseIdNo() {
+ return spouseIdNo;
+ }
+
+ public void setSpouseIdNo(String spouseIdNo) {
+ this.spouseIdNo = spouseIdNo;
+ }
+
+ public String getContentTime() {
+ return contentTime;
+ }
+
+ public void setContentTime(String contentTime) {
+ this.contentTime = contentTime;
+ }
+
+ public String getRemarkTime() {
+ return remarkTime;
+ }
+
+ public void setRemarkTime(String remarkTime) {
+ this.remarkTime = remarkTime;
+ }
+
+ /**
+ * 鍓嶄换鐨勪俊鎭垪琛�
+ */
+ public List<OldSpouseBean> getOldSpouseList() { return oldSpouseList; }
+ public void setOldSpouseList(List<OldSpouseBean> value) { this.oldSpouseList = value; }
+
+ public String getOneBorn() {
+ return oneBorn == 0 ? "鍚�" : "鏄�";
+ }
+ public void setOneBorn(int value) { this.oneBorn = value; }
+
+ public String getOneBornTime() { return oneBornTime; }
+ public void setOneBornTime(String value) { this.oneBornTime = value; }
+
+ public String getPhone() { return phone; }
+ public void setPhone(String value) { this.phone = value; }
+
+ public String getRemark() { return remark; }
+ public void setRemark(String value) { this.remark = value; }
+
+ public String getSex() {
+ return sex == 0 ? "濂�" : "鐢�";
+ }
+ public void setSex(String value) {
+ this.sex = value.equals("濂�") ? 0 : 1;
+ }
+
+ public String getSpouseAddress() { return spouseAddress; }
+ public void setSpouseAddress(String value) { this.spouseAddress = value; }
+
+ public String getSpouseBirthday() { return spouseBirthday; }
+ public void setSpouseBirthday(String value) { this.spouseBirthday = value; }
+
+ /**
+ * 鐜颁换淇℃伅
+ */
+ public String getSpouseId() { return spouseId; }
+ public void setSpouseId(String value) { this.spouseId = value; }
+
+
+ public String getSpouseMarryStatus() {
+ if (spouseMarryStatus == 0) {
+ return "鏈";
+ } else if (spouseMarryStatus == 1) {
+ return "鍒濆";
+ } else if (spouseMarryStatus == 2) {
+ return "绂诲";
+ } else if (spouseMarryStatus == 3) {
+ return "鍐嶅";
+ } else {
+ return "鏈煡";
+ }
+ }
+
+ public void setSpouseMarryStatus(int spouseMarryStatus) {
+ this.spouseMarryStatus = spouseMarryStatus;
+ }
+
+ public String getSpouseName() { return spouseName; }
+ public void setSpouseName(String value) { this.spouseName = value; }
+
+ public String getSpouseNation() { return spouseNation; }
+ public void setSpouseNation(String value) { this.spouseNation = value; }
+
+ public String getSpousePhone() { return spousePhone; }
+ public void setSpousePhone(String value) { this.spousePhone = value; }
+
+ public int getSpouseSex() { return spouseSex; }
+ public void setSpouseSex(int value) { this.spouseSex = value; }
+
+ public String getSpouseWorkAddress() { return spouseWorkAddress; }
+ public void setSpouseWorkAddress(String value) { this.spouseWorkAddress = value; }
+
+ public String getWorkAddress() { return workAddress; }
+ public void setWorkAddress(String value) { this.workAddress = value; }
+
+ public static class OldSpouseBean {
+ private String id;
+ private String name;
+ private String address;
+ private String birthday;
+ private int marryStatus;
+ private Object myId;
+ private String nation;
+ private String phone;
+ private int sex;
+ private String workAddress;
+
+ public String getAddress() { return address; }
+ public void setAddress(String value) { this.address = value; }
+
+ public String getBirthday() { return birthday; }
+ public void setBirthday(String value) { this.birthday = value; }
+
+ public String getid() { return id; }
+ public void setid(String value) { this.id = value; }
+
+ public String getMarryStatus() {
+ if (marryStatus == 0) {
+ return "鏈";
+ } else if (marryStatus == 1) {
+ return "鍒濆";
+ } else if (marryStatus == 2) {
+ return "绂诲";
+ } else if (marryStatus == 3) {
+ return "鍐嶅";
+ } else {
+ return "鏈煡";
+ }
+ }
+ public void setMarryStatus(int value) { this.marryStatus = value; }
+
+ public Object getMyId() { return myId; }
+ public void setMyId(Object value) { this.myId = value; }
+
+ public String getName() { return name; }
+ public void setName(String value) { this.name = value; }
+
+ public String getNation() { return nation; }
+ public void setNation(String value) { this.nation = value; }
+
+ public String getPhone() { return phone; }
+ public void setPhone(String value) { this.phone = value; }
+
+ public int getSex() { return sex; }
+ public void setSex(int value) { this.sex = value; }
+
+ public String getWorkAddress() { return workAddress; }
+ public void setWorkAddress(String value) { this.workAddress = value; }
+ }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/bean/MemoBean.java b/app/src/main/java/com/application/zhangshi_app_android/bean/MemoBean.java
new file mode 100644
index 0000000..8c2dc1a
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/bean/MemoBean.java
@@ -0,0 +1,71 @@
+package com.application.zhangshi_app_android.bean;
+
+import java.io.Serializable;
+
+/**
+ * @author Ljj
+ * @date 2023.06.11. 23:15
+ * @desc
+ */
+public class MemoBean implements Serializable {
+ //id
+ private int id;
+ //妯″潡id 瀹跺涵璧勪骇2007 瀹跺涵璁惧2017 璐骇:2026 闅愮:2031
+ private int fid;
+ //鏃堕棿
+ private String happenTime;
+ //鍒涘缓鏃堕棿
+ private String createTime;
+ //鍐呭
+ private String content;
+ //瀵瑰簲鐨勮褰昳d
+ private int cid;
+
+ public int getId() {
+ return id;
+ }
+
+ public void setId(int id) {
+ this.id = id;
+ }
+
+ public int getFid() {
+ return fid;
+ }
+
+ public void setFid(int fid) {
+ this.fid = fid;
+ }
+
+ public String getHappenTime() {
+ return happenTime;
+ }
+
+ public void setHappenTime(String happenTime) {
+ this.happenTime = happenTime;
+ }
+
+ public String getCreateTime() {
+ return createTime;
+ }
+
+ public void setCreateTime(String createTime) {
+ this.createTime = createTime;
+ }
+
+ public String getContent() {
+ return content;
+ }
+
+ public void setContent(String content) {
+ this.content = content;
+ }
+
+ public int getCid() {
+ return cid;
+ }
+
+ public void setCid(int cid) {
+ this.cid = cid;
+ }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/bean/PageRequestBean.java b/app/src/main/java/com/application/zhangshi_app_android/bean/PageRequestBean.java
new file mode 100644
index 0000000..1857136
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/bean/PageRequestBean.java
@@ -0,0 +1,40 @@
+package com.application.zhangshi_app_android.bean;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * @author Ljj
+ * @date 2023.05.20. 17:57
+ * @desc 鍒嗛〉璇锋眰鍙傛暟 鍩虹被
+ */
+public class PageRequestBean {
+ //椤电爜
+ protected int pageNum = 1;
+ //姣忛〉鏁伴噺
+ protected int pageSize = 20;
+
+ 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;
+ }
+
+ public Map<String,Object> toMap() {
+ Map<String,Object> map = new HashMap<>();
+ map.put("pageNum",pageNum);
+ map.put("pageSize",pageSize);
+ return map;
+ }
+
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/bean/PageResponseBean.java b/app/src/main/java/com/application/zhangshi_app_android/bean/PageResponseBean.java
new file mode 100644
index 0000000..9c60abf
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/bean/PageResponseBean.java
@@ -0,0 +1,49 @@
+package com.application.zhangshi_app_android.bean;
+
+import java.util.List;
+
+/**
+ * @author Ljj
+ * @date 2023.05.20. 17:59
+ * @desc 鏁版嵁鍒嗛〉杩斿洖绫�
+ */
+public class PageResponseBean<T> {
+ private int pageNum;
+ private int pageSize;
+ private int total;
+
+ private List<T> data;
+
+
+ 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;
+ }
+
+ public int getTotal() {
+ return total;
+ }
+
+ public void setTotal(int total) {
+ this.total = total;
+ }
+
+ public List<T> getData() {
+ return data;
+ }
+
+ public void setData(List<T> data) {
+ this.data = data;
+ }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/bean/PersonalNotepadBean.java b/app/src/main/java/com/application/zhangshi_app_android/bean/PersonalNotepadBean.java
index 783bcfb..2b3ea18 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/bean/PersonalNotepadBean.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/bean/PersonalNotepadBean.java
@@ -13,11 +13,11 @@
//鏍囬
private String title;
//鏃堕棿
- private String time;
+ private String happenTime;
//浜虹墿
- private String person;
+ private String people;
//鍦扮偣
- private String place;
+ private String address;
//澶囨敞
private String remark;
//鐢靛瓙鏂囦欢
@@ -39,28 +39,28 @@
this.title = title;
}
- public String getTime() {
- return time;
+ public String getHappenTime() {
+ return happenTime;
}
- public void setTime(String time) {
- this.time = time;
+ public void setHappenTime(String happenTime) {
+ this.happenTime = happenTime;
}
- public String getPerson() {
- return person;
+ public String getPeople() {
+ return people;
}
- public void setPerson(String person) {
- this.person = person;
+ public void setPeople(String people) {
+ this.people = people;
}
- public String getPlace() {
- return place;
+ public String getAddress() {
+ return address;
}
- public void setPlace(String place) {
- this.place = place;
+ public void setAddress(String address) {
+ this.address = address;
}
public String getRemark() {
diff --git a/app/src/main/java/com/application/zhangshi_app_android/bean/PersonalNotepadRequestBean.java b/app/src/main/java/com/application/zhangshi_app_android/bean/PersonalNotepadRequestBean.java
new file mode 100644
index 0000000..bd6850c
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/bean/PersonalNotepadRequestBean.java
@@ -0,0 +1,72 @@
+package com.application.zhangshi_app_android.bean;
+
+import java.util.Map;
+
+/**
+ * @author Ljj
+ * @date 2023.05.22. 15:28
+ * @desc
+ */
+public class PersonalNotepadRequestBean extends PageRequestBean{
+ //鏍囬
+ private String title;
+ //鍦扮偣
+ private String address;
+ //浜虹墿
+ private String people;
+ //鍙戠敓鏃堕棿寮�濮�
+ private String happenStartTime;
+ //鍙戠敓鏃堕棿缁撴潫
+ private String happenEndTime;
+
+ public String getTitle() {
+ return title;
+ }
+
+ public void setTitle(String title) {
+ this.title = title;
+ }
+
+ public String getAddress() {
+ return address;
+ }
+
+ public void setAddress(String address) {
+ this.address = address;
+ }
+
+ public String getPeople() {
+ return people;
+ }
+
+ public void setPeople(String people) {
+ this.people = people;
+ }
+
+ public String getHappenStartTime() {
+ return happenStartTime;
+ }
+
+ public void setHappenStartTime(String happenStartTime) {
+ this.happenStartTime = happenStartTime;
+ }
+
+ public String getHappenEndTime() {
+ return happenEndTime;
+ }
+
+ public void setHappenEndTime(String happenEndTime) {
+ this.happenEndTime = happenEndTime;
+ }
+
+ @Override
+ public Map<String, Object> toMap() {
+ Map<String, Object> map = super.toMap();
+ map.put("title", title==null?"":title);
+ map.put("address", address ==null?"": address);
+ map.put("people", people ==null?"": people);
+ map.put("happenStartTime", happenStartTime==null?"":happenStartTime);
+ map.put("happenEndTime", happenEndTime==null?"":happenEndTime);
+ return map;
+ }
+}
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..1e6568a
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/bean/PetBean.java
@@ -0,0 +1,249 @@
+package com.application.zhangshi_app_android.bean;
+
+import java.io.Serializable;
+
+/**
+ * @author Ljj
+ * @date 2023.05.22. 22:58
+ * @desc
+ */
+public class PetBean implements Serializable {
+ //id
+ private String id;
+ //鐘瘉鍙风爜
+ private String idNum;
+ //闃蹭吉鐮�
+ private String securityCode;
+ //鐘
+ private String type;
+ //鍚嶅瓧
+ private String name;
+ //鍑虹敓鏃ユ湡
+ private String birth;
+ //鎬у埆 0 闆� 1 闆�
+ private int sex;
+ //姣涜壊
+ private String color;
+ //鐘彧鎬ц川
+ private String properties;
+ //楗涔犳儻锛堝枩锛�
+ private String eatHabit;
+ //楗涔犳儻锛堝繉锛�
+ private String disEatHabit;
+ //鐢熸椿涔犳儻锛堝枩锛�
+ private String lifeHabit;
+ //鐢熸椿涔犳儻锛堝繉锛�
+ private String disLifeHabit;
+ //灞呬綇鍦板潃
+ private String address;
+ //鑳藉惉鎳傜殑鏂硅█
+ private String dialect;
+
+ private int familyId;
+ private int ownData;
+ private String createTime;
+ private String headPicture;
+ //鍏ㄨ韩鐓�
+ private String fullPicture;
+ //鐘富濮撳悕
+ private String masterName;
+ //鐘富韬唤璇佸彿
+ private String masterIdNum;
+ //鐘富鐢佃瘽
+ private String phone;
+ //鐘富鍦板潃
+ private String masterAddress;
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String 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 String getSex() {
+ return sex==0?"闆�":"闆�";
+ }
+
+ public void setSex(String sex) {
+ this.sex = sex.equals("闆�")?0:1;
+ }
+
+ 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 getDisEatHabit() {
+ return disEatHabit;
+ }
+
+ public void setDisEatHabit(String disEatHabit) {
+ this.disEatHabit = disEatHabit;
+ }
+
+ public String getLifeHabit() {
+ return lifeHabit;
+ }
+
+ public void setLifeHabit(String lifeHabit) {
+ this.lifeHabit = lifeHabit;
+ }
+
+ 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 int getFamilyId() {
+ return familyId;
+ }
+
+ public void setFamilyId(int familyId) {
+ this.familyId = familyId;
+ }
+
+ public int getOwnData() {
+ return ownData;
+ }
+
+ public void setOwnData(int ownData) {
+ this.ownData = ownData;
+ }
+
+ public String getCreateTime() {
+ return createTime;
+ }
+
+ public void setCreateTime(String createTime) {
+ this.createTime = createTime;
+ }
+
+ public String getHeadPicture() {
+ return headPicture;
+ }
+
+ public void setHeadPicture(String headPicture) {
+ this.headPicture = headPicture;
+ }
+
+ public String getFullPicture() {
+ return fullPicture;
+ }
+
+ public void setFullPicture(String fullPicture) {
+ this.fullPicture = fullPicture;
+ }
+
+ public String getMasterName() {
+ return masterName;
+ }
+
+ public void setMasterName(String masterName) {
+ this.masterName = masterName;
+ }
+
+ public String getMasterIdNum() {
+ return masterIdNum;
+ }
+
+ public void setMasterIdNum(String masterIdNum) {
+ this.masterIdNum = masterIdNum;
+ }
+
+ public String getPhone() {
+ return phone;
+ }
+
+ public void setPhone(String phone) {
+ this.phone = phone;
+ }
+
+ public String getMasterAddress() {
+ return masterAddress;
+ }
+
+ public void setMasterAddress(String masterAddress) {
+ this.masterAddress = masterAddress;
+ }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/bean/PetMemoBean.java b/app/src/main/java/com/application/zhangshi_app_android/bean/PetMemoBean.java
index 1352ee8..0c4667c 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/bean/PetMemoBean.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/bean/PetMemoBean.java
@@ -8,37 +8,59 @@
* @desc
*/
public class PetMemoBean implements Serializable {
- //棰樺悕
- private String name;
- //鏃ユ湡
- private String time;
+ private String id;
+ //瀹犵墿id
+ private String pid;
+ //鍒涘缓鏃堕棿
+ private String createTime;
//鎻愰啋鏃堕棿
- private String reminderTime;
+ private String remindTime;
+ //鍙戠敓鏃堕棿
+ private String happenTime;
+ //棰樺悕
+ private String title;
+
private String remark;
private String url;
- public String getName() {
- return name;
+ public String getId() {
+ return id;
}
- public void setName(String name) {
- this.name = name;
+ public void setId(String id) {
+ this.id = id;
}
- public String getTime() {
- return time;
+ public String getPid() {
+ return pid;
}
- public void setTime(String time) {
- this.time = time;
+ public void setPid(String pid) {
+ this.pid = pid;
}
- public String getReminderTime() {
- return reminderTime;
+ public String getCreateTime() {
+ return createTime;
}
- public void setReminderTime(String reminderTime) {
- this.reminderTime = reminderTime;
+ public void setCreateTime(String createTime) {
+ this.createTime = createTime;
+ }
+
+ public String getRemindTime() {
+ return remindTime;
+ }
+
+ public void setRemindTime(String remindTime) {
+ this.remindTime = remindTime;
+ }
+
+ public String getTitle() {
+ return title;
+ }
+
+ public void setTitle(String title) {
+ this.title = title;
}
public String getRemark() {
@@ -56,4 +78,12 @@
public void setUrl(String url) {
this.url = url;
}
+
+ public String getHappenTime() {
+ return happenTime;
+ }
+
+ public void setHappenTime(String happenTime) {
+ this.happenTime = happenTime;
+ }
}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/bean/PetMemoRequestBean.java b/app/src/main/java/com/application/zhangshi_app_android/bean/PetMemoRequestBean.java
new file mode 100644
index 0000000..ec5e5ab
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/bean/PetMemoRequestBean.java
@@ -0,0 +1,84 @@
+package com.application.zhangshi_app_android.bean;
+
+import java.util.Map;
+
+/**
+ * @author Ljj
+ * @date 2023.05.23. 16:14
+ * @desc
+ */
+public class PetMemoRequestBean extends PageRequestBean{
+ //瀹犵墿id
+ private String pid;
+ //棰樺悕
+ private String title;
+ //寮�濮嬫椂闂�
+ private String happenStartTime;
+ //缁撴潫鏃堕棿
+ private String happenEndTime;
+ //鎻愰啋鏃堕棿寮�濮�
+ private String remindStartTime;
+ //鎻愰啋鏃堕棿缁撴潫
+ private String remindEndTime;
+
+ public String getTitle() {
+ return title;
+ }
+
+ public void setTitle(String title) {
+ this.title = title;
+ }
+
+ public String getHappenStartTime() {
+ return happenStartTime;
+ }
+
+ public void setHappenStartTime(String happenStartTime) {
+ this.happenStartTime = happenStartTime;
+ }
+
+ public String getHappenEndTime() {
+ return happenEndTime;
+ }
+
+ public void setHappenEndTime(String happenEndTime) {
+ this.happenEndTime = happenEndTime;
+ }
+
+ public String getRemindStartTime() {
+ return remindStartTime;
+ }
+
+ public void setRemindStartTime(String remindStartTime) {
+ this.remindStartTime = remindStartTime;
+ }
+
+ public String getRemindEndTime() {
+ return remindEndTime;
+ }
+
+ public void setRemindEndTime(String remindEndTime) {
+ this.remindEndTime = remindEndTime;
+ }
+ public void setPid(String pid) {
+ this.pid = pid;
+ }
+
+ public String getPid() {
+ return pid;
+ }
+
+ @Override
+ public Map<String, Object> toMap() {
+ Map<String, Object> map = super.toMap();
+ map.put("pid", pid == null ? "" : pid);
+ map.put("title", title == null ? "" : title);
+ map.put("happenStartTime", happenStartTime == null ? "" : happenStartTime);
+ map.put("happenEndTime", happenEndTime == null ? "" : happenEndTime);
+ map.put("remindStartTime", remindStartTime == null ? "" : remindStartTime);
+ map.put("remindEndTime", remindEndTime == null ? "" : remindEndTime);
+ return map;
+ }
+
+
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/bean/PetOwnerBean.java b/app/src/main/java/com/application/zhangshi_app_android/bean/PetOwnerBean.java
new file mode 100644
index 0000000..41a5e22
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/bean/PetOwnerBean.java
@@ -0,0 +1,119 @@
+package com.application.zhangshi_app_android.bean;
+
+/**
+ * @author Ljj
+ * @date 2023.05.23. 15:20
+ * @desc 瀹犵墿涓讳汉
+ */
+public class PetOwnerBean {
+ //id
+ private long id;
+ //瀹犵墿琛↖d
+ private String petId;
+ //瀹犵墿涓讳汉鍚嶇О
+ private String name;
+ //璇佷欢绫诲瀷
+ private String certificateType;
+ //璇佷欢鍙风爜
+ private String certificateNo;
+ //鍥哄畾鍙风爜
+ private String fixedNo;
+ //绉诲姩鍙风爜
+ private String phoneNo;
+ //鎷ユ湁鏁伴噺
+ private int many;
+ //浣忔墍璇︾粏鍦板潃
+ private String address;
+ //浣忔墍鎬ц川
+ private String property;
+ //鐢靛瓙閭欢
+ private String email;
+
+ public long getId() {
+ return id;
+ }
+
+ public void setId(long id) {
+ this.id = id;
+ }
+
+ public String getPetId() {
+ return petId;
+ }
+
+ public void setPetId(String petId) {
+ this.petId = petId;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getCertificateType() {
+ return certificateType;
+ }
+
+ public void setCertificateType(String certificateType) {
+ this.certificateType = certificateType;
+ }
+
+ public String getCertificateNo() {
+ return certificateNo;
+ }
+
+ public void setCertificateNo(String certificateNo) {
+ this.certificateNo = certificateNo;
+ }
+
+ public String getFixedNo() {
+ return fixedNo;
+ }
+
+ public void setFixedNo(String fixedNo) {
+ this.fixedNo = fixedNo;
+ }
+
+ public String getPhoneNo() {
+ return phoneNo;
+ }
+
+ public void setPhoneNo(String phoneNo) {
+ this.phoneNo = phoneNo;
+ }
+
+ public int getMany() {
+ return many;
+ }
+
+ public void setMany(int many) {
+ this.many = many;
+ }
+
+ public String getAddress() {
+ return address;
+ }
+
+ public void setAddress(String address) {
+ this.address = address;
+ }
+
+ public String getProperty() {
+ return property;
+ }
+
+ public void setProperty(String property) {
+ this.property = property;
+ }
+
+ public String getEmail() {
+ return email;
+ }
+
+ public void setEmail(String email) {
+ this.email = email;
+ }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/bean/PetRequestBean.java b/app/src/main/java/com/application/zhangshi_app_android/bean/PetRequestBean.java
new file mode 100644
index 0000000..b5bbd1f
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/bean/PetRequestBean.java
@@ -0,0 +1,50 @@
+package com.application.zhangshi_app_android.bean;
+
+import java.util.Map;
+
+/**
+ * @author Ljj
+ * @date 2023.05.22. 22:59
+ * @desc
+ */
+public class PetRequestBean extends PageRequestBean{
+ //鍚嶅瓧
+ private String name;
+ //鍑虹敓鏃ユ湡寮�濮嬫椂闂�
+ private String happenStartTime;
+ //鍑虹敓鏃ユ湡缁撴潫鏃堕棿
+ private String happenEndTime;
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getHappenStartTime() {
+ return happenStartTime;
+ }
+
+ public void setHappenStartTime(String happenStartTime) {
+ this.happenStartTime = happenStartTime;
+ }
+
+ public String getHappenEndTime() {
+ return happenEndTime;
+ }
+
+ public void setHappenEndTime(String happenEndTime) {
+ this.happenEndTime = happenEndTime;
+ }
+
+ @Override
+ public Map<String, Object> toMap() {
+ Map<String, Object> map = super.toMap();
+ map.put("name",name==null?"":name);
+ map.put("happenStartTime",happenStartTime==null?"":happenStartTime);
+ map.put("happenEndTime",happenEndTime==null?"":happenEndTime);
+ return map;
+ }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/bean/PrivacyBean.java b/app/src/main/java/com/application/zhangshi_app_android/bean/PrivacyBean.java
index 1c58add..350ef9c 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/bean/PrivacyBean.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/bean/PrivacyBean.java
@@ -1,6 +1,7 @@
package com.application.zhangshi_app_android.bean;
import java.io.Serializable;
+import java.util.Objects;
/**
* @author Ljj
@@ -8,28 +9,41 @@
* @desc
*/
public class PrivacyBean implements Serializable {
+ private int id;
//绫诲埆
private String type;
+ //璐﹀彿(鍚悊璐㈡敹鐩�)
+ private String accNo;
//鏃堕棿
- private String time;
- //璐﹀彿
- private String account;
- //瀵嗙爜
- private String password;
+ private String happenTime;
//鏈夋晥鏃堕棿
- private String effectiveTime;
- //鏄惁寮�鍚寚绾�
- private int isFingerprint;
- //鏄惁寮�鍚汉鑴歌瘑鍒�
+ private String validityDate;
+ //瀵嗙爜(瀛樻姌鍜屽崱鐢ㄩ�楀彿闅斿紑)
+ private String password;
+ //鏄惁寮�鍚寚绾� 0鍚� 1鏄�
+ private int isFinger;
+ //鏄惁寮�鍚汉鑴歌瘑鍒� 0鍚� 1鏄�
private int isFace;
- //绉佹湁杩樻槸鍏湁
- private int isPublic;
+ //鏄惁绉佹湁 0鍚� 1鏄�
+ private int isPrivate;
//瀛樻斁浣嶇疆
private String location;
//澶囨敞
private String remark;
//鐢靛瓙鏂囦欢
private String url;
+ //鐢ㄦ埛id
+ private String userId;
+ //鍒涘缓鏃堕棿
+ private String createTime;
+
+ public int getId() {
+ return id;
+ }
+
+ public void setId(int id) {
+ this.id = id;
+ }
public String getType() {
return type;
@@ -39,20 +53,28 @@
this.type = type;
}
- public String getTime() {
- return time;
+ public String getAccNo() {
+ return accNo;
}
- public void setTime(String time) {
- this.time = time;
+ public void setAccNo(String accNo) {
+ this.accNo = accNo;
}
- public String getAccount() {
- return account;
+ public String getHappenTime() {
+ return happenTime;
}
- public void setAccount(String account) {
- this.account = account;
+ public void setHappenTime(String happenTime) {
+ this.happenTime = happenTime;
+ }
+
+ public String getValidityDate() {
+ return validityDate;
+ }
+
+ public void setValidityDate(String validityDate) {
+ this.validityDate = validityDate;
}
public String getPassword() {
@@ -63,36 +85,34 @@
this.password = password;
}
- public String getEffectiveTime() {
- return effectiveTime;
+ public String getIsFinger() {
+ return isFinger==0?"鍚�":"鏄�";
}
- public void setEffectiveTime(String effectiveTime) {
- this.effectiveTime = effectiveTime;
+ public void setIsFinger(String isFinger) {
+ if (isFinger != null){
+ this.isFinger = isFinger.equals("鍚�")?0:1;
+ }
}
- public int getIsFingerprint() {
- return isFingerprint;
+ public String getIsFace() {
+ return isFace==0?"鍚�":"鏄�";
}
- public void setIsFingerprint(int isFingerprint) {
- this.isFingerprint = isFingerprint;
+ public void setIsFace(String isFace) {
+ if (isFace != null){
+ this.isFace = isFace.equals("鍚�")?0:1;
+ }
}
- public int getIsFace() {
- return isFace;
+ public String getIsPrivate() {
+ return isPrivate==0?"鍏湁":"绉佹湁";
}
- public void setIsFace(int isFace) {
- this.isFace = isFace;
- }
-
- public int getIsPublic() {
- return isPublic;
- }
-
- public void setIsPublic(int isPublic) {
- this.isPublic = isPublic;
+ public void setIsPrivate(String isPrivate) {
+ if (isPrivate != null){
+ this.isPrivate = isPrivate.equals("鍚�")?0:1;
+ }
}
public String getLocation() {
@@ -118,4 +138,20 @@
public void setUrl(String url) {
this.url = url;
}
+
+ public String getUserId() {
+ return userId;
+ }
+
+ public void setUserId(String userId) {
+ this.userId = userId;
+ }
+
+ public String getCreateTime() {
+ return createTime;
+ }
+
+ public void setCreateTime(String createTime) {
+ this.createTime = createTime;
+ }
}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/bean/PrivacyRequestBean.java b/app/src/main/java/com/application/zhangshi_app_android/bean/PrivacyRequestBean.java
new file mode 100644
index 0000000..c2487a6
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/bean/PrivacyRequestBean.java
@@ -0,0 +1,91 @@
+package com.application.zhangshi_app_android.bean;
+
+import java.util.Map;
+
+/**
+ * @author Ljj
+ * @date 2023.05.22. 19:33
+ * @desc
+ */
+public class PrivacyRequestBean extends PageRequestBean{
+ private String type;//绫诲埆
+ private String accNo;//璐﹀彿
+ private String happenStartTime;//寮�濮嬫椂闂�
+ private String happenEndTime;//缁撴潫鏃堕棿
+ private int isPrivate = -1;//鏄惁绉佹湁 0鍚� 1鏄�
+ private String location;//瀛樻斁浣嶇疆
+ private int isFinger = -1;//鏄惁寮�鍚寚绾� 0鍚� 1鏄�
+
+ public String getType() {
+ return type;
+ }
+
+ public void setType(String type) {
+ this.type = type;
+ }
+
+ public String getAccNo() {
+ return accNo;
+ }
+
+ public void setAccNo(String accNo) {
+ this.accNo = accNo;
+ }
+
+ public String getHappenStartTime() {
+ return happenStartTime;
+ }
+
+ public void setHappenStartTime(String happenStartTime) {
+ this.happenStartTime = happenStartTime;
+ }
+
+ public String getHappenEndTime() {
+ return happenEndTime;
+ }
+
+ public void setHappenEndTime(String happenEndTime) {
+ this.happenEndTime = happenEndTime;
+ }
+
+ public int getIsPrivate() {
+ return isPrivate;
+ }
+
+ public void setIsPrivate(int isPrivate) {
+ this.isPrivate = isPrivate;
+ }
+
+ public String getLocation() {
+ return location;
+ }
+
+ public void setLocation(String location) {
+ this.location = location;
+ }
+
+ public int getIsFinger() {
+ return isFinger;
+ }
+
+ public void setIsFinger(int isFinger) {
+ this.isFinger = isFinger;
+ }
+
+ @Override
+ public Map<String, Object> toMap() {
+ Map<String, Object> map = super.toMap();
+ map.put("type",type==null?"":type);
+ map.put("accNo",accNo==null?"":accNo);
+ map.put("happenStartTime",happenStartTime==null?"":happenStartTime);
+ map.put("happenEndTime",happenEndTime==null?"":happenEndTime);
+ if (isFinger != -1){
+ map.put("isFinger",isFinger);
+ }
+ if (isPrivate != -1){
+ map.put("isPrivate",isPrivate);
+ }
+ map.put("location",location==null?"":location);
+ return map;
+ }
+}
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
index 2792be0..ddd71a3 100644
--- 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
@@ -8,31 +8,38 @@
* @desc 涓汉璐骇 Bean
*/
public class PropertyBean implements Serializable {
-
- private String type;
- private String name;
+ private int id;//id
+ private int userId;//鐢ㄦ埛id
+ private String type;//璐骇绫诲埆
+ private String incomeName;//鏀舵敮鍚嶇О
private String price;//浠峰��
- private String createTime;//鏃堕棿
- private String term;//鏈熼檺
- private String status;//鍙樻洿鎴栨敞閿�
+ private String timeLimit;//鏈熼檺
+ private String isChange;//鍙樻洿鎴栨敞閿�
private String propertyRight;//浜ф潈
private String location;//浣嶇疆
+ private String createTime;//鍒涘缓鏃堕棿
private String remark;//澶囨敞
private String url;//鐢靛瓙鏂囦欢
+ private int status;//鏄惁娉ㄩ攢 1.鏄� 0.鍚�
+ private String happenTime;//鍙戠敓鏃堕棿
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 int getId() {
+ return id;
+ }
+
+ public void setId(int id) {
+ this.id = id;
+ }
+
+ public String getHappenTime() {
+ return happenTime;
+ }
+
+ public void setHappenTime(String happenTime) {
+ this.happenTime = happenTime;
}
public String getType() {
@@ -43,12 +50,12 @@
this.type = type;
}
- public String getName() {
- return name;
+ public String getIncomeName() {
+ return incomeName;
}
- public void setName(String name) {
- this.name = name;
+ public void setIncomeName(String incomeName) {
+ this.incomeName = incomeName;
}
public String getPrice() {
@@ -67,20 +74,20 @@
this.createTime = createTime;
}
- public String getTerm() {
- return term;
+ public String getTimeLimit() {
+ return timeLimit;
}
- public void setTerm(String term) {
- this.term = term;
+ public void setTimeLimit(String timeLimit) {
+ this.timeLimit = timeLimit;
}
- public String getStatus() {
- return status;
+ public String getIsChange() {
+ return isChange;
}
- public void setStatus(String status) {
- this.status = status;
+ public void setIsChange(String isChange) {
+ this.isChange = isChange;
}
public String getPropertyRight() {
@@ -114,4 +121,20 @@
public void setUrl(String url) {
this.url = url;
}
+
+ public int getUserId() {
+ return userId;
+ }
+
+ public void setUserId(int userId) {
+ this.userId = userId;
+ }
+
+ public String getStatus() {
+ return status==1?"鏄�":"鍚�";
+ }
+
+ public void setStatus(String status) {
+ this.status = status.equals("鏄�")?1:0;
+ }
}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/bean/PropertyRequestBean.java b/app/src/main/java/com/application/zhangshi_app_android/bean/PropertyRequestBean.java
new file mode 100644
index 0000000..2ef3bf3
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/bean/PropertyRequestBean.java
@@ -0,0 +1,67 @@
+package com.application.zhangshi_app_android.bean;
+
+import java.util.Map;
+
+/**
+ * @author Ljj
+ * @date 2023.05.22. 21:51
+ * @desc
+ */
+public class PropertyRequestBean extends PageRequestBean{
+ private String type;//绫诲瀷
+ private String name;//鍚嶇О
+ private String term;//鏈熼檺
+ private String happenStartTime;//鏃堕棿寮�濮�
+ private String happenEndTime;//鏃堕棿缁撴潫
+
+ 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 getTerm() {
+ return term;
+ }
+
+ public void setTerm(String term) {
+ this.term = term;
+ }
+
+ public String getHappenStartTime() {
+ return happenStartTime;
+ }
+
+ public void setHappenStartTime(String happenStartTime) {
+ this.happenStartTime = happenStartTime;
+ }
+
+ public String getHappenEndTime() {
+ return happenEndTime;
+ }
+
+ public void setHappenEndTime(String happenEndTime) {
+ this.happenEndTime = happenEndTime;
+ }
+
+ @Override
+ public Map<String, Object> toMap() {
+ Map<String, Object> map = super.toMap();
+ map.put("type",type==null?"":type);
+ map.put("name",name==null?"":name);
+ map.put("term",term==null?"":term);
+ map.put("happenStartTime",happenStartTime==null?"":happenStartTime);
+ map.put("happenEndTime",happenEndTime==null?"":happenEndTime);
+ return map;
+ }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/bean/TourismBean.java b/app/src/main/java/com/application/zhangshi_app_android/bean/TourismBean.java
index e9372be..c0825a1 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/bean/TourismBean.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/bean/TourismBean.java
@@ -1,36 +1,51 @@
package com.application.zhangshi_app_android.bean;
import java.io.Serializable;
+import java.util.ArrayList;
import java.util.List;
/**
* @author Ljj
* @date 2023.04.28. 21:17
- * @desc
+ * @desc 鏃呮父璐圭敤璁板綍
*/
public class TourismBean implements Serializable {
+ //id
+ private String id;
//鏍囬
private String title;
//寮�濮嬫椂闂�
private String startTime;
//缁撴潫鏃堕棿
private String endTime;
+ //鍒涘缓鏃堕棿
+ private String createTime;
//鎬诲ぉ鏁�
private String totalDay;
//鎬婚噾棰�
- private String totalMoney;
+ private double totalCost;
//椁愯垂
- private String mealMoney;
+ private double eat;
//浣忓璐�
- private String hotelMoney;
+ private double stay;
//浜ら�氳垂
- private String trafficMoney;
+ private double traffic;
//璐墿
- private String shoppingMoney;
+ private double shopping;
//闂ㄧエ
- private String ticketMoney;
+ private double entrance;
+ //鐢ㄦ埛id
+ private String myId;
//姣忔棩娑堣垂璇︾粏璁板綍
- private List<DailyConsumeRecordBean> dailyConsumeRecordBeans;
+ private List<ConsumeRecordBean> detailList = new ArrayList<>();
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
public String getTitle() {
return title;
@@ -56,6 +71,14 @@
this.endTime = endTime;
}
+ public String getCreateTime() {
+ return createTime;
+ }
+
+ public void setCreateTime(String createTime) {
+ this.createTime = createTime;
+ }
+
public String getTotalDay() {
return totalDay;
}
@@ -64,59 +87,67 @@
this.totalDay = totalDay;
}
- public String getTotalMoney() {
- return totalMoney;
+ public double getTotalCost() {
+ return totalCost;
}
- public void setTotalMoney(String totalMoney) {
- this.totalMoney = totalMoney;
+ public void setTotalCost(double totalCost) {
+ this.totalCost = totalCost;
}
- public String getMealMoney() {
- return mealMoney;
+ public double getEat() {
+ return eat;
}
- public void setMealMoney(String mealMoney) {
- this.mealMoney = mealMoney;
+ public void setEat(double eat) {
+ this.eat = eat;
}
- public String getHotelMoney() {
- return hotelMoney;
+ public double getStay() {
+ return stay;
}
- public void setHotelMoney(String hotelMoney) {
- this.hotelMoney = hotelMoney;
+ public void setStay(double stay) {
+ this.stay = stay;
}
- public String getTrafficMoney() {
- return trafficMoney;
+ public double getTraffic() {
+ return traffic;
}
- public void setTrafficMoney(String trafficMoney) {
- this.trafficMoney = trafficMoney;
+ public void setTraffic(double traffic) {
+ this.traffic = traffic;
}
- public String getShoppingMoney() {
- return shoppingMoney;
+ public double getShopping() {
+ return shopping;
}
- public void setShoppingMoney(String shoppingMoney) {
- this.shoppingMoney = shoppingMoney;
+ public void setShopping(double shopping) {
+ this.shopping = shopping;
}
- public String getTicketMoney() {
- return ticketMoney;
+ public double getEntrance() {
+ return entrance;
}
- public void setTicketMoney(String ticketMoney) {
- this.ticketMoney = ticketMoney;
+ public void setEntrance(double entrance) {
+ this.entrance = entrance;
}
- public List<DailyConsumeRecordBean> getDailyConsumeRecordBeans() {
- return dailyConsumeRecordBeans;
+ public String getMyId() {
+ return myId;
}
- public void setDailyConsumeRecordBeans(List<DailyConsumeRecordBean> dailyConsumeRecordBeans) {
- this.dailyConsumeRecordBeans = dailyConsumeRecordBeans;
+ public void setMyId(String myId) {
+ this.myId = myId;
+ }
+
+ public List<ConsumeRecordBean> getDetailList() {
+ return detailList;
+ }
+
+ public void setDetailList(List<ConsumeRecordBean> detailList) {
+ this.detailList = detailList;
}
}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/bean/TourismExperienceBean.java b/app/src/main/java/com/application/zhangshi_app_android/bean/TourismExperienceBean.java
index 7c87586..b0ce0c6 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/bean/TourismExperienceBean.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/bean/TourismExperienceBean.java
@@ -8,26 +8,32 @@
* @desc 鏃呮父缁忓巻 Bean
*/
public class TourismExperienceBean implements Serializable{
+ //id
+ private int id;
//鏍囬
private String title;
- //鏃堕棿
- private String time;
+ //鍙戠敓鏃堕棿
+ private String happenTime;
//鍦扮偣
private String address;
//浜虹墿
- private String person;
+ private String people;
//鏃呮湡
- private String travelTime;
+ private String travelPeriod;
//鎸佽瘉鏃呮父
private String certificate;
//璐圭敤
- private String cost;
- //鍏垂/鑷垂
- private int free;
+ private String totalPrice;
+ //0.鍏垂 1.鑷垂
+ private int self;
//澶囨敞
private String remark;
//鐢靛瓙鏂囦欢
private String url;
+ //鍒涘缓鏃堕棿
+ private String createTime;
+ //璐圭敤璁板綍琛╥d
+ private String feeId;
public String getTitle() {
return title;
@@ -37,12 +43,12 @@
this.title = title;
}
- public String getTime() {
- return time;
+ public String getHappenTime() {
+ return happenTime;
}
- public void setTime(String time) {
- this.time = time;
+ public void setHappenTime(String happenTime) {
+ this.happenTime = happenTime;
}
public String getAddress() {
@@ -53,20 +59,20 @@
this.address = address;
}
- public String getPerson() {
- return person;
+ public String getPeople() {
+ return people;
}
- public void setPerson(String person) {
- this.person = person;
+ public void setPeople(String people) {
+ this.people = people;
}
- public String getTravelTime() {
- return travelTime;
+ public String getTravelPeriod() {
+ return travelPeriod;
}
- public void setTravelTime(String travelTime) {
- this.travelTime = travelTime;
+ public void setTravelPeriod(String travelPeriod) {
+ this.travelPeriod = travelPeriod;
}
public String getCertificate() {
@@ -77,20 +83,20 @@
this.certificate = certificate;
}
- public String getCost() {
- return cost;
+ public String getTotalPrice() {
+ return totalPrice;
}
- public void setCost(String cost) {
- this.cost = cost;
+ public void setTotalPrice(String totalPrice) {
+ this.totalPrice = totalPrice;
}
- public int getFree() {
- return free;
+ public int getSelf() {
+ return self;
}
- public void setFree(int free) {
- this.free = free;
+ public void setSelf(int self) {
+ this.self = self;
}
public String getRemark() {
@@ -108,4 +114,28 @@
public void setUrl(String url) {
this.url = url;
}
+
+ public int getId() {
+ return id;
+ }
+
+ public void setId(int id) {
+ this.id = id;
+ }
+
+ public String getCreateTime() {
+ return createTime;
+ }
+
+ public void setCreateTime(String createTime) {
+ this.createTime = createTime;
+ }
+
+ public String getFeeId() {
+ return feeId;
+ }
+
+ public void setFeeId(String feeId) {
+ this.feeId = feeId;
+ }
}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/bean/TourismExperienceRequestBean.java b/app/src/main/java/com/application/zhangshi_app_android/bean/TourismExperienceRequestBean.java
new file mode 100644
index 0000000..463e6cf
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/bean/TourismExperienceRequestBean.java
@@ -0,0 +1,83 @@
+package com.application.zhangshi_app_android.bean;
+
+import java.util.Map;
+
+/**
+ * @author Ljj
+ * @date 2023.06.11. 16:50
+ * @desc
+ */
+public class TourismExperienceRequestBean extends PageRequestBean{
+ //璐圭敤id
+ private String fid;
+ //寮�濮嬫椂闂�
+ private String happenStartTime;
+ //缁撴潫鏃堕棿
+ private String happenEndTime;
+ //鏍囬
+ private String title;
+ //鍦扮偣
+ private String address;
+ //浜虹墿
+ private String people;
+
+ public String getHappenStartTime() {
+ return happenStartTime;
+ }
+
+ public void setHappenStartTime(String happenStartTime) {
+ this.happenStartTime = happenStartTime;
+ }
+
+ public String getHappenEndTime() {
+ return happenEndTime;
+ }
+
+ public void setHappenEndTime(String happenEndTime) {
+ this.happenEndTime = happenEndTime;
+ }
+
+ public String getTitle() {
+ return title;
+ }
+
+ public void setTitle(String title) {
+ this.title = title;
+ }
+
+ public String getAddress() {
+ return address;
+ }
+
+ public void setAddress(String address) {
+ this.address = address;
+ }
+
+ public String getPeople() {
+ return people;
+ }
+
+ public void setPeople(String people) {
+ this.people = people;
+ }
+
+ public String getFid() {
+ return fid;
+ }
+
+ public void setFid(String fid) {
+ this.fid = fid;
+ }
+
+ @Override
+ public Map<String, Object> toMap() {
+ Map<String, Object> map = super.toMap();
+ map.put("fid",fid == null ? "" : fid);
+ map.put("happenStartTime",happenStartTime == null ? "" : happenStartTime);
+ map.put("happenEndTime",happenEndTime == null ? "" : happenEndTime);
+ map.put("title",title == null ? "" : title);
+ map.put("address",address == null ? "" : address);
+ map.put("people",people == null ? "" : people);
+ return map;
+ }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/bean/TourismRequestBean.java b/app/src/main/java/com/application/zhangshi_app_android/bean/TourismRequestBean.java
new file mode 100644
index 0000000..dccf48c
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/bean/TourismRequestBean.java
@@ -0,0 +1,47 @@
+package com.application.zhangshi_app_android.bean;
+
+import java.util.Map;
+
+/**
+ * @author Ljj
+ * @date 2023.06.06. 15:09
+ * @desc
+ */
+public class TourismRequestBean extends PageRequestBean{
+ private String start;
+ private String end;
+ private String totalDay;
+
+ public String getStart() {
+ return start;
+ }
+
+ public void setStart(String start) {
+ this.start = start;
+ }
+
+ public String getEnd() {
+ return end;
+ }
+
+ public void setEnd(String end) {
+ this.end = end;
+ }
+
+ public String getTotalDay() {
+ return totalDay;
+ }
+
+ public void setTotalDay(String totalDay) {
+ this.totalDay = totalDay;
+ }
+
+ @Override
+ public Map<String, Object> toMap() {
+ Map<String, Object> map = super.toMap();
+ map.put("start", start == null ? "" : start);
+ map.put("end", end == null ? "" : end);
+ map.put("totalDay",totalDay == null ? "" : totalDay);
+ return map;
+ }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/bean/UpdateVersionBean.java b/app/src/main/java/com/application/zhangshi_app_android/bean/UpdateVersionBean.java
new file mode 100644
index 0000000..67dc0cb
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/bean/UpdateVersionBean.java
@@ -0,0 +1,56 @@
+package com.application.zhangshi_app_android.bean;
+
+import java.io.Serializable;
+
+/**
+ * @author Ljj
+ * @date 2023.07.25. 16:06
+ * @desc
+ */
+public class UpdateVersionBean implements Serializable {
+ private int versionCode;
+ private String appUrl;
+ private String content;
+ private String publishTime;
+ private boolean forceUpdate;
+
+ public int getVersionCode() {
+ return versionCode;
+ }
+
+ public void setVersionCode(int versionCode) {
+ this.versionCode = versionCode;
+ }
+
+ public String getAppUrl() {
+ return appUrl;
+ }
+
+ public void setAppUrl(String appUrl) {
+ this.appUrl = appUrl;
+ }
+
+ public String getContent() {
+ return content;
+ }
+
+ public void setContent(String content) {
+ this.content = content;
+ }
+
+ public String getPublishTime() {
+ return publishTime;
+ }
+
+ public void setPublishTime(String publishTime) {
+ this.publishTime = publishTime;
+ }
+
+ public boolean isForceUpdate() {
+ return forceUpdate;
+ }
+
+ public void setForceUpdate(boolean forceUpdate) {
+ this.forceUpdate = forceUpdate;
+ }
+}
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 cf16090..40d0633 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
@@ -4,24 +4,45 @@
import com.android.app_base.base.model.BaseModel;
import com.android.app_base.http.ResultData;
+import com.application.zhangshi_app_android.bean.AnnualHealthStatusBean;
+import com.application.zhangshi_app_android.bean.BannerBean;
import com.application.zhangshi_app_android.bean.CaptchaImageBean;
+import com.application.zhangshi_app_android.bean.CertificateOfHonorBean;
+import com.application.zhangshi_app_android.bean.CleanStorageBean;
import com.application.zhangshi_app_android.bean.ContactsDetailBean;
-import com.application.zhangshi_app_android.bean.ContactsResponseBean;
-import com.application.zhangshi_app_android.bean.FamilyAssetsResponseBean;
+import com.application.zhangshi_app_android.bean.FamilyAssetsBean;
import com.application.zhangshi_app_android.bean.FamilyMemorabiliaBean;
-import com.application.zhangshi_app_android.bean.FamilyMemorabiliaResponseBean;
import com.application.zhangshi_app_android.bean.GrowthExperienceAbroadConditionBean;
import com.application.zhangshi_app_android.bean.GrowthExperienceAutobiographyBean;
import com.application.zhangshi_app_android.bean.GrowthExperienceBean;
import com.application.zhangshi_app_android.bean.GrowthExperienceHolderConditionBean;
import com.application.zhangshi_app_android.bean.GrowthExperienceInformationBean;
import com.application.zhangshi_app_android.bean.GrowthExperienceRelationshipBean;
-import com.application.zhangshi_app_android.bean.HomeDevicesResponseBean;
+import com.application.zhangshi_app_android.bean.HealthCareBaseInfoBean;
+import com.application.zhangshi_app_android.bean.HealthCareExistingProblemsBean;
+import com.application.zhangshi_app_android.bean.HealthCareLifeHabitsBean;
+import com.application.zhangshi_app_android.bean.HealthCareNotesContentBean;
+import com.application.zhangshi_app_android.bean.HealthCareNursingExaminationBean;
+import com.application.zhangshi_app_android.bean.HomeDevicesBean;
+import com.application.zhangshi_app_android.bean.HomeMemberBean;
+import com.application.zhangshi_app_android.bean.HomeRootBean;
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.HundredWishBean;
+import com.application.zhangshi_app_android.bean.IncomeAndExpensesBean;
+import com.application.zhangshi_app_android.bean.MarriageInfoBean;
+import com.application.zhangshi_app_android.bean.MemoBean;
+import com.application.zhangshi_app_android.bean.PageResponseBean;
+import com.application.zhangshi_app_android.bean.LittleDoctorBean;
import com.application.zhangshi_app_android.bean.LoginRequestBean;
import com.application.zhangshi_app_android.bean.LoginResponseBean;
+import com.application.zhangshi_app_android.bean.PersonalNotepadBean;
+import com.application.zhangshi_app_android.bean.PetBean;
+import com.application.zhangshi_app_android.bean.PetMemoBean;
+import com.application.zhangshi_app_android.bean.PrivacyBean;
+import com.application.zhangshi_app_android.bean.PropertyBean;
+import com.application.zhangshi_app_android.bean.TourismBean;
+import com.application.zhangshi_app_android.bean.TourismExperienceBean;
+import com.application.zhangshi_app_android.bean.UpdateVersionBean;
import com.application.zhangshi_app_android.bean.UploadFileResponseBean;
import com.application.zhangshi_app_android.data.source.HttpDataSource;
import com.application.zhangshi_app_android.data.source.LocalDataSource;
@@ -31,6 +52,7 @@
import java.util.List;
import java.util.Map;
+import io.reactivex.Completable;
import io.reactivex.Observable;
import okhttp3.MultipartBody;
@@ -96,7 +118,7 @@
* 鑾峰彇瀹跺ぇ浜嬭
*/
@Override
- public Observable<ResultData<FamilyMemorabiliaResponseBean>> getFamilyMemorabilia(Map<String,Object> paramsMap) {
+ public Observable<ResultData<PageResponseBean<FamilyMemorabiliaBean>>> getFamilyMemorabilia(Map<String,Object> paramsMap) {
return mHttpDataSource.getFamilyMemorabilia(paramsMap);
}
/**
@@ -131,16 +153,35 @@
/**
* 鑾峰彇瀹跺涵璧勪骇
*/
- public Observable<ResultData<FamilyAssetsResponseBean>> getFamilyAssets(Map<String,Object> paramsMap) {
+ public Observable<ResultData<PageResponseBean<FamilyAssetsBean>>> getFamilyAssets(Map<String,Object> paramsMap) {
return mHttpDataSource.getFamilyAssets(paramsMap);
}
/**
* 鑾峰彇瀹跺涵璁惧
*/
- public Observable<ResultData<HomeDevicesResponseBean>> getHomeDevices(Map<String, Object> paramsMap) {
+ public Observable<ResultData<PageResponseBean<HomeDevicesBean>>> getHomeDevices(Map<String, Object> paramsMap) {
return mHttpDataSource.getHomeDevices(paramsMap);
}
+ /**
+ * 娣诲姞瀹跺涵璁惧
+ */
+ public Observable<ResultData<String>> addHomeDevices(HomeDevicesBean homeDevicesBean) {
+ return mHttpDataSource.addHomeDevices(homeDevicesBean);
+ }
+ /**
+ * 鍒犻櫎瀹跺涵璁惧
+ */
+ public Observable<ResultData<String>> deleteHomeDevices(String ids) {
+ return mHttpDataSource.deleteHomeDevices(ids);
+ }
+ /**
+ * 淇敼瀹跺涵璁惧
+ */
+ public Observable<ResultData<String>> updateHomeDevices(HomeDevicesBean homeDevicesBean) {
+ return mHttpDataSource.updateHomeDevices(homeDevicesBean);
+ }
+
/**
* 鑾峰彇鎴愰暱缁忓巻
*/
@@ -152,6 +193,11 @@
*/
public Observable<ResultData<GrowthExperienceInformationBean>> getGrowthExperienceInformation() {
return mHttpDataSource.getGrowthExperienceInformation();
+ }
+
+ @Override
+ public Observable<ResultData<String>> updateGrowthExperienceInformation(GrowthExperienceInformationBean growthExperienceInformationBean) {
+ return mHttpDataSource.updateGrowthExperienceInformation(growthExperienceInformationBean);
}
/**
@@ -187,7 +233,7 @@
/**
* 鑾峰彇閫氳褰�
*/
- public Observable<ResultData<ContactsResponseBean>> getContacts(Map<String, Object> paramsMap) {
+ public Observable<ResultData<PageResponseBean<ContactsDetailBean>>> getContacts(Map<String, Object> paramsMap) {
return mHttpDataSource.getContacts(paramsMap);
}
@@ -201,17 +247,377 @@
/**
* 鑾峰彇灏忓尰鐢�
*/
- public Observable<ResultData<LittleDoctorResponseBean>> getLittleDoctors(Map<String, Object> map) {
+ public Observable<ResultData<PageResponseBean<LittleDoctorBean>>> getLittleDoctors(Map<String, Object> map) {
return mHttpDataSource.getLittleDoctors(map);
+ }
+ /**
+ * 鍒犻櫎灏忓尰鐢�
+ */
+ public Observable<ResultData<String>> deleteLittleDoctors(String ids) {
+ return mHttpDataSource.deleteLittleDoctors(ids);
+ }
+ /**
+ * 澧炲姞灏忓尰鐢�
+ */
+ public Observable<ResultData<String>> addLittleDoctor(LittleDoctorBean littleDoctorBean) {
+ return mHttpDataSource.addLittleDoctor(littleDoctorBean);
+ }
+
+ /**
+ * 淇敼灏忓尰鐢�
+ */
+ public Observable<ResultData<String>> updateLittleDoctor(LittleDoctorBean littleDoctorBean) {
+ return mHttpDataSource.updateLittleDoctor(littleDoctorBean);
}
/**
* 鑾峰彇鏀舵敮鍙拌处
*/
- public Observable<ResultData<IncomeAndExpensesResponseBean>> getIncomeAndExpenses(Map<String, Object> map) {
+ public Observable<ResultData<PageResponseBean<IncomeAndExpensesBean>>> getIncomeAndExpenses(Map<String, Object> map) {
return mHttpDataSource.getIncomeAndExpenses(map);
}
+ /**
+ * 澧炲姞鏀舵敮鍙拌处
+ */
+ @Override
+ public Observable<ResultData<String>> addIncomeAndExpenses(IncomeAndExpensesBean incomeAndExpensesBean) {
+ return mHttpDataSource.addIncomeAndExpenses(incomeAndExpensesBean);
+ }
+
+ /**
+ * 鍒犻櫎鏀舵敮鍙拌处
+ */
+ @Override
+ public Observable<ResultData<String>> deleteIncomeAndExpenses(String ids) {
+ return mHttpDataSource.deleteIncomeAndExpenses(ids);
+ }
+
+ /**
+ * 淇敼鏀舵敮鍙拌处
+ */
+ @Override
+ public Observable<ResultData<String>> updateIncomeAndExpenses(IncomeAndExpensesBean incomeAndExpensesBean) {
+ return mHttpDataSource.updateIncomeAndExpenses(incomeAndExpensesBean);
+ }
+
+ /**
+ * 鑾峰彇淇濇磥鏀剁撼
+ */
+ public Observable<ResultData<PageResponseBean<CleanStorageBean>>> getCleanStorages(Map<String, Object> map) {
+ return mHttpDataSource.getCleanStorages(map);
+ }
+ /**
+ * 鍒犻櫎淇濇磥鏀剁撼
+ */
+ public Observable<ResultData<String>> deleteCleanStorages(String ids) {
+ return mHttpDataSource.deleteCleanStorages(ids);
+ }
+ /**
+ * 澧炲姞淇濇磥鏀剁撼
+ */
+ public Observable<ResultData<String>> addCleanStorage(CleanStorageBean cleanStorageBean) {
+ return mHttpDataSource.addCleanStorage(cleanStorageBean);
+ }
+ /**
+ * 淇敼淇濇磥鏀剁撼
+ */
+ public Observable<ResultData<String>> updateCleanStorage(CleanStorageBean cleanStorageBean) {
+ return mHttpDataSource.updateCleanStorage(cleanStorageBean);
+ }
+
+ /**
+ * 鑾峰彇涓汉濠氬Щ淇℃伅
+ */
+ public Observable<ResultData<MarriageInfoBean>> getMarriageInfo() {
+ return mHttpDataSource.getMarriageInfo();
+ }
+
+ /**
+ * 鑾峰彇涓汉璁颁簨鏈�
+ */
+ public Observable<ResultData<PageResponseBean<PersonalNotepadBean>>> getPersonalNotepad(Map<String, Object> toMap) {
+ return mHttpDataSource.getPersonalNotepad(toMap);
+ }
+ /**
+ * 鍒犻櫎涓汉璁颁簨鏈�
+ */
+ public Observable<ResultData<String>> deletePersonalNotepad(String ids) {
+ return mHttpDataSource.deletePersonalNotepad(ids);
+ }
+ /**
+ * 澧炲姞涓汉璁颁簨鏈�
+ */
+ public Observable<ResultData<String>> addPersonalNotepad(PersonalNotepadBean personalNotepadBean) {
+ return mHttpDataSource.addPersonalNotepad(personalNotepadBean);
+ }
+ /**
+ * 淇敼涓汉璁颁簨鏈�
+ */
+ public Observable<ResultData<String>> updatePersonalNotepad(PersonalNotepadBean personalNotepadBean) {
+ return mHttpDataSource.updatePersonalNotepad(personalNotepadBean);
+ }
+
+ /**
+ * 鑾峰彇涓汉闅愮
+ */
+ public Observable<ResultData<PageResponseBean<PrivacyBean>>> getPrivacy(Map<String, Object> toMap) {
+ return mHttpDataSource.getPrivacy(toMap);
+ }
+
+ /**
+ * 鑾峰彇鑽h獕璇佷功
+ */
+ public Observable<ResultData<PageResponseBean<CertificateOfHonorBean>>> getCertificateOfHonor(Map<String, Object> toMap) {
+ return mHttpDataSource.getCertificateOfHonor(toMap);
+ }
+
+ /**
+ * 鑾峰彇涓汉璧勪骇
+ */
+ public Observable<ResultData<PageResponseBean<PropertyBean>>> getProperty(Map<String, Object> toMap) {
+ return mHttpDataSource.getProperty(toMap);
+ }
+
+ /**
+ * 鑾峰彇鐧惧勾蹇冩効
+ */
+ public Observable<ResultData<PageResponseBean<HundredWishBean>>> getHundredWish(Map<String, Object> toMap) {
+ return mHttpDataSource.getHundredWish(toMap);
+ }
+
+ /**
+ * 鑾峰彇榄呭疇
+ */
+ public Observable<ResultData<PageResponseBean<PetBean>>> getPets(Map<String, Object> toMap) {
+ return mHttpDataSource.getPets(toMap);
+ }
+
+ @Override
+ public Observable<ResultData<PageResponseBean<PetMemoBean>>> getPetMemo(Map<String, Object> toMap) {
+ return mHttpDataSource.getPetMemo(toMap);
+ }
+
+ /**
+ * 鑾峰彇鏃呮父娑堣垂璁板綍
+ */
+ @Override
+ public Observable<ResultData<PageResponseBean<TourismBean>>> getTourism(Map<String, Object> toMap) {
+ return mHttpDataSource.getTourism(toMap);
+ }
+
+ /**
+ * 鏂板鏃呮父娑堣垂璁板綍
+ */
+ @Override
+ public Observable<ResultData<String>> addTourism(TourismBean tourismBean) {
+ return mHttpDataSource.addTourism(tourismBean);
+ }
+
+ /**
+ * 鍒犻櫎鏃呮父娑堣垂璁板綍
+ */
+ @Override
+ public Observable<ResultData<String>> deleteTourism(String ids) {
+ return mHttpDataSource.deleteTourism(ids);
+ }
+
+ /**
+ * 淇敼鏃呮父娑堣垂璁板綍
+ */
+ @Override
+ public Observable<ResultData<String>> updateTourism(TourismBean tourismBean) {
+ return mHttpDataSource.updateTourism(tourismBean);
+ }
+
+ /**
+ * 鑾峰彇鏃呮父缁忓巻
+ */
+ public Observable<ResultData<PageResponseBean<TourismExperienceBean>>> getTourismExperience(Map<String, Object> toMap) {
+ return mHttpDataSource.getTourismExperience(toMap);
+ }
+
+ /**
+ * 鏂板鏃呮父缁忓巻
+ */
+ public Observable<ResultData<String>> addTourismExperience(TourismExperienceBean tourismExperienceBean) {
+ return mHttpDataSource.addTourismExperience(tourismExperienceBean);
+ }
+
+ /**
+ * 鍒犻櫎鏃呮父缁忓巻
+ */
+ public Observable<ResultData<String>> deleteTourismExperience(String ids) {
+ return mHttpDataSource.deleteTourismExperience(ids);
+ }
+
+ /**
+ * 淇敼鏃呮父缁忓巻
+ */
+ public Observable<ResultData<String>> updateTourismExperience(TourismExperienceBean tourismExperienceBean) {
+ return mHttpDataSource.updateTourismExperience(tourismExperienceBean);
+ }
+
+ /**
+ * 鑾峰彇澶囧繕鏈�
+ */
+ public Observable<ResultData<List<MemoBean>>> getMemos(String fid, String cid) {
+ return mHttpDataSource.getMemos(fid,cid);
+ }
+
+ /**
+ * 澧炲姞澶囧繕鏈�
+ */
+ public Observable<ResultData<String>> addMemo(MemoBean memoBean) {
+ return mHttpDataSource.addMemo(memoBean);
+ }
+
+ /**
+ * 鍒犻櫎澶囧繕鏈�
+ */
+ public Observable<ResultData<String>> deleteMemo(String ids) {
+ return mHttpDataSource.deleteMemo(ids);
+ }
+
+ /**
+ * 淇敼澶囧繕鏈�
+ */
+ public Observable<ResultData<String>> updateMemo(MemoBean memoBean) {
+ return mHttpDataSource.updateMemo(memoBean);
+ }
+
+
+ /**
+ * 鑾峰彇瀹惰氨
+ */
+ public Observable<ResultData<PageResponseBean<HomeMemberBean>>> getHomeMembers(Map<String, Object> toMap) {
+ return mHttpDataSource.getHomeMembers(toMap);
+ }
+
+ /**
+ * 鑾峰彇瀹舵牴缃�
+ */
+ @Override
+ public Observable<ResultData<List<HomeRootBean>>> getHomeRoot(String depth) {
+ return mHttpDataSource.getHomeRoot(depth);
+ }
+
+ /**
+ * 鑾峰彇骞村害鍋ュ悍鐘跺喌
+ */
+ @Override
+ public Observable<ResultData<PageResponseBean<AnnualHealthStatusBean>>> getAnnualHealthStatus(Map<String, Object> toMap) {
+ return mHttpDataSource.getAnnualHealthStatus(toMap);
+ }
+
+ /**
+ * 鏂板骞村害鍋ュ悍鐘跺喌
+ */
+ @Override
+ public Observable<ResultData<String>> addAnnualHealthStatus(AnnualHealthStatusBean annualHealthStatusBean) {
+ return mHttpDataSource.addAnnualHealthStatus(annualHealthStatusBean);
+ }
+
+ /**
+ * 鍒犻櫎骞村害鍋ュ悍鐘跺喌
+ */
+ @Override
+ public Observable<ResultData<String>> deleteAnnualHealthStatus(String ids) {
+ return mHttpDataSource.deleteAnnualHealthStatus(ids);
+ }
+
+ /**
+ * 淇敼骞村害鍋ュ悍鐘跺喌
+ */
+ @Override
+ public Observable<ResultData<String>> updateAnnualHealthStatus(AnnualHealthStatusBean annualHealthStatusBean) {
+ return mHttpDataSource.updateAnnualHealthStatus(annualHealthStatusBean);
+ }
+
+ /**
+ * 鑾峰彇杞挱鍥炬暟鎹�
+ */
+ public Observable<ResultData<List<BannerBean>>> getBannerData() {
+ return mHttpDataSource.getBannerData();
+ }
+
+ /**
+ * 鑾峰彇鍋ュ悍淇濆仴鍩烘湰淇℃伅
+ */
+ public Observable<ResultData<HealthCareBaseInfoBean>> getHealthCareBaseInfo() {
+ return mHttpDataSource.getHealthCareBaseInfo();
+ }
+
+ /**
+ * 淇敼鍋ュ悍淇濆仴鍩烘湰淇℃伅
+ */
+ public Observable<ResultData<String>> updateHealthCareBaseInfo(HealthCareBaseInfoBean healthCareBaseInfoBean) {
+ return mHttpDataSource.updateHealthCareBaseInfo(healthCareBaseInfoBean);
+ }
+
+ /**
+ * 鑾峰彇鍋ュ悍淇濆仴鐢熸椿涔犳儻
+ */
+ public Observable<ResultData<HealthCareLifeHabitsBean>> getHealthCareLifeHabits() {
+ return mHttpDataSource.getHealthCareLifeHabits();
+ }
+
+ /**
+ * 淇敼鍋ュ悍淇濆仴鐢熸椿涔犳儻
+ */
+ public Observable<ResultData<String>> updateHealthCareLifeHabits(HealthCareLifeHabitsBean healthCareLifeHabitsBean) {
+ return mHttpDataSource.updateHealthCareLifeHabits(healthCareLifeHabitsBean);
+ }
+
+ /**
+ * 鑾峰彇鍋ュ悍淇濆仴鎶ょ悊鏌ヤ綋
+ */
+ public Observable<ResultData<HealthCareNursingExaminationBean>> getHealthCareNursingExamination() {
+ return mHttpDataSource.getHealthCareNursingExamination();
+ }
+
+ /**
+ * 淇敼鍋ュ悍淇濆仴鎶ょ悊鏌ヤ綋
+ */
+ public Observable<ResultData<String>> updateHealthCareNursingExamination(HealthCareNursingExaminationBean healthCareNursingExaminationBean) {
+ return mHttpDataSource.updateHealthCareNursingExamination(healthCareNursingExaminationBean);
+ }
+
+ /**
+ * 鑾峰彇鍋ュ悍淇濆仴鐜板瓨鍋ュ悍闂
+ */
+ public Observable<ResultData<HealthCareExistingProblemsBean>> getHealthCareExistingProblems() {
+ return mHttpDataSource.getHealthCareExistingProblems();
+ }
+
+ /**
+ * 淇敼鍋ュ悍淇濆仴鐜板瓨鍋ュ悍闂
+ */
+ public Observable<ResultData<String>> updateHealthCareExistingProblems(HealthCareExistingProblemsBean healthCareExistingProblemsBean) {
+ return mHttpDataSource.updateHealthCareExistingProblems(healthCareExistingProblemsBean);
+ }
+
+ /**
+ * 鑾峰彇鍋ュ悍淇濆仴绗旇鍐呭
+ */
+ public Observable<ResultData<HealthCareNotesContentBean>> getHealthCareNotesContent() {
+ return mHttpDataSource.getHealthCareNotesContent();
+ }
+
+ /**
+ * 淇敼鍋ュ悍淇濆仴绗旇鍐呭
+ */
+ public Observable<ResultData<String>> updateHealthCareNotesContent(HealthCareNotesContentBean healthCareNotesContentBean) {
+ return mHttpDataSource.updateHealthCareNotesContent(healthCareNotesContentBean);
+ }
+
+ /**
+ * 鑾峰彇鐗堟湰鏇存柊
+ */
+ public Observable<ResultData<UpdateVersionBean>> getUpdateVersion() {
+ return mHttpDataSource.getUpdateVersion();
+ }
+
/**
* @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 618c2fc..481145e 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
@@ -1,29 +1,52 @@
package com.application.zhangshi_app_android.data.source;
import com.android.app_base.http.ResultData;
+import com.application.zhangshi_app_android.bean.AnnualHealthStatusBean;
+import com.application.zhangshi_app_android.bean.BannerBean;
import com.application.zhangshi_app_android.bean.CaptchaImageBean;
+import com.application.zhangshi_app_android.bean.CertificateOfHonorBean;
+import com.application.zhangshi_app_android.bean.CleanStorageBean;
import com.application.zhangshi_app_android.bean.ContactsDetailBean;
-import com.application.zhangshi_app_android.bean.ContactsResponseBean;
-import com.application.zhangshi_app_android.bean.FamilyAssetsResponseBean;
+import com.application.zhangshi_app_android.bean.HealthCareBaseInfoBean;
+import com.application.zhangshi_app_android.bean.HealthCareExistingProblemsBean;
+import com.application.zhangshi_app_android.bean.HealthCareLifeHabitsBean;
+import com.application.zhangshi_app_android.bean.HealthCareNotesContentBean;
+import com.application.zhangshi_app_android.bean.HealthCareNursingExaminationBean;
+import com.application.zhangshi_app_android.bean.HomeDevicesBean;
+import com.application.zhangshi_app_android.bean.HomeMemberBean;
+import com.application.zhangshi_app_android.bean.HomeRootBean;
+import com.application.zhangshi_app_android.bean.HundredWishBean;
+import com.application.zhangshi_app_android.bean.IncomeAndExpensesBean;
+import com.application.zhangshi_app_android.bean.MarriageInfoBean;
+import com.application.zhangshi_app_android.bean.MemoBean;
+import com.application.zhangshi_app_android.bean.PageResponseBean;
+import com.application.zhangshi_app_android.bean.FamilyAssetsBean;
import com.application.zhangshi_app_android.bean.FamilyMemorabiliaBean;
-import com.application.zhangshi_app_android.bean.FamilyMemorabiliaResponseBean;
import com.application.zhangshi_app_android.bean.GrowthExperienceAbroadConditionBean;
import com.application.zhangshi_app_android.bean.GrowthExperienceAutobiographyBean;
import com.application.zhangshi_app_android.bean.GrowthExperienceBean;
import com.application.zhangshi_app_android.bean.GrowthExperienceHolderConditionBean;
import com.application.zhangshi_app_android.bean.GrowthExperienceInformationBean;
import com.application.zhangshi_app_android.bean.GrowthExperienceRelationshipBean;
-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.LittleDoctorBean;
import com.application.zhangshi_app_android.bean.LoginRequestBean;
import com.application.zhangshi_app_android.bean.LoginResponseBean;
+import com.application.zhangshi_app_android.bean.PersonalNotepadBean;
+import com.application.zhangshi_app_android.bean.PetBean;
+import com.application.zhangshi_app_android.bean.PetMemoBean;
+import com.application.zhangshi_app_android.bean.PetOwnerBean;
+import com.application.zhangshi_app_android.bean.PrivacyBean;
+import com.application.zhangshi_app_android.bean.PropertyBean;
+import com.application.zhangshi_app_android.bean.TourismBean;
+import com.application.zhangshi_app_android.bean.TourismExperienceBean;
+import com.application.zhangshi_app_android.bean.UpdateVersionBean;
import com.application.zhangshi_app_android.bean.UploadFileResponseBean;
import java.util.List;
import java.util.Map;
+import io.reactivex.Completable;
import io.reactivex.Observable;
import okhttp3.MultipartBody;
@@ -50,7 +73,7 @@
/**
* 鑾峰彇瀹跺ぇ浜嬭
*/
- Observable<ResultData<FamilyMemorabiliaResponseBean>> getFamilyMemorabilia(Map<String,Object> paramsMap);
+ Observable<ResultData<PageResponseBean<FamilyMemorabiliaBean>>> getFamilyMemorabilia(Map<String,Object> paramsMap);
/**
* 澧炲姞瀹跺ぇ浜嬭
@@ -62,7 +85,7 @@
Observable<ResultData<String>> deleteFamilyMemorabilia(String ids);
/**
- * 淇敼
+ * 淇敼瀹跺ぇ浜嬭
*/
Observable<ResultData<String>> updateFamilyMemorabilia(FamilyMemorabiliaBean familyMemorabiliaBean);
@@ -74,11 +97,23 @@
/**
* 鑾峰彇瀹跺涵璧勪骇
*/
- Observable<ResultData<FamilyAssetsResponseBean>> getFamilyAssets(Map<String, Object> paramsMap);
+ Observable<ResultData<PageResponseBean<FamilyAssetsBean>>> getFamilyAssets(Map<String, Object> paramsMap);
/**
* 鑾峰彇瀹跺涵璁惧
*/
- Observable<ResultData<HomeDevicesResponseBean>> getHomeDevices(Map<String, Object> paramsMap);
+ Observable<ResultData<PageResponseBean<HomeDevicesBean>>> getHomeDevices(Map<String, Object> paramsMap);
+ /**
+ * 澧炲姞瀹跺涵璁惧
+ */
+ Observable<ResultData<String>> addHomeDevices(HomeDevicesBean homeDevicesBean);
+ /**
+ * 鍒犻櫎瀹跺涵璁惧
+ */
+ Observable<ResultData<String>> deleteHomeDevices(String ids);
+ /**
+ * 淇敼瀹跺涵璁惧
+ */
+ Observable<ResultData<String>> updateHomeDevices(HomeDevicesBean homeDevicesBean);
/**
* 鑾峰彇瀹跺涵鑽h獕
@@ -88,12 +123,36 @@
/**
* 鑾峰彇灏忓尰鐢�
*/
- Observable<ResultData<LittleDoctorResponseBean>> getLittleDoctors(Map<String, Object> map);
+ Observable<ResultData<PageResponseBean<LittleDoctorBean>>> getLittleDoctors(Map<String, Object> map);
+ /**
+ * 澧炲姞灏忓尰鐢�
+ */
+ Observable<ResultData<String>> addLittleDoctor(LittleDoctorBean littleDoctorBean);
+ /**
+ * 鍒犻櫎灏忓尰鐢�
+ */
+ Observable<ResultData<String>> deleteLittleDoctors(String ids);
+ /**
+ * 淇敼灏忓尰鐢�
+ */
+ Observable<ResultData<String>> updateLittleDoctor(LittleDoctorBean littleDoctorBean);
/**
* 鑾峰彇鏀舵敮
*/
- Observable<ResultData<IncomeAndExpensesResponseBean>> getIncomeAndExpenses(Map<String, Object> map);
+ Observable<ResultData<PageResponseBean<IncomeAndExpensesBean>>> getIncomeAndExpenses(Map<String, Object> map);
+ /**
+ * 澧炲姞鏀舵敮
+ */
+ Observable<ResultData<String>> addIncomeAndExpenses(IncomeAndExpensesBean incomeAndExpensesBean);
+ /**
+ * 鍒犻櫎鏀舵敮
+ */
+ Observable<ResultData<String>> deleteIncomeAndExpenses(String ids);
+ /**
+ * 淇敼鏀舵敮
+ */
+ Observable<ResultData<String>> updateIncomeAndExpenses(IncomeAndExpensesBean incomeAndExpensesBean);
/**
* 鑾峰彇鎴愰暱缁忓巻
*/
@@ -102,6 +161,13 @@
* 鑾峰彇鎴愰暱缁忓巻涓汉淇℃伅
*/
Observable<ResultData<GrowthExperienceInformationBean>> getGrowthExperienceInformation();
+
+
+ /**
+ * 淇敼鎴愰暱缁忓巻涓汉淇℃伅
+ */
+ Observable<ResultData<String>> updateGrowthExperienceInformation(GrowthExperienceInformationBean growthExperienceInformationBean);
+
/**
* 鑾峰彇鎴愰暱缁忓巻鍏崇郴鎯呭喌
*/
@@ -123,7 +189,231 @@
/**
* 鑾峰彇閫氳褰�
*/
- Observable<ResultData<ContactsResponseBean>> getContacts(Map<String, Object> paramsMap);
+ Observable<ResultData<PageResponseBean<ContactsDetailBean>>> getContacts(Map<String, Object> paramsMap);
+
+
+ /**
+ * 鑾峰彇淇濇磥鏀剁撼
+ */
+ Observable<ResultData<PageResponseBean<CleanStorageBean>>> getCleanStorages(Map<String, Object> map);
+ /**
+ * 澧炲姞淇濇磥鏀剁撼
+ */
+ Observable<ResultData<String>> addCleanStorage(CleanStorageBean cleanStorageBean);
+ /**
+ * 鍒犻櫎淇濇磥鏀剁撼
+ */
+ Observable<ResultData<String>> deleteCleanStorages(String ids);
+ /**
+ * 淇敼淇濇磥鏀剁撼
+ */
+ Observable<ResultData<String>> updateCleanStorage(CleanStorageBean cleanStorageBean);
+
+ /**
+ * 鑾峰彇涓汉濠氬Щ淇℃伅
+ */
+ Observable<ResultData<MarriageInfoBean>> getMarriageInfo();
+
+ /**
+ * 鑾峰彇涓汉璁颁簨鏈�
+ */
+ Observable<ResultData<PageResponseBean<PersonalNotepadBean>>> getPersonalNotepad(Map<String, Object> toMap);
+
+ /**
+ * 澧炲姞涓汉璁颁簨鏈�
+ */
+ Observable<ResultData<String>> addPersonalNotepad(PersonalNotepadBean personalNotepadBean);
+
+ /**
+ * 鍒犻櫎涓汉璁颁簨鏈�
+ */
+ Observable<ResultData<String>> deletePersonalNotepad(String ids);
+
+ /**
+ * 淇敼涓汉璁颁簨鏈�
+ */
+ Observable<ResultData<String>> updatePersonalNotepad(PersonalNotepadBean personalNotepadBean);
+
+ /**
+ * 鑾峰彇涓汉淇℃伅
+ */
+ Observable<ResultData<PageResponseBean<PrivacyBean>>> getPrivacy(Map<String, Object> toMap);
+
+ /**
+ * 鑾峰彇鑽h獕璇佷功
+ */
+ Observable<ResultData<PageResponseBean<CertificateOfHonorBean>>> getCertificateOfHonor(Map<String, Object> toMap);
+
+ /**
+ * 鑾峰彇涓汉璐骇
+ */
+ Observable<ResultData<PageResponseBean<PropertyBean>>> getProperty(Map<String, Object> toMap);
+
+ /**
+ * 鑾峰彇鐧惧勾蹇冩効
+ */
+ Observable<ResultData<PageResponseBean<HundredWishBean>>> getHundredWish(Map<String, Object> toMap);
+
+ /**
+ * 鑾峰彇榄呭疇
+ */
+ Observable<ResultData<PageResponseBean<PetBean>>> getPets(Map<String, Object> toMap);
+
+
+ /**
+ * 鑾峰彇瀹犵墿澶囧繕褰�
+ */
+ Observable<ResultData<PageResponseBean<PetMemoBean>>> getPetMemo(Map<String, Object> toMap);
+
+ /**
+ * 鑾峰彇鏃呮父璐圭敤璁板綍
+ */
+ Observable<ResultData<PageResponseBean<TourismBean>>> getTourism(Map<String, Object> toMap);
+
+ /**
+ * 鏂板鏃呮父璐圭敤璁板綍
+ */
+ Observable<ResultData<String>> addTourism(TourismBean tourismBean);
+
+ /**
+ * 鍒犻櫎鏃呮父璐圭敤璁板綍
+ */
+ Observable<ResultData<String>> deleteTourism(String ids);
+
+ /**
+ * 淇敼鏃呮父璐圭敤璁板綍
+ */
+ Observable<ResultData<String>> updateTourism(TourismBean tourismBean);
+
+ /**
+ * 鑾峰彇鏃呮父缁忓巻
+ */
+ Observable<ResultData<PageResponseBean<TourismExperienceBean>>> getTourismExperience(Map<String, Object> toMap);
+
+ /**
+ * 鏂板鏃呮父缁忓巻
+ */
+ Observable<ResultData<String>> addTourismExperience(TourismExperienceBean tourismExperienceBean);
+
+ /**
+ * 鍒犻櫎鏃呮父缁忓巻
+ */
+ Observable<ResultData<String>> deleteTourismExperience(String ids);
+
+ /**
+ * 淇敼鏃呮父缁忓巻
+ */
+ Observable<ResultData<String>> updateTourismExperience(TourismExperienceBean tourismExperienceBean);
+
+ /**
+ * 鑾峰彇澶囧繕鏈�
+ */
+ Observable<ResultData<List<MemoBean>>> getMemos(String fid, String cid);
+
+ /**
+ * 鏂板澶囧繕鏈�
+ */
+ Observable<ResultData<String>> addMemo(MemoBean memoBean);
+
+ /**
+ * 鍒犻櫎澶囧繕鏈�
+ */
+ Observable<ResultData<String>> deleteMemo(String ids);
+
+ /**
+ * 淇敼澶囧繕鏈�
+ */
+ Observable<ResultData<String>> updateMemo(MemoBean memoBean);
+
+ /**
+ * 鑾峰彇瀹惰氨
+ */
+ Observable<ResultData<PageResponseBean<HomeMemberBean>>> getHomeMembers(Map<String, Object> toMap);
+
+ /**
+ * 鑾峰彇瀹舵牴缃�
+ */
+ Observable<ResultData<List<HomeRootBean>>> getHomeRoot(String depth);
+
+ /**
+ * 鑾峰彇骞村害鍋ュ悍鐘跺喌
+ */
+ Observable<ResultData<PageResponseBean<AnnualHealthStatusBean>>> getAnnualHealthStatus(Map<String, Object> toMap);
+
+ /**
+ * 娣诲姞骞村害鍋ュ悍鐘跺喌
+ */
+ Observable<ResultData<String>> addAnnualHealthStatus(AnnualHealthStatusBean annualHealthStatusBean);
+
+ /**
+ * 鍒犻櫎骞村害鍋ュ悍鐘跺喌
+ */
+ Observable<ResultData<String>> deleteAnnualHealthStatus(String ids);
+
+ /**
+ * 淇敼骞村害鍋ュ悍鐘跺喌
+ */
+ Observable<ResultData<String>> updateAnnualHealthStatus(AnnualHealthStatusBean annualHealthStatusBean);
+
+ /**
+ * 鑾峰彇鍔熻兘涓婚〉杞挱鍥炬暟鎹�
+ */
+ Observable<ResultData<List<BannerBean>>> getBannerData();
+
+ /**
+ * 鑾峰彇鍋ュ悍淇濆仴鍩烘湰淇℃伅
+ */
+ Observable<ResultData<HealthCareBaseInfoBean>> getHealthCareBaseInfo();
+
+ /**
+ * 淇敼鍋ュ悍淇濆仴鍩烘湰淇℃伅
+ */
+ Observable<ResultData<String>> updateHealthCareBaseInfo(HealthCareBaseInfoBean healthCareBaseInfoBean);
+
+ /**
+ * 鑾峰彇鍋ュ悍淇濆仴鐢熸椿涔犳儻
+ */
+ Observable<ResultData<HealthCareLifeHabitsBean>> getHealthCareLifeHabits();
+
+ /**
+ * 淇敼鍋ュ悍淇濆仴鐢熸椿涔犳儻
+ */
+ Observable<ResultData<String>> updateHealthCareLifeHabits(HealthCareLifeHabitsBean healthCareLifeHabitsBean);
+
+ /**
+ * 鑾峰彇鍋ュ悍淇濆仴鎶ょ悊鏌ヤ綋
+ */
+ Observable<ResultData<HealthCareNursingExaminationBean>> getHealthCareNursingExamination();
+
+ /**
+ * 淇敼鍋ュ悍淇濆仴鎶ょ悊鏌ヤ綋
+ */
+ Observable<ResultData<String>> updateHealthCareNursingExamination(HealthCareNursingExaminationBean healthCareNursingExaminationBean);
+
+ /**
+ * 鑾峰彇鍋ュ悍淇濆仴鐜板瓨鍋ュ悍闂
+ */
+ Observable<ResultData<HealthCareExistingProblemsBean>> getHealthCareExistingProblems();
+
+ /**
+ * 淇敼鍋ュ悍淇濆仴鐜板瓨鍋ュ悍闂
+ */
+ Observable<ResultData<String>> updateHealthCareExistingProblems(HealthCareExistingProblemsBean healthCareExistingProblemsBean);
+
+ /**
+ * 鑾峰彇鍋ュ悍淇濆仴绗旇鍐呭
+ */
+ Observable<ResultData<HealthCareNotesContentBean>> getHealthCareNotesContent();
+
+ /**
+ * 淇敼鍋ュ悍淇濆仴绗旇鍐呭
+ */
+ Observable<ResultData<String>> updateHealthCareNotesContent(HealthCareNotesContentBean healthCareNotesContentBean);
+
+ /**
+ * 鑾峰彇鐗堟湰鏇存柊
+ */
+ Observable<ResultData<UpdateVersionBean>> getUpdateVersion();
}
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 e57fe1d..5dbf681 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
@@ -1,24 +1,46 @@
package com.application.zhangshi_app_android.data.source.http;
import com.android.app_base.http.ResultData;
+import com.application.zhangshi_app_android.bean.AnnualHealthStatusBean;
+import com.application.zhangshi_app_android.bean.BannerBean;
import com.application.zhangshi_app_android.bean.CaptchaImageBean;
+import com.application.zhangshi_app_android.bean.CertificateOfHonorBean;
+import com.application.zhangshi_app_android.bean.CleanStorageBean;
import com.application.zhangshi_app_android.bean.ContactsDetailBean;
-import com.application.zhangshi_app_android.bean.ContactsResponseBean;
-import com.application.zhangshi_app_android.bean.FamilyAssetsResponseBean;
+import com.application.zhangshi_app_android.bean.HealthCareBaseInfoBean;
+import com.application.zhangshi_app_android.bean.HealthCareExistingProblemsBean;
+import com.application.zhangshi_app_android.bean.HealthCareLifeHabitsBean;
+import com.application.zhangshi_app_android.bean.HealthCareNotesContentBean;
+import com.application.zhangshi_app_android.bean.HealthCareNursingExaminationBean;
+import com.application.zhangshi_app_android.bean.HomeDevicesBean;
+import com.application.zhangshi_app_android.bean.HomeMemberBean;
+import com.application.zhangshi_app_android.bean.HomeRootBean;
+import com.application.zhangshi_app_android.bean.HundredWishBean;
+import com.application.zhangshi_app_android.bean.IncomeAndExpensesBean;
+import com.application.zhangshi_app_android.bean.MarriageInfoBean;
+import com.application.zhangshi_app_android.bean.MemoBean;
+import com.application.zhangshi_app_android.bean.PageResponseBean;
+import com.application.zhangshi_app_android.bean.FamilyAssetsBean;
import com.application.zhangshi_app_android.bean.FamilyMemorabiliaBean;
-import com.application.zhangshi_app_android.bean.FamilyMemorabiliaResponseBean;
import com.application.zhangshi_app_android.bean.GrowthExperienceAbroadConditionBean;
import com.application.zhangshi_app_android.bean.GrowthExperienceAutobiographyBean;
import com.application.zhangshi_app_android.bean.GrowthExperienceBean;
import com.application.zhangshi_app_android.bean.GrowthExperienceHolderConditionBean;
import com.application.zhangshi_app_android.bean.GrowthExperienceInformationBean;
import com.application.zhangshi_app_android.bean.GrowthExperienceRelationshipBean;
-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.LittleDoctorBean;
import com.application.zhangshi_app_android.bean.LoginRequestBean;
import com.application.zhangshi_app_android.bean.LoginResponseBean;
+import com.application.zhangshi_app_android.bean.PersonalNotepadBean;
+import com.application.zhangshi_app_android.bean.PetBean;
+import com.application.zhangshi_app_android.bean.PetMemoBean;
+import com.application.zhangshi_app_android.bean.PetOwnerBean;
+import com.application.zhangshi_app_android.bean.PrivacyBean;
+import com.application.zhangshi_app_android.bean.PropertyBean;
+import com.application.zhangshi_app_android.bean.TourismBean;
+import com.application.zhangshi_app_android.bean.TourismExperienceBean;
+import com.application.zhangshi_app_android.bean.UpdateVersionBean;
import com.application.zhangshi_app_android.bean.UploadFileResponseBean;
import java.util.List;
@@ -34,7 +56,9 @@
import retrofit2.http.PUT;
import retrofit2.http.Part;
import retrofit2.http.Path;
+import retrofit2.http.Query;
import retrofit2.http.QueryMap;
+import retrofit2.http.QueryName;
/**
* @author Ljj
@@ -63,7 +87,7 @@
* 鑾峰彇瀹跺ぇ浜嬩欢
*/
@GET("family/zfEvent/all")
- Observable<ResultData<FamilyMemorabiliaResponseBean>> getFamilyMemorabilia(@QueryMap Map<String,Object> paramsMap);
+ Observable<ResultData<PageResponseBean<FamilyMemorabiliaBean>>> getFamilyMemorabilia(@QueryMap Map<String,Object> paramsMap);
/**
* 澧炲姞瀹跺ぇ浜嬭
*/
@@ -92,16 +116,33 @@
* 鑾峰彇瀹跺涵璧勪骇
*/
@GET("/family/property/all")
- Observable<ResultData<FamilyAssetsResponseBean>> getFamilyAssets(@QueryMap Map<String, Object> paramsMap);
+ Observable<ResultData<PageResponseBean<FamilyAssetsBean>>> getFamilyAssets(@QueryMap Map<String, Object> paramsMap);
/**
* 鑾峰彇瀹跺涵璁惧
*/
@GET("/zfEquipment/all")
- Observable<ResultData<HomeDevicesResponseBean>> getHomeDevices(@QueryMap Map<String, Object> paramsMap);
+ Observable<ResultData<PageResponseBean<HomeDevicesBean>>> getHomeDevices(@QueryMap Map<String, Object> paramsMap);
/**
-<<<<<<< HEAD
+ * 娣诲姞瀹跺涵璁惧
+ */
+ @POST("/zfEquipment")
+ Observable<ResultData<String>> addHomeDevices(@Body HomeDevicesBean homeDevicesBean);
+
+ /**
+ * 鍒犻櫎瀹跺涵璁惧
+ */
+ @DELETE("/zfEquipment/{ids}")
+ Observable<ResultData<String>> deleteHomeDevices(@Path("ids") String ids);
+
+ /**
+ * 淇敼瀹跺涵璁惧
+ */
+ @PUT("/zfEquipment")
+ Observable<ResultData<String>> updateHomeDevices(@Body HomeDevicesBean homeDevicesBean);
+
+ /**
* 鑾峰彇瀹跺涵鑽h獕
*/
@GET("/zfCollection/all")
@@ -111,19 +152,62 @@
* 鑾峰彇灏忓尰鐢�
*/
@GET("/zfDoctor/all")
- Observable<ResultData<LittleDoctorResponseBean>> getLittleDoctors(@QueryMap Map<String, Object> map);
+ Observable<ResultData<PageResponseBean<LittleDoctorBean>>> getLittleDoctors(@QueryMap Map<String, Object> map);
+
+ /**
+ * 娣诲姞灏忓尰鐢�
+ */
+ @POST("/zfDoctor")
+ Observable<ResultData<String>> addLittleDoctor(@Body LittleDoctorBean littleDoctorBean);
+
+ /**
+ * 鍒犻櫎灏忓尰鐢�
+ */
+ @DELETE("/zfDoctor/{ids}")
+ Observable<ResultData<String>> deleteLittleDoctors(@Path("ids") String ids);
+
+ /**
+ * 淇敼灏忓尰鐢�
+ */
+ @PUT("/zfDoctor")
+ Observable<ResultData<String>> updateLittleDoctor(@Body LittleDoctorBean littleDoctorBean);
/**
* 鑾峰彇鏀舵敮
*/
@GET("/zfEconomy/all")
- Observable<ResultData<IncomeAndExpensesResponseBean>> getIncomeAndExpenses(@QueryMap Map<String, Object> map);
+ Observable<ResultData<PageResponseBean<IncomeAndExpensesBean>>> getIncomeAndExpenses(@QueryMap Map<String, Object> map);
+
+ /**
+ * 娣诲姞鏀舵敮
+ */
+ @POST("/zfEconomy")
+ Observable<ResultData<String>> addIncomeAndExpenses(@Body IncomeAndExpensesBean incomeAndExpensesBean);
+
+ /**
+ * 鍒犻櫎鏀舵敮
+ */
+ @DELETE("/zfEconomy/{ids}")
+ Observable<ResultData<String>> deleteIncomeAndExpenses(@Path("ids") String ids);
+
+ /**
+ * 淇敼鏀舵敮
+ */
+ @PUT("/zfEconomy")
+ Observable<ResultData<String>> updateIncomeAndExpenses(@Body IncomeAndExpensesBean incomeAndExpensesBean);
+
/**
* 鑾峰彇鎴愰暱缁忓巻涓汉淇℃伅
*/
@GET("/self/user")
Observable<ResultData<GrowthExperienceInformationBean>> getGrowthExperienceInformation();
+
+ /**
+ * 淇敼鎴愰暱缁忓巻涓汉淇℃伅
+ */
+ @PUT("/self/user")
+Observable<ResultData<String>> updateGrowthExperienceInformation(@Body GrowthExperienceInformationBean growthExperienceInformationBean);
/**
* 鑾峰彇鎴愰暱缁忓巻锛堜富瑕佸涔犲強宸ヤ綔缁忓巻锛�
@@ -158,5 +242,281 @@
* 鑾峰彇閫氳褰�
*/
@GET("/zfContact/all")
- Observable<ResultData<ContactsResponseBean>> getContacts(@QueryMap Map<String, Object> paramsMap);
+ Observable<ResultData<PageResponseBean<ContactsDetailBean>>> getContacts(@QueryMap Map<String, Object> paramsMap);
+
+ /**
+ * 鑾峰彇淇濇磥鏀剁撼
+ */
+ @GET("/zfClean/all")
+ Observable<ResultData<PageResponseBean<CleanStorageBean>>> getCleanStorages(@QueryMap Map<String, Object> paramsMap);
+
+
+ /**
+ * 娣诲姞淇濇磥鏀剁撼
+ */
+ @POST("/zfClean")
+ Observable<ResultData<String>> addCleanStorage(@Body CleanStorageBean cleanStorageBean);
+
+ /**
+ * 鍒犻櫎淇濇磥鏀剁撼
+ */
+ @DELETE("/zfClean/{ids}")
+ Observable<ResultData<String>> deleteCleanStorages(@Path("ids") String ids);
+
+ /**
+ * 淇敼淇濇磥鏀剁撼
+ */
+ @PUT("/zfClean")
+ Observable<ResultData<String>> updateCleanStorage(@Body CleanStorageBean cleanStorageBean);
+
+ /**
+ * 鑾峰彇涓汉濠氬Щ淇℃伅
+ */
+ @GET("/zMarry/list")
+ Observable<ResultData<MarriageInfoBean>> getMarriageInfo();
+
+ /**
+ * 鑾峰彇涓汉璁颁簨鏈�
+ */
+ @GET("/zSelfNote/all")
+ Observable<ResultData<PageResponseBean<PersonalNotepadBean>>> getPersonalNotepad(@QueryMap Map<String, Object> toMap);
+
+ /**
+ * 娣诲姞涓汉璁颁簨鏈�
+ */
+ @POST("/zSelfNote")
+ Observable<ResultData<String>> addPersonalNotepad(@Body PersonalNotepadBean personalNotepadBean);
+
+ /**
+ * 鍒犻櫎涓汉璁颁簨鏈�
+ */
+ @DELETE("/zSelfNote/{ids}")
+ Observable<ResultData<String>> deletePersonalNotepad(@Path("ids") String ids);
+
+ /**
+ * 淇敼涓汉璁颁簨鏈�
+ */
+ @PUT("/zSelfNote")
+ Observable<ResultData<String>> updatePersonalNotepad(@Body PersonalNotepadBean personalNotepadBean);
+
+ /**
+ * 鑾峰彇涓汉闅愮
+ */
+ @GET("/zSecret/all")
+ Observable<ResultData<PageResponseBean<PrivacyBean>>> getPrivacy(@QueryMap Map<String, Object> toMap);
+
+ /**
+ * 鑾峰彇鑽h獕璇佷功
+ */
+ @GET("/zHonor/all")
+ Observable<ResultData<PageResponseBean<CertificateOfHonorBean>>> getCertificateOfHonor(@QueryMap Map<String, Object> toMap);
+
+ /**
+ * 鑾峰彇涓汉璧勪骇
+ */
+ @GET("/zProperty/all")
+ Observable<ResultData<PageResponseBean<PropertyBean>>> getProperty(@QueryMap Map<String, Object> toMap);
+
+
+ /**
+ * 鑾峰彇鐧惧勾蹇冩効
+ */
+ @GET("/zIdea/all")
+ Observable<ResultData<PageResponseBean<HundredWishBean>>> getHundredWish(@QueryMap Map<String, Object> toMap);
+
+ /**
+ * 鑾峰彇瀹犵墿
+ */
+ @GET("/zfPet/all")
+ Observable<ResultData<PageResponseBean<PetBean>>> getPets(@QueryMap Map<String, Object> toMap);
+
+ /**
+ * 鑾峰彇瀹犵墿澶囧繕褰�
+ */
+ @GET("/family/zfPetNote")
+ Observable<ResultData<PageResponseBean<PetMemoBean>>> getPetMemo(@QueryMap Map<String, Object> toMap);
+
+ /**
+ * 鑾峰彇鏃呮父璐圭敤璁板綍
+ */
+ @GET("/zTravelPrice/all")
+ Observable<ResultData<PageResponseBean<TourismBean>>> getTourism(@QueryMap Map<String, Object> toMap);
+
+ /**
+ * 娣诲姞鏃呮父璐圭敤璁板綍
+ */
+ @POST("/zTravelPrice")
+ Observable<ResultData<String>> addTourism(@Body TourismBean tourismBean);
+
+ /**
+ * 鍒犻櫎鏃呮父璐圭敤璁板綍
+ */
+ @DELETE("/zTravelPrice/{ids}")
+ Observable<ResultData<String>> deleteTourism(@Path("ids") String ids);
+
+ /**
+ * 淇敼鏃呮父璐圭敤璁板綍
+ */
+ @PUT("/zTravelPrice")
+ Observable<ResultData<String>> updateTourism(@Body TourismBean tourismBean);
+
+ /**
+ * 鑾峰彇鏃呮父缁忓巻
+ */
+ @GET("/zTravelBase/all")
+ Observable<ResultData<PageResponseBean<TourismExperienceBean>>> getTourismExperience(@QueryMap Map<String, Object> toMap);
+
+ /**
+ * 鏂板鏃呮父缁忓巻
+ */
+ @POST("/zTravelBase")
+ Observable<ResultData<String>> addTourismExperience(@Body TourismExperienceBean tourismExperienceBean);
+
+ /**
+ * 鍒犻櫎鏃呮父缁忓巻
+ */
+ @DELETE("/zTravelBase/{ids}")
+ Observable<ResultData<String>> deleteTourismExperience(@Path("ids") String ids);
+
+ /**
+ * 淇敼鏃呮父缁忓巻
+ */
+ @PUT("/zTravelBase")
+ Observable<ResultData<String>> updateTourismExperience(@Body TourismExperienceBean tourismExperienceBean);
+
+ /**
+ * 鑾峰彇澶囧繕鏈�
+ */
+ @GET("/memoBook/all")
+ Observable<ResultData<List<MemoBean>>> getMemos(@Query("fid") String fid,@Query("cid") String cid);
+
+ /**
+ * 娣诲姞澶囧繕鏈�
+ */
+ @POST("/memoBook")
+ Observable<ResultData<String>> addMemo(@Body MemoBean memoBean);
+
+ /**
+ * 鍒犻櫎澶囧繕鏈�
+ */
+ @DELETE("/memoBook")
+ Observable<ResultData<String>> deleteMemo(@Query("id") String ids);
+
+ /**
+ * 淇敼澶囧繕鏈�
+ */
+ @PUT("/memoBook")
+ Observable<ResultData<String>> updateMemo(@Body MemoBean memoBean);
+
+
+ /**
+ * 鑾峰彇瀹惰氨
+ */
+ @GET("/self/user/list/genealogy")
+ Observable<ResultData<PageResponseBean<HomeMemberBean>>> getHomeMembers(@QueryMap Map<String, Object> toMap);
+
+ /**
+ * 鑾峰彇瀹舵牴缃�
+ * @param depth 浠f暟锛岃緭鍏ュ嚑灏辨槸鏌ュ埌绗嚑浠�
+ * @return
+ */
+ @GET("/self/user/root")
+ Observable<ResultData<List<HomeRootBean>>> getHomeRoot(@Query("depth") String depth);
+
+ /**
+ * 鑾峰彇骞村害鍋ュ悍鐘跺喌
+ */
+ @GET("/zYearInfo/all")
+ Observable<ResultData<PageResponseBean<AnnualHealthStatusBean>>> getAnnualHealthStatus(@QueryMap Map<String, Object> toMap);
+
+ /**
+ * 鍒犻櫎骞村害鍋ュ悍鐘跺喌
+ */
+ @DELETE("/zYearInfo/{ids}")
+ Observable<ResultData<String>> deleteAnnualHealthStatus(@Path("ids") String ids);
+
+ /**
+ * 淇敼骞村害鍋ュ悍鐘跺喌
+ */
+ @PUT("/zYearInfo")
+ Observable<ResultData<String>> updateAnnualHealthStatus(@Body AnnualHealthStatusBean annualHealthStatusBean);
+
+ /**
+ * 娣诲姞骞村害鍋ュ悍鐘跺喌
+ */
+ @POST("/zYearInfo")
+ Observable<ResultData<String>> addAnnualHealthStatus(@Body AnnualHealthStatusBean annualHealthStatusBean);
+
+ /**
+ * 鑾峰彇杞挱鍥炬暟鎹�
+ */
+ @GET("/rotation/all")
+ Observable<ResultData<List<BannerBean>>> getBannerData();
+
+
+ /**
+ * 鑾峰彇鍋ュ悍淇濆仴鍩烘湰淇℃伅
+ */
+ @GET("/zHealthBase/all")
+ Observable<ResultData<HealthCareBaseInfoBean>> getHealthCareBaseInfo();
+
+ /**
+ * 淇敼鍋ュ悍淇濆仴鍩烘湰淇℃伅
+ */
+ @POST("/zHealthBase")
+ Observable<ResultData<String>> updateHealthCareBaseInfo(@Body HealthCareBaseInfoBean healthCareBaseInfoBean);
+
+ /**
+ * 鑾峰彇鍋ュ悍淇濆仴鐢熸椿涔犳儻
+ */
+ @GET("/zHealthHabit/all")
+ Observable<ResultData<HealthCareLifeHabitsBean>> getHealthCareLifeHabits();
+
+ /**
+ * 淇敼鍋ュ悍淇濆仴鐢熸椿涔犳儻
+ */
+ @POST("/zHealthHabit")
+ Observable<ResultData<String>> updateHealthCareLifeHabits(@Body HealthCareLifeHabitsBean healthCareLifeHabitsBean);
+
+ /**
+ * 鑾峰彇鍋ュ悍淇濆仴鎶ょ悊鏌ヤ綋
+ */
+ @GET("/zHealthInfo/all")
+ Observable<ResultData<HealthCareNursingExaminationBean>> getHealthCareNursingExamination();
+
+ /**
+ * 淇敼鍋ュ悍淇濆仴鎶ょ悊鏌ヤ綋
+ */
+ @POST("/zHealthInfo")
+ Observable<ResultData<String>> updateHealthCareNursingExamination(@Body HealthCareNursingExaminationBean healthCareNursingExaminationBean);
+
+ /**
+ * 鑾峰彇鍋ュ悍淇濆仴鐜板瓨鍋ュ悍闂
+ */
+ @GET("/zHealthNow/all")
+ Observable<ResultData<HealthCareExistingProblemsBean>> getHealthCareExistingProblems();
+
+ /**
+ * 淇敼鍋ュ悍淇濆仴鐜板瓨鍋ュ悍闂
+ */
+ @POST("/zHealthNow")
+ Observable<ResultData<String>> updateHealthCareExistingProblems(@Body HealthCareExistingProblemsBean healthCareExistingProblemsBean);
+
+ /**
+ * 鑾峰彇鍋ュ悍淇濆仴绗旇鍐呭
+ */
+ @GET("/zHealthNote")
+ Observable<ResultData<HealthCareNotesContentBean>> getHealthCareNotesContent();
+
+ /**
+ * 淇敼鍋ュ悍淇濆仴绗旇鍐呭
+ */
+ @POST("/zHealthNote")
+ Observable<ResultData<String>> updateHealthCareNotesContent(@Body HealthCareNotesContentBean healthCareNotesContentBean);
+
+ /**
+ * 鑾峰彇鐗堟湰鏇存柊
+ */
+ @GET("/version")
+ Observable<ResultData<UpdateVersionBean>> getUpdateVersion();
}
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 76e39cb..325b543 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
@@ -2,25 +2,46 @@
import com.android.app_base.http.ResultData;
import com.android.app_base.http.RetrofitManager;
+import com.application.zhangshi_app_android.bean.AnnualHealthStatusBean;
+import com.application.zhangshi_app_android.bean.BannerBean;
import com.application.zhangshi_app_android.bean.CaptchaImageBean;
+import com.application.zhangshi_app_android.bean.CertificateOfHonorBean;
+import com.application.zhangshi_app_android.bean.CleanStorageBean;
import com.application.zhangshi_app_android.bean.ContactsDetailBean;
-import com.application.zhangshi_app_android.bean.ContactsResponseBean;
-import com.application.zhangshi_app_android.bean.FamilyAssetsResponseBean;
+import com.application.zhangshi_app_android.bean.HealthCareBaseInfoBean;
+import com.application.zhangshi_app_android.bean.HealthCareExistingProblemsBean;
+import com.application.zhangshi_app_android.bean.HealthCareLifeHabitsBean;
+import com.application.zhangshi_app_android.bean.HealthCareNotesContentBean;
+import com.application.zhangshi_app_android.bean.HealthCareNursingExaminationBean;
+import com.application.zhangshi_app_android.bean.HomeDevicesBean;
+import com.application.zhangshi_app_android.bean.HomeMemberBean;
+import com.application.zhangshi_app_android.bean.HomeRootBean;
+import com.application.zhangshi_app_android.bean.HundredWishBean;
+import com.application.zhangshi_app_android.bean.IncomeAndExpensesBean;
+import com.application.zhangshi_app_android.bean.MarriageInfoBean;
+import com.application.zhangshi_app_android.bean.MemoBean;
+import com.application.zhangshi_app_android.bean.PageResponseBean;
+import com.application.zhangshi_app_android.bean.FamilyAssetsBean;
import com.application.zhangshi_app_android.bean.FamilyMemorabiliaBean;
-import com.application.zhangshi_app_android.bean.FamilyMemorabiliaResponseBean;
import com.application.zhangshi_app_android.bean.GrowthExperienceAbroadConditionBean;
import com.application.zhangshi_app_android.bean.GrowthExperienceAutobiographyBean;
import com.application.zhangshi_app_android.bean.GrowthExperienceBean;
import com.application.zhangshi_app_android.bean.GrowthExperienceHolderConditionBean;
import com.application.zhangshi_app_android.bean.GrowthExperienceInformationBean;
import com.application.zhangshi_app_android.bean.GrowthExperienceRelationshipBean;
-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.LittleDoctorBean;
import com.application.zhangshi_app_android.bean.LoginRequestBean;
import com.application.zhangshi_app_android.bean.LoginResponseBean;
import com.android.app_base.base.BaseConfig;
+import com.application.zhangshi_app_android.bean.PersonalNotepadBean;
+import com.application.zhangshi_app_android.bean.PetBean;
+import com.application.zhangshi_app_android.bean.PetMemoBean;
+import com.application.zhangshi_app_android.bean.PrivacyBean;
+import com.application.zhangshi_app_android.bean.PropertyBean;
+import com.application.zhangshi_app_android.bean.TourismBean;
+import com.application.zhangshi_app_android.bean.TourismExperienceBean;
+import com.application.zhangshi_app_android.bean.UpdateVersionBean;
import com.application.zhangshi_app_android.bean.UploadFileResponseBean;
import com.application.zhangshi_app_android.data.source.HttpDataSource;
@@ -29,7 +50,6 @@
import io.reactivex.Observable;
import okhttp3.MultipartBody;
-import retrofit2.http.QueryMap;
/**
* @author Ljj
@@ -88,7 +108,7 @@
* 鑾峰彇瀹跺ぇ浜嬭
*/
@Override
- public Observable<ResultData<FamilyMemorabiliaResponseBean>> getFamilyMemorabilia(Map<String,Object> paramsMap) {
+ public Observable<ResultData<PageResponseBean<FamilyMemorabiliaBean>>> getFamilyMemorabilia(Map<String,Object> paramsMap) {
return apiService.getFamilyMemorabilia(paramsMap);
}
/**
@@ -126,7 +146,7 @@
* 鑾峰彇瀹跺涵璧勪骇
*/
@Override
- public Observable<ResultData<FamilyAssetsResponseBean>> getFamilyAssets(Map<String, Object> paramsMap) {
+ public Observable<ResultData<PageResponseBean<FamilyAssetsBean>>> getFamilyAssets(Map<String, Object> paramsMap) {
return apiService.getFamilyAssets(paramsMap);
}
@@ -134,12 +154,32 @@
* 鑾峰彇瀹跺涵璁惧
*/
@Override
- public Observable<ResultData<HomeDevicesResponseBean>> getHomeDevices(Map<String, Object> paramsMap) {
+ public Observable<ResultData<PageResponseBean<HomeDevicesBean>>> getHomeDevices(Map<String, Object> paramsMap) {
return apiService.getHomeDevices(paramsMap);
+ }
+ /**
+ * 澧炲姞瀹跺涵璁惧
+ */
+ @Override
+ public Observable<ResultData<String>> addHomeDevices(HomeDevicesBean homeDevicesBean) {
+ return apiService.addHomeDevices(homeDevicesBean);
+ }
+ /**
+ * 鍒犻櫎瀹跺涵璁惧
+ */
+ @Override
+ public Observable<ResultData<String>> deleteHomeDevices(String ids) {
+ return apiService.deleteHomeDevices(ids);
+ }
+ /**
+ * 淇敼瀹跺涵璁惧
+ */
+ @Override
+ public Observable<ResultData<String>> updateHomeDevices(HomeDevicesBean homeDevicesBean) {
+ return apiService.updateHomeDevices(homeDevicesBean);
}
/**
-<<<<<<< HEAD
* 鑾峰彇瀹跺涵鑽h獕
*/
@Override
@@ -151,17 +191,61 @@
* 鑾峰彇灏忓尰鐢�
*/
@Override
- public Observable<ResultData<LittleDoctorResponseBean>> getLittleDoctors(Map<String, Object> map) {
+ public Observable<ResultData<PageResponseBean<LittleDoctorBean>>> getLittleDoctors(Map<String, Object> map) {
return apiService.getLittleDoctors(map);
+ }
+ /**
+ * 澧炲姞灏忓尰鐢�
+ */
+ @Override
+ public Observable<ResultData<String>> addLittleDoctor(LittleDoctorBean littleDoctorBean) {
+ return apiService.addLittleDoctor(littleDoctorBean);
+ }
+ /**
+ * 鍒犻櫎灏忓尰鐢�
+ */
+ @Override
+ public Observable<ResultData<String>> deleteLittleDoctors(String ids) {
+ return apiService.deleteLittleDoctors(ids);
+ }
+ /**
+ * 淇敼灏忓尰鐢�
+ */
+ @Override
+ public Observable<ResultData<String>> updateLittleDoctor(LittleDoctorBean littleDoctorBean) {
+ return apiService.updateLittleDoctor(littleDoctorBean);
}
/**
* 鑾峰彇鏀舵敮
*/
@Override
- public Observable<ResultData<IncomeAndExpensesResponseBean>> getIncomeAndExpenses(Map<String, Object> map) {
+ public Observable<ResultData<PageResponseBean<IncomeAndExpensesBean>>> getIncomeAndExpenses(Map<String, Object> map) {
return apiService.getIncomeAndExpenses(map);
}
+
+ /**
+ * 澧炲姞鏀舵敮
+ */
+ @Override
+ public Observable<ResultData<String>> addIncomeAndExpenses(IncomeAndExpensesBean incomeAndExpensesBean) {
+ return apiService.addIncomeAndExpenses(incomeAndExpensesBean);
+ }
+ /**
+ * 鍒犻櫎鏀舵敮
+ */
+ @Override
+ public Observable<ResultData<String>> deleteIncomeAndExpenses(String ids) {
+ return apiService.deleteIncomeAndExpenses(ids);
+ }
+ /**
+ * 淇敼鏀舵敮
+ */
+ @Override
+ public Observable<ResultData<String>> updateIncomeAndExpenses(IncomeAndExpensesBean incomeAndExpensesBean) {
+ return apiService.updateIncomeAndExpenses(incomeAndExpensesBean);
+ }
+
/**
* 鑾峰彇鎴愰暱缁忓巻
@@ -177,6 +261,17 @@
public Observable<ResultData<GrowthExperienceInformationBean>> getGrowthExperienceInformation() {
return apiService.getGrowthExperienceInformation();
}
+
+ /**
+ * 淇敼涓汉淇℃伅
+ */
+ @Override
+ public Observable<ResultData<String>> updateGrowthExperienceInformation(GrowthExperienceInformationBean growthExperienceInformationBean) {
+ return apiService.updateGrowthExperienceInformation(growthExperienceInformationBean);
+ }
+
+
+
/**
* 鑾峰彇鎴愰暱缁忓巻鍏崇郴鎯呭喌
*/
@@ -208,9 +303,374 @@
return apiService.getGrowthExperienceAutobiography();
}
+ /**
+ * 鑾峰彇閫氳褰�
+ */
@Override
- public Observable<ResultData<ContactsResponseBean>> getContacts(Map<String, Object> paramsMap) {
+ public Observable<ResultData<PageResponseBean<ContactsDetailBean>>> getContacts(Map<String, Object> paramsMap) {
return apiService.getContacts(paramsMap);
}
+ /**
+ * 鑾峰彇淇濇磥鏀剁撼
+ */
+ @Override
+ public Observable<ResultData<PageResponseBean<CleanStorageBean>>> getCleanStorages(Map<String, Object> map) {
+ return apiService.getCleanStorages(map);
+ }
+
+ /**
+ * 澧炲姞淇濇磥鏀剁撼
+ */
+ @Override
+ public Observable<ResultData<String>> addCleanStorage(CleanStorageBean cleanStorageBean) {
+ return apiService.addCleanStorage(cleanStorageBean);
+ }
+
+ /**
+ * 鍒犻櫎淇濇磥鏀剁撼
+ */
+ @Override
+ public Observable<ResultData<String>> deleteCleanStorages(String ids) {
+ return apiService.deleteCleanStorages(ids);
+ }
+
+ /**
+ * 淇敼淇濇磥鏀剁撼
+ */
+ @Override
+ public Observable<ResultData<String>> updateCleanStorage(CleanStorageBean cleanStorageBean) {
+ return apiService.updateCleanStorage(cleanStorageBean);
+ }
+
+ /**
+ * 鑾峰彇涓汉濠氬Щ淇℃伅
+ */
+ @Override
+ public Observable<ResultData<MarriageInfoBean>> getMarriageInfo() {
+ return apiService.getMarriageInfo();
+ }
+
+ /**
+ * 鑾峰彇涓汉璁颁簨鏈�
+ */
+ @Override
+ public Observable<ResultData<PageResponseBean<PersonalNotepadBean>>> getPersonalNotepad(Map<String, Object> toMap) {
+ return apiService.getPersonalNotepad(toMap);
+ }
+
+ /**
+ * 澧炲姞涓汉璁颁簨鏈�
+ */
+ @Override
+ public Observable<ResultData<String>> addPersonalNotepad(PersonalNotepadBean personalNotepadBean) {
+ return apiService.addPersonalNotepad(personalNotepadBean);
+ }
+
+ /**
+ * 鍒犻櫎涓汉璁颁簨鏈�
+ */
+ @Override
+ public Observable<ResultData<String>> deletePersonalNotepad(String ids) {
+ return apiService.deletePersonalNotepad(ids);
+ }
+
+ /**
+ * 淇敼涓汉璁颁簨鏈�
+ */
+ @Override
+ public Observable<ResultData<String>> updatePersonalNotepad(PersonalNotepadBean personalNotepadBean) {
+ return apiService.updatePersonalNotepad(personalNotepadBean);
+ }
+
+ /**
+ * 鑾峰彇涓汉闅愮
+ */
+ @Override
+ public Observable<ResultData<PageResponseBean<PrivacyBean>>> getPrivacy(Map<String, Object> toMap) {
+ return apiService.getPrivacy(toMap);
+ }
+
+ /**
+ * 鑾峰彇鑽h獕璇佷功
+ */
+ @Override
+ public Observable<ResultData<PageResponseBean<CertificateOfHonorBean>>> getCertificateOfHonor(Map<String, Object> toMap) {
+ return apiService.getCertificateOfHonor(toMap);
+ }
+
+ /**
+ * 鑾峰彇涓汉璐骇
+ */
+ @Override
+ public Observable<ResultData<PageResponseBean<PropertyBean>>> getProperty(Map<String, Object> toMap) {
+ return apiService.getProperty(toMap);
+ }
+
+ /**
+ * 鑾峰彇鐧惧勾蹇冩効
+ */
+ @Override
+ public Observable<ResultData<PageResponseBean<HundredWishBean>>> getHundredWish(Map<String, Object> toMap) {
+ return apiService.getHundredWish(toMap);
+ }
+
+ /**
+ * 鑾峰彇瀹犵墿
+ */
+ @Override
+ public Observable<ResultData<PageResponseBean<PetBean>>> getPets(Map<String, Object> toMap) {
+ return apiService.getPets(toMap);
+ }
+
+
+ /**
+ * 鑾峰彇瀹犵墿澶囧繕褰�
+ */
+ @Override
+ public Observable<ResultData<PageResponseBean<PetMemoBean>>> getPetMemo(Map<String, Object> toMap) {
+ return apiService.getPetMemo(toMap);
+ }
+
+ /**
+ * 鑾峰彇鏃呮父璐圭敤璁板綍
+ */
+ @Override
+ public Observable<ResultData<PageResponseBean<TourismBean>>> getTourism(Map<String, Object> toMap) {
+ return apiService.getTourism(toMap);
+ }
+
+ /**
+ * 鏂板鏃呮父璐圭敤璁板綍
+ */
+ @Override
+ public Observable<ResultData<String>> addTourism(TourismBean tourismBean) {
+ return apiService.addTourism(tourismBean);
+ }
+
+ /**
+ * 鍒犻櫎鏃呮父璐圭敤璁板綍
+ */
+ @Override
+ public Observable<ResultData<String>> deleteTourism(String ids) {
+ return apiService.deleteTourism(ids);
+ }
+
+ /**
+ * 淇敼鏃呮父璐圭敤璁板綍
+ */
+ @Override
+ public Observable<ResultData<String>> updateTourism(TourismBean tourismBean) {
+ return apiService.updateTourism(tourismBean);
+ }
+
+ /**
+ * 鑾峰彇鏃呮父缁忓巻
+ */
+ @Override
+ public Observable<ResultData<PageResponseBean<TourismExperienceBean>>> getTourismExperience(Map<String, Object> toMap) {
+ return apiService.getTourismExperience(toMap);
+ }
+
+ /**
+ * 鏂板鏃呮父缁忓巻
+ */
+ @Override
+ public Observable<ResultData<String>> addTourismExperience(TourismExperienceBean tourismExperienceBean) {
+ return apiService.addTourismExperience(tourismExperienceBean);
+ }
+
+ /**
+ * 鍒犻櫎鏃呮父缁忓巻
+ */
+ @Override
+ public Observable<ResultData<String>> deleteTourismExperience(String ids) {
+ return apiService.deleteTourismExperience(ids);
+ }
+
+ /**
+ * 淇敼鏃呮父缁忓巻
+ */
+ @Override
+ public Observable<ResultData<String>> updateTourismExperience(TourismExperienceBean tourismExperienceBean) {
+ return apiService.updateTourismExperience(tourismExperienceBean);
+ }
+
+ /**
+ * 鑾峰彇澶囧繕褰�
+ */
+ @Override
+ public Observable<ResultData<List<MemoBean>>> getMemos(String fid, String cid) {
+ return apiService.getMemos(fid, cid);
+ }
+
+ /**
+ * 鏂板澶囧繕褰�
+ */
+ @Override
+ public Observable<ResultData<String>> addMemo(MemoBean memoBean) {
+ return apiService.addMemo(memoBean);
+ }
+
+ /**
+ * 鍒犻櫎澶囧繕褰�
+ */
+ @Override
+ public Observable<ResultData<String>> deleteMemo(String ids) {
+ return apiService.deleteMemo(ids);
+ }
+
+ /**
+ * 淇敼澶囧繕褰�
+ */
+ @Override
+ public Observable<ResultData<String>> updateMemo(MemoBean memoBean) {
+ return apiService.updateMemo(memoBean);
+ }
+
+
+
+ /**
+ * 鑾峰彇瀹惰氨
+ */
+ @Override
+ public Observable<ResultData<PageResponseBean<HomeMemberBean>>> getHomeMembers(Map<String, Object> toMap) {
+ return apiService.getHomeMembers(toMap);
+ }
+
+ /**
+ * 鑾峰彇瀹舵牴缃�
+ */
+ @Override
+ public Observable<ResultData<List<HomeRootBean>>> getHomeRoot(String depth) {
+ return apiService.getHomeRoot(depth);
+ }
+
+ /**
+ * 鑾峰彇骞村害鍋ュ悍鐘跺喌
+ */
+ @Override
+ public Observable<ResultData<PageResponseBean<AnnualHealthStatusBean>>> getAnnualHealthStatus(Map<String, Object> toMap) {
+ return apiService.getAnnualHealthStatus(toMap);
+ }
+
+ /**
+ * 鏂板骞村害鍋ュ悍鐘跺喌
+ */
+ @Override
+ public Observable<ResultData<String>> addAnnualHealthStatus(AnnualHealthStatusBean annualHealthStatusBean) {
+ return apiService.addAnnualHealthStatus(annualHealthStatusBean);
+ }
+
+ /**
+ * 鍒犻櫎骞村害鍋ュ悍鐘跺喌
+ */
+ @Override
+ public Observable<ResultData<String>> deleteAnnualHealthStatus(String ids) {
+ return apiService.deleteAnnualHealthStatus(ids);
+ }
+
+ /**
+ * 淇敼骞村害鍋ュ悍鐘跺喌
+ */
+ @Override
+ public Observable<ResultData<String>> updateAnnualHealthStatus(AnnualHealthStatusBean annualHealthStatusBean) {
+ return apiService.updateAnnualHealthStatus(annualHealthStatusBean);
+ }
+
+ /**
+ * 鑾峰彇杞挱鍥炬暟鎹�
+ */
+ @Override
+ public Observable<ResultData<List<BannerBean>>> getBannerData() {
+ return apiService.getBannerData();
+ }
+
+ /**
+ * 鑾峰彇鍋ュ悍淇濆仴鍩烘湰淇℃伅
+ */
+ @Override
+ public Observable<ResultData<HealthCareBaseInfoBean>> getHealthCareBaseInfo() {
+ return apiService.getHealthCareBaseInfo();
+ }
+
+ /**
+ * 淇敼鍋ュ悍淇濆仴鍩烘湰淇℃伅
+ */
+ @Override
+ public Observable<ResultData<String>> updateHealthCareBaseInfo(HealthCareBaseInfoBean healthCareBaseInfoBean) {
+ return apiService.updateHealthCareBaseInfo(healthCareBaseInfoBean);
+ }
+
+ /**
+ * 鑾峰彇鍋ュ悍淇濆仴鐢熸椿涔犳儻
+ */
+ @Override
+ public Observable<ResultData<HealthCareLifeHabitsBean>> getHealthCareLifeHabits() {
+ return apiService.getHealthCareLifeHabits();
+ }
+
+ /**
+ * 淇敼鍋ュ悍淇濆仴鐢熸椿涔犳儻
+ */
+ @Override
+ public Observable<ResultData<String>> updateHealthCareLifeHabits(HealthCareLifeHabitsBean healthCareLifeHabitsBean) {
+ return apiService.updateHealthCareLifeHabits(healthCareLifeHabitsBean);
+ }
+
+ /**
+ * 鑾峰彇鍋ュ悍淇濆仴鎶ょ悊鏌ヤ綋
+ */
+ @Override
+ public Observable<ResultData<HealthCareNursingExaminationBean>> getHealthCareNursingExamination() {
+ return apiService.getHealthCareNursingExamination();
+ }
+
+ /**
+ * 淇敼鍋ュ悍淇濆仴鎶ょ悊鏌ヤ綋
+ */
+ @Override
+ public Observable<ResultData<String>> updateHealthCareNursingExamination(HealthCareNursingExaminationBean healthCareNursingExaminationBean) {
+ return apiService.updateHealthCareNursingExamination(healthCareNursingExaminationBean);
+ }
+
+ /**
+ * 鑾峰彇鍋ュ悍淇濆仴鐜板瓨鍋ュ悍闂
+ */
+ @Override
+ public Observable<ResultData<HealthCareExistingProblemsBean>> getHealthCareExistingProblems() {
+ return apiService.getHealthCareExistingProblems();
+ }
+
+ /**
+ * 淇敼鍋ュ悍淇濆仴鐜板瓨鍋ュ悍闂
+ */
+ @Override
+ public Observable<ResultData<String>> updateHealthCareExistingProblems(HealthCareExistingProblemsBean healthCareExistingProblemsBean) {
+ return apiService.updateHealthCareExistingProblems(healthCareExistingProblemsBean);
+ }
+
+ /**
+ * 鑾峰彇鍋ュ悍淇濆仴绗旇鍐呭
+ */
+ @Override
+ public Observable<ResultData<HealthCareNotesContentBean>> getHealthCareNotesContent() {
+ return apiService.getHealthCareNotesContent();
+ }
+
+ /**
+ * 淇敼鍋ュ悍淇濆仴绗旇鍐呭
+ */
+ @Override
+ public Observable<ResultData<String>> updateHealthCareNotesContent(HealthCareNotesContentBean healthCareNotesContentBean) {
+ return apiService.updateHealthCareNotesContent(healthCareNotesContentBean);
+ }
+
+ /**
+ * 鑾峰彇鐗堟湰鏇存柊
+ */
+ @Override
+ public Observable<ResultData<UpdateVersionBean>> getUpdateVersion() {
+ return apiService.getUpdateVersion();
+ }
}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/other/MyTitleBarStyle.java b/app/src/main/java/com/application/zhangshi_app_android/other/MyTitleBarStyle.java
index a5246a7..112d96b 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/other/MyTitleBarStyle.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/other/MyTitleBarStyle.java
@@ -2,6 +2,7 @@
import android.content.Context;
import android.content.res.ColorStateList;
+import android.graphics.Typeface;
import android.graphics.drawable.ColorDrawable;
import android.graphics.drawable.Drawable;
import android.util.TypedValue;
@@ -19,9 +20,20 @@
* @desc TitleBar缁熶竴鏍峰紡
*/
public class MyTitleBarStyle extends CommonBarStyle {
+
@Override
- public TextView createLeftView(Context context) {
- return super.createLeftView(context);
+ public Typeface getTitleTypeface(Context context, int style) {
+ return Typeface.createFromAsset(context.getAssets(), "roboto_regular.ttf");
+ }
+
+ @Override
+ public Typeface getLeftTitleTypeface(Context context, int style) {
+ return Typeface.createFromAsset(context.getAssets(), "roboto_regular.ttf");
+ }
+
+ @Override
+ public Typeface getRightTitleTypeface(Context context, int style) {
+ return Typeface.createFromAsset(context.getAssets(), "roboto_regular.ttf");
}
@Override
@@ -79,4 +91,6 @@
return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 16, context.getResources().getDisplayMetrics());
}
+
+
}
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 2dab2a6..e41f787 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
@@ -18,6 +18,7 @@
import com.android.app_base.base.view.BaseActivity;
import com.android.app_base.base.viewmodel.BaseViewModel;
import com.android.app_base.manager.AppManager;
+import com.android.app_base.utils.ScreenSizeUtils;
import com.application.zhangshi_app_android.R;
import com.application.zhangshi_app_android.ui.function.CertificateOfHonorActivity;
import com.application.zhangshi_app_android.ui.function.CleanStorageActivity;
@@ -33,12 +34,23 @@
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.PetDetailActivity;
import com.application.zhangshi_app_android.ui.function.PrivacyActivity;
import com.application.zhangshi_app_android.ui.function.PropertyActivity;
import com.application.zhangshi_app_android.ui.function.TourismActivity;
+import com.application.zhangshi_app_android.ui.home.HomeFragment;
+import com.application.zhangshi_app_android.ui.main.MainActivity;
+import com.github.gzuliyujiang.wheelpicker.DatePicker;
+import com.github.gzuliyujiang.wheelpicker.OptionPicker;
+import com.github.gzuliyujiang.wheelpicker.entity.DateEntity;
+import com.github.gzuliyujiang.wheelpicker.impl.UnitDateFormatter;
+import com.github.gzuliyujiang.wheelpicker.widget.DateWheelLayout;
+import com.github.gzuliyujiang.wheelpicker.widget.OptionWheelLayout;
import com.hjq.bar.TitleBar;
+import java.util.Calendar;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
/**
@@ -89,7 +101,7 @@
super.onCreate(savedInstanceState);
if (mDrawerLayout != null) {
- classMap.put(null,(LinearLayout) findViewById(R.id.dl_home_root_net));
+ classMap.put(HomeFragment.class,(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));
@@ -114,7 +126,11 @@
if (linearLayout != null) {
linearLayout.setOnClickListener(v -> {
if (set.getKey() != null){
- AppManager.getAppManager().startActivity(set.getKey());
+ if (set.getKey() == HomeFragment.class) {
+ MainActivity.start(this, HomeFragment.class);
+ }else{
+ AppManager.getAppManager().startActivity(set.getKey());
+ }
}
});
} else {
@@ -168,4 +184,41 @@
popupWindow.setOutsideTouchable(false);
return popupWindow;
}
+
+ public DatePicker getDatePicker(){
+ DatePicker datePicker = new DatePicker(this);
+ DateWheelLayout wheelLayout = datePicker.getWheelLayout();
+ wheelLayout.getMonthWheelView().setCurtainCorner(0);//鑳屾櫙鏃犲渾瑙�
+ wheelLayout.getDayWheelView().setCurtainCorner(5);//鑳屾櫙鍙宠竟鏈夊渾瑙�
+ wheelLayout.getYearWheelView().setCurtainCorner(4);//鑳屾櫙宸﹁竟鏈夊渾瑙�
+ wheelLayout.setDateFormatter(new UnitDateFormatter());
+ wheelLayout.setPadding(50, 0, 50, 0);
+ wheelLayout.setItemSpace(ScreenSizeUtils.dip2px(getSelfActivity(), 20));
+ wheelLayout.setCurtainEnabled(true);
+ wheelLayout.setCurtainColor(Color.parseColor("#4D2F63F8"));
+ wheelLayout.setCurtainRadius(ScreenSizeUtils.dip2px(getSelfActivity(),4));
+ wheelLayout.setSelectedTextColor(Color.parseColor("#FF2F63F8"));
+ wheelLayout.setTextColor(Color.parseColor("#FF999999"));
+ wheelLayout.setIndicatorEnabled(false);
+ //鏃ユ湡鍙�夎寖鍥�
+ wheelLayout.setRange(DateEntity.target(1900, 1, 1), DateEntity.target(2500, 12, 31),DateEntity.target(Calendar.getInstance()));
+ datePicker.getWheelLayout().setResetWhenLinkage(false);
+ return datePicker;
+ }
+
+ public OptionPicker getOptionPicker(List<String> list){
+ OptionPicker picker = new OptionPicker(this);
+ OptionWheelLayout wheelLayout = picker.getWheelLayout();
+ wheelLayout.setCurtainCorner(1);//鑳屾櫙鏃犲渾瑙�
+ wheelLayout.setPadding(50, 0, 50, 0);
+ wheelLayout.setItemSpace(ScreenSizeUtils.dip2px(getSelfActivity(), 20));
+ wheelLayout.setCurtainEnabled(true);
+ wheelLayout.setCurtainColor(Color.parseColor("#4D2F63F8"));
+ wheelLayout.setCurtainRadius(ScreenSizeUtils.dip2px(getSelfActivity(),4));
+ wheelLayout.setSelectedTextColor(Color.parseColor("#FF2F63F8"));
+ wheelLayout.setTextColor(Color.parseColor("#FF999999"));
+ wheelLayout.setIndicatorEnabled(false);
+ picker.setData(list);
+ return picker;
+ }
}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/DLBaseFragment.java b/app/src/main/java/com/application/zhangshi_app_android/ui/DLBaseFragment.java
index 06c3b84..805e396 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/ui/DLBaseFragment.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/DLBaseFragment.java
@@ -16,7 +16,6 @@
import androidx.databinding.ViewDataBinding;
import androidx.drawerlayout.widget.DrawerLayout;
-import com.android.app_base.base.view.BaseActivity;
import com.android.app_base.base.view.BaseFragment;
import com.android.app_base.base.viewmodel.BaseViewModel;
import com.android.app_base.manager.AppManager;
@@ -34,7 +33,7 @@
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.PetDetailActivity;
import com.application.zhangshi_app_android.ui.function.PrivacyActivity;
import com.application.zhangshi_app_android.ui.function.PropertyActivity;
import com.application.zhangshi_app_android.ui.function.TourismActivity;
@@ -99,7 +98,7 @@
classMap.put(LittleDoctorActivity.class,(LinearLayout) findViewById(R.id.dl_little_doctor));
classMap.put(CleanStorageActivity.class,(LinearLayout) findViewById(R.id.dl_clean_storage));
classMap.put(ContactsActivity.class,(LinearLayout) findViewById(R.id.dl_contacts));
- classMap.put(PetActivity.class,(LinearLayout) findViewById(R.id.dl_pet));
+ classMap.put(PetDetailActivity.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(MarriageActivity.class,(LinearLayout) findViewById(R.id.dl_marriage));
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/TestActivity.java b/app/src/main/java/com/application/zhangshi_app_android/ui/TestActivity.java
new file mode 100644
index 0000000..31de2b1
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/TestActivity.java
@@ -0,0 +1,64 @@
+package com.application.zhangshi_app_android.ui;
+
+import android.graphics.Color;
+import android.view.Gravity;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.LinearLayout;
+
+import com.android.app_base.base.view.BaseActivity;
+import com.android.app_base.utils.ScreenSizeUtils;
+import com.android.app_base.utils.Utils;
+import com.application.zhangshi_app_android.BR;
+import com.application.zhangshi_app_android.R;
+import com.application.zhangshi_app_android.databinding.ActivityTestBinding;
+import com.github.gzuliyujiang.wheelpicker.DatePicker;
+import com.github.gzuliyujiang.wheelpicker.annotation.DateMode;
+import com.github.gzuliyujiang.wheelpicker.contract.OnDatePickedListener;
+import com.github.gzuliyujiang.wheelpicker.entity.DateEntity;
+import com.github.gzuliyujiang.wheelpicker.impl.UnitDateFormatter;
+import com.github.gzuliyujiang.wheelpicker.widget.DateWheelLayout;
+import com.github.gzuliyujiang.wheelview.annotation.CurtainCorner;
+
+import java.util.Calendar;
+
+
+public class TestActivity extends BaseActivity<ActivityTestBinding,TestActivityViewModel>{
+
+ @Override
+ public int getLayoutId() {
+ return R.layout.activity_test;
+ }
+
+ @Override
+ public int getVariableId() {
+ return BR.viewModel;
+ }
+
+ @Override
+ public void initParam() {
+
+ }
+
+ @Override
+ public void initView() {
+ binding.btn.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+
+ }
+ });
+
+ }
+
+
+ @Override
+ public void initData() {
+
+ }
+
+ @Override
+ public void initLiveDataObserve() {
+
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/TestActivityViewModel.java b/app/src/main/java/com/application/zhangshi_app_android/ui/TestActivityViewModel.java
new file mode 100644
index 0000000..39210e1
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/TestActivityViewModel.java
@@ -0,0 +1,33 @@
+package com.application.zhangshi_app_android.ui;
+
+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.06.06. 17:48
+ * @desc
+ */
+public class TestActivityViewModel extends BaseViewModel<DataRepository> {
+ private String text;
+ public TestActivityViewModel(@NonNull Application application) {
+ super(application);
+ }
+
+ @Override
+ protected DataRepository initModel() {
+ return null;
+ }
+
+ public String getText() {
+ return text;
+ }
+
+ public void setText(String text) {
+ this.text = text;
+ }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/dialog/ContactsDialog.java b/app/src/main/java/com/application/zhangshi_app_android/ui/dialog/ContactsDialog.java
index adab1c5..3e2a063 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/ui/dialog/ContactsDialog.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/dialog/ContactsDialog.java
@@ -8,9 +8,14 @@
import android.widget.ImageView;
import androidx.databinding.DataBindingUtil;
+import androidx.recyclerview.widget.GridLayoutManager;
import com.android.app_base.base.dialog.BaseDialog;
+import com.android.app_base.utils.ScreenSizeUtils;
+import com.android.app_base.utils.Utils;
+import com.android.app_base.widget.GridSpaceItemDecoration;
import com.application.zhangshi_app_android.R;
+import com.application.zhangshi_app_android.adapter.PetImageRvAdapter;
import com.application.zhangshi_app_android.bean.ContactsDetailBean;
import com.application.zhangshi_app_android.databinding.DialogContactsInfoBinding;
@@ -22,6 +27,7 @@
public class ContactsDialog {
public static class Builder extends BaseDialog.Builder<ContactsDialog.Builder> {
private DialogContactsInfoBinding binding;
+ private PetImageRvAdapter adapter;
public Builder(Context context) {
super(context);
binding = DataBindingUtil.inflate(LayoutInflater.from(getContext()),R.layout.dialog_contacts_info,new FrameLayout(getContext()),false);
@@ -33,6 +39,11 @@
ImageView iv_dialog_close = findViewById(R.id.iv_dialog_close);
setOnClickListener(iv_dialog_close);
+ adapter = new PetImageRvAdapter(context);
+ GridSpaceItemDecoration decoration = new GridSpaceItemDecoration(3, ScreenSizeUtils.dip2px(context,10),ScreenSizeUtils.dip2px(context,20));
+ binding.recyclerView.addItemDecoration(decoration);
+ binding.recyclerView.setLayoutManager(new GridLayoutManager(context,3));
+ binding.recyclerView.setAdapter(adapter);
}
@@ -47,6 +58,7 @@
}
public Builder setBean(ContactsDetailBean bean){
binding.setBean(bean);
+ adapter.setData(Utils.splitString2List(bean.getUrl(),","));
return this;
}
}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/dialog/PetOwnerInfoDialog.java b/app/src/main/java/com/application/zhangshi_app_android/ui/dialog/PetOwnerInfoDialog.java
index f5767fb..ce509c6 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/ui/dialog/PetOwnerInfoDialog.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/dialog/PetOwnerInfoDialog.java
@@ -2,15 +2,23 @@
import android.content.Context;
import android.view.Gravity;
+import android.view.LayoutInflater;
import android.view.View;
+import android.widget.FrameLayout;
import android.widget.ImageView;
import androidx.annotation.DrawableRes;
import androidx.constraintlayout.utils.widget.ImageFilterView;
+import androidx.databinding.DataBindingUtil;
import com.android.app_base.base.dialog.BaseDialog;
import com.android.app_base.utils.GlideUtil;
import com.application.zhangshi_app_android.R;
+import com.application.zhangshi_app_android.bean.ContactsDetailBean;
+import com.application.zhangshi_app_android.bean.PetBean;
+import com.application.zhangshi_app_android.bean.PetOwnerBean;
+import com.application.zhangshi_app_android.databinding.DialogContactsInfoBinding;
+import com.application.zhangshi_app_android.databinding.DialogPetOwnerInfoBinding;
/**
* @author Ljj
@@ -19,20 +27,23 @@
*/
public class PetOwnerInfoDialog {
public static class Builder extends BaseDialog.Builder<PetOwnerInfoDialog.Builder> {
+ private DialogPetOwnerInfoBinding binding;
public Builder(Context context) {
super(context);
- setContentView(R.layout.dialog_pet_owner_info);
+ binding = DataBindingUtil.inflate(LayoutInflater.from(getContext()),R.layout.dialog_pet_owner_info,new FrameLayout(getContext()),false);
+ setContentView(binding.getRoot());
setAnimStyle(BaseDialog.ANIM_IOS);
setBackgroundDimEnabled(false);
setCancelable(false);
setGravity(Gravity.CENTER);
-
ImageView iv_dialog_close = findViewById(R.id.iv_dialog_close);
setOnClickListener(iv_dialog_close);
}
-
-
+ public PetOwnerInfoDialog.Builder setBean(PetBean bean){
+ binding.setOwner(bean);
+ return this;
+ }
@Override
public void onClick(View v) {
super.onClick(v);
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/dialog/VersionUpdateDialog.java b/app/src/main/java/com/application/zhangshi_app_android/ui/dialog/VersionUpdateDialog.java
new file mode 100644
index 0000000..509caa6
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/dialog/VersionUpdateDialog.java
@@ -0,0 +1,231 @@
+package com.application.zhangshi_app_android.ui.dialog;
+
+import static com.blankj.utilcode.util.StringUtils.getString;
+
+import android.annotation.SuppressLint;
+import android.app.DownloadManager;
+import android.content.Context;
+import android.database.Cursor;
+import android.net.Uri;
+import android.os.Environment;
+import android.os.Handler;
+import android.util.Log;
+import android.view.Gravity;
+import android.view.View;
+import android.widget.ProgressBar;
+import android.widget.RelativeLayout;
+import android.widget.TextView;
+
+import androidx.annotation.StringRes;
+
+import com.android.app_base.base.dialog.BaseDialog;
+import com.android.app_base.utils.Utils;
+import com.application.zhangshi_app_android.MyApplication;
+import com.application.zhangshi_app_android.R;
+
+import java.util.Timer;
+import java.util.TimerTask;
+
+/**
+ * @author Ljj
+ * @date 2023.07.25. 16:59
+ * @desc
+ */
+public final class VersionUpdateDialog {
+ @SuppressWarnings("unchecked")
+ public static class Builder<B extends VersionUpdateDialog.Builder<B>>
+ extends BaseDialog.Builder<B> {
+
+ private boolean mAutoDismiss = true;
+
+ private final TextView mTitleView;
+ private final TextView mContentView;
+ private final TextView mConfirmView;
+ private final ProgressBar progressBar;
+ private final TextView tv_pro;
+ private final TextView tv_pro_percent;
+ private final RelativeLayout layout_progress;
+
+ private String downloadUrl;
+
+ public Builder(Context context) {
+ super(context);
+ setContentView(R.layout.dialog_version_update);
+ setAnimStyle(BaseDialog.ANIM_IOS);
+ setGravity(Gravity.CENTER);
+ setBackgroundDimAmount(0.5F);
+ setCanceledOnTouchOutside(true);
+ mTitleView = findViewById(R.id.tv_update_dialog_title);
+ mContentView = findViewById(R.id.tv_update_dialog_content);
+ mConfirmView = findViewById(R.id.tv_update_dialog_confirm);
+ progressBar = findViewById(R.id.pb_download);
+ tv_pro = findViewById(R.id.tv_pro);
+ tv_pro_percent = findViewById(R.id.tv_pro_percent);
+ layout_progress = findViewById(R.id.layout_progress);
+ setOnClickListener(mConfirmView);
+ }
+
+ public B setDownloadUrl(String downloadUrl) {
+ this.downloadUrl = downloadUrl;
+ return (B) this;
+ }
+
+ public B setTitle(@StringRes int id) {
+ return setTitle(getString(id));
+ }
+
+ public B setTitle(CharSequence text) {
+ mTitleView.setText(text);
+ return (B) this;
+ }
+
+ public B setContent(CharSequence text) {
+ mContentView.setText(text);
+ return (B) this;
+ }
+
+ public B setConfirm(@StringRes int id) {
+ return setConfirm(getString(id));
+ }
+
+ public B setConfirm(CharSequence text) {
+ mConfirmView.setText(text);
+ return (B) this;
+ }
+
+ public B setAutoDismiss(boolean dismiss) {
+ mAutoDismiss = dismiss;
+ return (B) this;
+ }
+
+ public void autoDismiss() {
+ if (mAutoDismiss) {
+ dismiss();
+ }
+ }
+
+ @Override
+ public void onClick(View v) {
+ if (v == mConfirmView) {
+ changeVisi(View.GONE,View.VISIBLE);
+ if (downloadUrl != null){
+ startDownLoadApp(downloadUrl);
+ }
+ }
+ }
+
+
+ @Override
+ public BaseDialog show() {
+ return super.show();
+ }
+
+
+ public long totalBytes;
+ public long downloadBytes;
+ public int dl_progress;
+
+ private Handler handler = new Handler();
+ Runnable runnable = new Runnable() {
+ @Override
+ public void run() {
+ // TODO Auto-generated method stub
+ progressBar.setProgress(dl_progress);
+ tv_pro.setText((downloadBytes * 100 / totalBytes) + "%");
+ tv_pro_percent.setText((downloadBytes * 100 / totalBytes) + "/100");
+ }
+ };
+
+ public void changeVisi(int a, int b) {
+ mConfirmView.setVisibility(a);
+ layout_progress.setVisibility(b);
+ progressBar.setProgress(0);
+ tv_pro.setText("0");
+ tv_pro_percent.setText("0/100");
+ }
+
+ /**
+ * 涓嶆秹鍙婃暟鎹簱锛屽崟鐙笅杞芥枃浠�
+ */
+ public void startDownLoadApp(String url) {
+ String fileName = "app_update";
+ //鍒涘缓涓嬭浇浠诲姟,downloadUrl灏辨槸涓嬭浇閾炬帴
+ DownloadManager.Request request = new DownloadManager.Request(Uri.parse(url));
+ request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);//涓嬭浇杩涜涓拰涓嬭浇瀹屾垚鐨勯�氱煡鏍忔槸鍚︽樉绀�
+ //鐢ㄤ簬璁剧疆涓嬭浇鏃舵椂鍊欏湪鐘舵�佹爮鏄剧ず閫氱煡淇℃伅
+ request.setNotificationVisibility(request.VISIBILITY_VISIBLE);
+ request.allowScanningByMediaScanner();//璁剧疆鍏佽琚壂鎻忓埌
+ request.setVisibleInDownloadsUi(true);//涓嬭浇鐨勬枃浠跺彲浠ヨ绯荤粺鐨凞ownloads搴旂敤鎵弿鍒板苟绠$悊
+
+ request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, fileName); //鎸囧畾涓嬭浇璺緞鍜屼笅杞芥枃浠跺悕
+
+ final DownloadManager downloadManager = (DownloadManager) MyApplication.getInstance().getSystemService(Context.DOWNLOAD_SERVICE);//鑾峰彇涓嬭浇绠$悊鍣�
+ final long downloadID = downloadManager.enqueue(request);//灏嗕笅杞戒换鍔″姞鍏ヤ笅杞介槦鍒楋紝鍚﹀垯涓嶄細杩涜涓嬭浇
+
+ final DownloadManager.Query query = new DownloadManager.Query();
+ query.setFilterById(downloadID);//绛涢�変笅杞戒换鍔★紝浼犲叆浠诲姟ID锛屽彲鍙樺弬鏁�
+
+
+ final Timer mTimer = new Timer();
+ mTimer.schedule(new TimerTask() {
+ @Override
+ public void run() {
+ updateDownloadSize(query, mTimer, downloadManager, fileName);
+ }
+ }, 0, 1000);
+ }
+
+ @SuppressLint("Range")
+ private void updateDownloadSize(DownloadManager.Query query, Timer mTimer, DownloadManager downloadManager, String fileName) {
+ Cursor c = null;
+ try {
+ c = downloadManager.query(query);
+ if (c != null) {
+ if (c.moveToFirst()) {
+ int downloadBytesIdx = c.getColumnIndexOrThrow(
+ DownloadManager.COLUMN_BYTES_DOWNLOADED_SO_FAR);
+ int totalBytesIdx = c.getColumnIndexOrThrow(
+ DownloadManager.COLUMN_TOTAL_SIZE_BYTES);
+ totalBytes = c.getLong(totalBytesIdx);
+ downloadBytes = c.getLong(downloadBytesIdx);
+ int status = c.getInt(c.getColumnIndex(DownloadManager.COLUMN_STATUS));
+ // 宸蹭笅杞界殑瀛楄妭澶у皬
+ final long downloadedSoFar = c.getLong(c.getColumnIndex(DownloadManager.COLUMN_BYTES_DOWNLOADED_SO_FAR));
+ // 涓嬭浇鏂囦欢鐨勬�诲瓧鑺傚ぇ灏�
+ final long totalSize = c.getLong(c.getColumnIndex(DownloadManager.COLUMN_TOTAL_SIZE_BYTES));
+ dl_progress = (int) (downloadedSoFar * 100 / totalSize);
+ switch (status) {
+ case DownloadManager.STATUS_PAUSED:
+ Log.d("APPUpdate", "涓嬭浇鏆傚仠:" + fileName);
+ case DownloadManager.STATUS_PENDING:
+ Log.d("APPUpdate", "涓嬭浇寤惰繜:" + fileName);
+ case DownloadManager.STATUS_RUNNING:
+ Log.d("APPUpdate", "姝e湪涓嬭浇:" + fileName);
+ handler.postDelayed(runnable, 100);
+ break;
+ case DownloadManager.STATUS_SUCCESSFUL:
+ Log.d("APPUpdate", "涓嬭浇瀹屾垚:" + fileName);
+ mTimer.cancel();
+ dismiss();
+ handler=null;
+ //涓嬭浇瀹屾垚瀹夎APK
+ Utils.installAPK(getContext(), fileName);
+ break;
+ case DownloadManager.STATUS_FAILED:
+ Log.d("APPUpdate", "涓嬭浇澶辫触:" + fileName);
+ setContent("涓嬭浇澶辫触锛岃閲嶆柊涓嬭浇");
+ changeVisi(View.VISIBLE,View.GONE);
+ break;
+ }
+ }
+ }
+ } finally {
+ if (c != null) {
+ c.close();
+ }
+ }
+
+ }
+
+ }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/AnnualHealthStatusActivity.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/AnnualHealthStatusActivity.java
index a1e1bf6..8cbc7af 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/ui/function/AnnualHealthStatusActivity.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/AnnualHealthStatusActivity.java
@@ -1,13 +1,30 @@
package com.application.zhangshi_app_android.ui.function;
+import android.content.Intent;
+import android.text.Editable;
+import android.text.TextUtils;
+import android.text.TextWatcher;
+import android.view.MotionEvent;
+import android.view.View;
+import android.widget.PopupWindow;
+
+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.manager.AppManager;
+import com.android.app_base.utils.ScreenSizeUtils;
+import com.android.app_base.utils.Utils;
+import com.android.app_base.utils.rxbus.RxBus;
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.AnnualHealthStatusRvAdapter;
-import com.application.zhangshi_app_android.adapter.CleanStorageRvAdapter;
+import com.application.zhangshi_app_android.bean.AnnualHealthStatusBean;
import com.application.zhangshi_app_android.databinding.ActivityAnnualHealthStatusBinding;
-import com.application.zhangshi_app_android.databinding.ActivityCleanStorageBinding;
import com.application.zhangshi_app_android.ui.DLBaseActivity;
+import com.github.gzuliyujiang.wheelpicker.DatePicker;
+import com.github.gzuliyujiang.wheelpicker.contract.OnDatePickedListener;
+import com.hjq.bar.TitleBar;
/**
* @author Ljj
@@ -17,7 +34,8 @@
public class AnnualHealthStatusActivity extends DLBaseActivity<ActivityAnnualHealthStatusBinding,AnnualHealthStatusActivityViewModel > {
private AnnualHealthStatusRvAdapter adapter;
-
+ private boolean isSearchLayoutVisible;
+ private PopupWindow mOperatePopupWindow;
@Override
public int getLayoutId() {
return R.layout.activity_annual_health_status;
@@ -35,13 +53,159 @@
@Override
public void initView() {
- adapter = new AnnualHealthStatusRvAdapter(this);
+ //涓嬫媺鍒锋柊甯冨眬
+ binding.refreshLayout.setEnableRefresh(false);
+ binding.refreshLayout.setEnableLoadMore(true);
+ binding.refreshLayout.setEnableOverScrollDrag(true);
+ binding.refreshLayout.setOnLoadMoreListener(refreshLayout -> {
+ viewModel.getMoreAnnualHealthStatus();
+ });
+ //recyclerView閫傞厤鍣�
+ adapter = new AnnualHealthStatusRvAdapter(this,viewModel);
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);
+ //鍙充笂瑙掓搷浣滃脊绐�
+ mOperatePopupWindow = initPopUpWindow(View.inflate(this,R.layout.pop_operate,null));
+ setOnClickListener(
+ mOperatePopupWindow.getContentView().findViewById(R.id.tv_add),
+ mOperatePopupWindow.getContentView().findViewById(R.id.tv_select),
+ mOperatePopupWindow.getContentView().findViewById(R.id.tv_from_new_to_old),
+ mOperatePopupWindow.getContentView().findViewById(R.id.tv_from_old_to_new)
+ );
+ //鐐瑰嚮鏀惧ぇ闀滄寜閽樉绀哄嚭鎼滅储妗�
+ binding.ivSearchDefault.setOnClickListener(v -> {
+ binding.layoutSearch.setVisibility(View.VISIBLE);
+ binding.layoutDefault.setVisibility(View.GONE);
+ });
+ //鐐瑰嚮鎼滅储妗嗚彍鍗曚笅鎷夊嚭 鎼滅储鍙傛暟
+ binding.ivSearchType.setOnClickListener(v -> {
+ if (!isSearchLayoutVisible){
+ binding.layoutSearchParameter.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED);
+ int targetHeight = binding.layoutSearchParameter.getMeasuredHeight();
+ Utils.dropExpand(binding.containerSearchParameter,0,targetHeight);
+ isSearchLayoutVisible = true;
+ }
+ });
+ //鎼滅储鍙傛暟layout娣诲姞绌虹偣鍑讳簨浠讹紝闃叉鐐瑰嚮瀹冨唴閮╲iew鏃跺畠鍚庨潰鐨剅ecycler杩樿兘鍝嶅簲鐐瑰嚮浜嬩欢
+ binding.layoutSearchParameter.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ }
+ });
+ //鐐瑰嚮鎼滅储鎸夐挳杩涜鎼滅储
+ binding.ivSearch.setOnClickListener(v -> {
+ viewModel.getAnnualHealthStatus();
+ binding.layoutSearch.setVisibility(View.GONE);
+ binding.layoutDefault.setVisibility(View.VISIBLE);
+ binding.tvTitle.setText("鎼滅储缁撴灉");
+ hideSoftKeyboard();
+ });
+ //鐐瑰嚮娣诲姞鎸夐挳璺宠浆鍒板垱寤哄澶т簨璁伴〉闈�
+ binding.fabAdd.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ AppManager.getAppManager().startActivity(new Intent(getSelfActivity(), AnnualHealthStatusDetailActivity.class).putExtra(BaseConfig.EXTRA_TYPE,1));
+ }
+ });
+ binding.etStartTime.addTextChangedListener(new TextWatcher() {
+ @Override
+ public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+ }
+
+ @Override
+ public void onTextChanged(CharSequence s, int start, int before, int count) {
+ if (!TextUtils.isEmpty(s)) {
+ binding.ivTimeClear.setVisibility(View.VISIBLE);
+ } else {
+ if (TextUtils.isEmpty(binding.etEndTime.getText().toString())) {
+ binding.ivTimeClear.setVisibility(View.INVISIBLE);
+ }
+ }
+ }
+
+ @Override
+ public void afterTextChanged(Editable s) {
+
+ }
+ });
+ binding.etEndTime.addTextChangedListener(new TextWatcher() {
+ @Override
+ public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+ }
+
+ @Override
+ public void onTextChanged(CharSequence s, int start, int before, int count) {
+ if (!TextUtils.isEmpty(s)) {
+ binding.ivTimeClear.setVisibility(View.VISIBLE);
+ } else {
+ if (TextUtils.isEmpty(binding.etStartTime.getText().toString())) {
+ binding.ivTimeClear.setVisibility(View.INVISIBLE);
+ }
+ }
+ }
+
+ @Override
+ public void afterTextChanged(Editable s) {
+
+ }
+ });
+ binding.etStartTime.setOnClickListener(v -> {
+ hideSoftKeyboard();
+ DatePicker datePicker = getDatePicker();
+ datePicker.setTitle("璇烽�夋嫨寮�濮嬫椂闂�");
+ datePicker.setOnDatePickedListener(new OnDatePickedListener() {
+ @Override
+ public void onDatePicked(int year, int month, int day) {
+ //浠yyy-MM-dd鐨勬牸寮忔樉绀猴紝鏈堟棩灏忎簬10鏃跺墠闈㈣ˉ0
+ binding.etStartTime.setText(String.format("%d-%02d-%02d", year, month, day));
+ if (binding.etEndTime.getText().toString().isEmpty()){
+ binding.etEndTime.setText(String.format("%d-%02d-%02d", year, month, day));
+ }else {
+ //姣旇緝寮�濮嬫椂闂村拰缁撴潫鏃堕棿鐨勫ぇ灏�
+ String startTime = binding.etStartTime.getText().toString();
+ String endTime = binding.etEndTime.getText().toString();
+ if (Utils.compareDate(startTime,endTime) > 0){
+ //浜ゆ崲
+ binding.etStartTime.setText(endTime);
+ binding.etEndTime.setText(startTime);
+ }
+ }
+ }
+ });
+ datePicker.show();
+ });
+ binding.etEndTime.setOnClickListener(v -> {
+ hideSoftKeyboard();
+ DatePicker datePicker = getDatePicker();
+ datePicker.setTitle("璇烽�夋嫨缁撴潫鏃堕棿");
+ datePicker.setOnDatePickedListener(new OnDatePickedListener() {
+ @Override
+ public void onDatePicked(int year, int month, int day) {
+ binding.etEndTime.setText(String.format("%d-%02d-%02d", year, month, day));
+ if (binding.etStartTime.getText().toString().isEmpty()){
+ binding.etStartTime.setText(String.format("%d-%02d-%02d", year, month, day));
+ }else {
+ //姣旇緝寮�濮嬫椂闂村拰缁撴潫鏃堕棿鐨勫ぇ灏�
+ String startTime = binding.etStartTime.getText().toString();
+ String endTime = binding.etEndTime.getText().toString();
+ if (Utils.compareDate(startTime,endTime) > 0){
+ //浜ゆ崲
+ binding.etStartTime.setText(endTime);
+ binding.etEndTime.setText(startTime);
+ }
+ }
+ }
+ });
+ datePicker.show();
+ });
+ binding.ivTimeClear.setOnClickListener(v -> {
+ binding.etStartTime.setText("");
+ binding.etEndTime.setText("");
+ });
}
@Override
@@ -54,5 +218,126 @@
viewModel.getDataListLiveData().observe(this, dataList -> {
adapter.setData(dataList);
});
+ viewModel.getCheckListLiveData().observe(this, checkList -> {
+ if (0 == viewModel.getOperateTypeLiveData().getValue()){
+ return;
+ }
+ if (checkList.isEmpty()){
+ viewModel.getOperateTypeLiveData().setValue(1);
+ }else{
+ viewModel.getOperateTypeLiveData().setValue(2);
+ }
+ });
+ viewModel.getMoreListLiveData().observe(this, moreList -> {
+ adapter.addData(moreList);
+ });
+ viewModel.getOperateTypeLiveData().observe(this, integer -> {
+ if (integer == 0){
+ binding.ivOperate.setBackgroundResource(R.drawable.ic_operate);
+ binding.ivOperate.setOnClickListener(v -> {
+ mOperatePopupWindow.showAsDropDown(binding.ivOperate,-ScreenSizeUtils.dip2px(this,85) +binding.ivOperate.getWidth(),0);
+ });
+ adapter.setCheckable(false);
+ }else if (integer == 1){
+ binding.ivOperate.setBackgroundResource(R.drawable.ic_operate_finish);
+ binding.ivOperate.setOnClickListener(v -> {
+ viewModel.getOperateTypeLiveData().postValue(0);
+ });
+ adapter.setCheckable(true);
+ }else if (integer == 2){
+ binding.ivOperate.setBackgroundResource(R.drawable.ic_delete_white);
+ binding.ivOperate.setOnClickListener(v -> {
+ new UIDialog.Builder(this)
+ .setTitle("鎮ㄧ‘瀹氳鍒犻櫎閫変腑鐨勯」鐩悧")
+ .setContent("椤圭洰鍒犻櫎鍚庡皢鏃犳硶鎭㈠")
+ .setConfirm("纭畾")
+ .setCancel("鍙栨秷")
+ .setListener(new UIDialog.OnListener() {
+ @Override
+ public void onConfirm(BaseDialog dialog) {
+ viewModel.deleteCheckList();
+ }
+ })
+ .show();
+ });
+ }
+ });
+
+ viewModel.getFinishDeleteListLiveData().observe(this, beans -> {
+ for (AnnualHealthStatusBean bean : beans) {
+ adapter.removeItem(bean);
+ }
+ });
+
+ //瑙傚療鏁版嵁鐨勫彉鍖栵紝鏈夊彉鍖栧寘鎷坊鍔犮�佷慨鏀广�佸垹闄ら兘浼氬彂閫佹秷鎭紝鎺ユ敹鍒版秷鎭悗閲嶆柊鑾峰彇鏁版嵁杩涜鍒锋柊
+ RxBus.getInstance().toObservable(this, AnnualHealthStatusBean.class)
+ .subscribe(bean -> {
+ viewModel.getAnnualHealthStatus();
+ });
+ }
+ @Override
+ protected void dataNull() {
+ super.dataNull();
+ binding.layoutDataNull.setVisibility(View.VISIBLE);
+ binding.refreshLayout.setVisibility(View.GONE);
+ }
+
+ @Override
+ protected void dataFinish() {
+ super.dataFinish();
+ binding.refreshLayout.finishLoadMore();
+ }
+
+ @Override
+ protected void hide() {
+ super.hide();
+ binding.layoutDataNull.setVisibility(View.GONE);
+ binding.refreshLayout.setVisibility(View.VISIBLE);
+ binding.refreshLayout.finishLoadMore();
+ }
+
+ @Override
+ public void onClick(View v) {
+ int id = v.getId();
+ if (id == R.id.tv_add){
+ AppManager.getAppManager().startActivity(new Intent(this, AnnualHealthStatusDetailActivity.class).putExtra(BaseConfig.EXTRA_TYPE,1));
+ mOperatePopupWindow.dismiss();
+ }else if (id == R.id.tv_select){
+ viewModel.getOperateTypeLiveData().postValue(1);
+ mOperatePopupWindow.dismiss();
+ }else if (id == R.id.tv_from_new_to_old) {
+ viewModel.changeOrder(true);
+ mOperatePopupWindow.dismiss();
+ } else if (id == R.id.tv_from_old_to_new) {
+ viewModel.changeOrder(false);
+ mOperatePopupWindow.dismiss();
+ }
+ }
+
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+ if (mOperatePopupWindow != null){
+ mOperatePopupWindow.dismiss();
+ }
+ }
+
+ @Override
+ public boolean dispatchTouchEvent(MotionEvent event) {
+ float x = event.getX();
+ float y = event.getY();
+ if (isSearchLayoutVisible){
+ if (!Utils.isPointInsideView(x, y, binding.layoutSearchParameter)) {
+ Utils.pullCollapse(binding.containerSearchParameter, binding.layoutSearchParameter.getMeasuredHeight(),0);
+ isSearchLayoutVisible = false;
+ return true;
+ }
+ }
+ return super.dispatchTouchEvent(event);
+ }
+
+ @Override
+ public void onLeftClick(TitleBar titleBar) {
+ finish();
}
}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/AnnualHealthStatusActivityViewModel.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/AnnualHealthStatusActivityViewModel.java
index e47e190..858180e 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/ui/function/AnnualHealthStatusActivityViewModel.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/AnnualHealthStatusActivityViewModel.java
@@ -1,17 +1,33 @@
package com.application.zhangshi_app_android.ui.function;
+import static com.android.app_base.base.BaseConfig.CODE_SUCCESS;
+
import android.app.Application;
+import android.text.TextUtils;
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.android.app_base.utils.Utils;
import com.application.zhangshi_app_android.bean.AnnualHealthStatusBean;
-import com.application.zhangshi_app_android.bean.CleanStorageBean;
+import com.application.zhangshi_app_android.bean.AnnualHealthStatusRequestBean;
+import com.application.zhangshi_app_android.bean.PageResponseBean;
+import com.application.zhangshi_app_android.bean.AnnualHealthStatusBean;
+import com.application.zhangshi_app_android.bean.AnnualHealthStatusRequestBean;
import com.application.zhangshi_app_android.data.DataRepository;
import java.util.ArrayList;
+import java.util.Date;
import java.util.List;
+
+import io.reactivex.Observer;
+import io.reactivex.disposables.Disposable;
+import io.reactivex.functions.Action;
/**
* @author Ljj
@@ -20,7 +36,12 @@
*/
public class AnnualHealthStatusActivityViewModel extends BaseViewModel<DataRepository> {
private MutableLiveData<List<AnnualHealthStatusBean>> dataListLiveData;
+ private MutableLiveData<List<AnnualHealthStatusBean>> checkListLiveData;//閫変腑鐨勬暟鎹�
+ private MutableLiveData<List<AnnualHealthStatusBean>> moreListLiveData;//涓嬫媺鍔犺浇鏁版嵁
+ private MutableLiveData<AnnualHealthStatusRequestBean> requestBeanLiveData;//璇锋眰鍙傛暟
+ private MutableLiveData<List<AnnualHealthStatusBean>> finishDeleteListLiveData;//宸茬粡瀹屾垚鍒犻櫎鐨勬暟鎹紝鐢ㄤ簬adapter鐨剅emove鎿嶄綔
+ private MutableLiveData<Integer> operateTypeLiveData;//鎿嶄綔绫诲瀷 0 閫夋嫨鎿嶄綔 1.瀹屾垚 2.鍒犻櫎
public AnnualHealthStatusActivityViewModel(@NonNull Application application) {
super(application);
}
@@ -30,8 +51,207 @@
return DataRepository.getInstance();
}
+ /**
+ * 鑾峰彇骞村害鍋ュ悍鎯呭喌
+ */
+ public void getAnnualHealthStatus() {
+ if (getRequestBeanLiveData().getValue() == null){
+ getRequestBeanLiveData().setValue(new AnnualHealthStatusRequestBean());
+ }
+ getRequestBeanLiveData().getValue().setPageNum(1);
+ model.getAnnualHealthStatus(getRequestBeanLiveData().getValue().toMap())
+ .compose(RxUtils.schedulersTransformer())
+ .subscribe(new Observer<ResultData<PageResponseBean<AnnualHealthStatusBean>>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<PageResponseBean<AnnualHealthStatusBean>> 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() {
+
+ }
+ });
+ }
+ /**
+ * 鍔犺浇鏇村
+ */
+ public void getMoreAnnualHealthStatus() {
+ if (true){
+ changeStateView(StateViewEnum.DATA_NULL);
+ return;
+ }
+ if (getRequestBeanLiveData().getValue() == null){
+ getRequestBeanLiveData().setValue(new AnnualHealthStatusRequestBean());
+ }
+ getRequestBeanLiveData().getValue().setPageNum(getRequestBeanLiveData().getValue().getPageNum() + 1);
+ model.getAnnualHealthStatus(getRequestBeanLiveData().getValue().toMap())
+ .compose(RxUtils.schedulersTransformer())
+ .doFinally(new Action() {
+ @Override
+ public void run() throws Exception {
+ changeStateView(StateViewEnum.DATA_FINISH);
+ }
+ })
+ .subscribe(new Observer<ResultData<PageResponseBean<AnnualHealthStatusBean>>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<PageResponseBean<AnnualHealthStatusBean>> 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());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+ /**
+ * 鍒犻櫎澶氶�夐�変腑鐨勬暟鎹�
+ */
+ public void deleteCheckList() {
+ List<AnnualHealthStatusBean> deleteList = getCheckListLiveData().getValue();
+ if (deleteList == null){
+ return;
+ }
+ StringBuffer sb = new StringBuffer();
+ deleteList.forEach(AnnualHealthStatusBean -> sb.append(AnnualHealthStatusBean.getId()).append(","));
+ sb.deleteCharAt(sb.length()-1);
+ model.deleteAnnualHealthStatus(sb.toString())
+ .compose(RxUtils.schedulersTransformer())
+ .subscribe(new Observer<ResultData<String>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<String> stringResultData) {
+ if (stringResultData.getCode() == CODE_SUCCESS){
+ finishDeleteListLiveData.postValue(checkListLiveData.getValue());
+ messageLiveData.postValue("鍒犻櫎鎴愬姛");
+ getCheckListLiveData().postValue(new ArrayList<>());
+ }else {
+ messageLiveData.postValue(stringResultData.getMsg());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+ /**
+ * 鍒犻櫎鍗曚釜鏁版嵁
+ */
+ public void deleteItem(AnnualHealthStatusBean AnnualHealthStatusBean) {
+ model.deleteAnnualHealthStatus(String.valueOf(AnnualHealthStatusBean.getId()))
+ .compose(RxUtils.schedulersTransformer())
+ .subscribe(new Observer<ResultData<String>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<String> stringResultData) {
+ if (stringResultData.getCode() == CODE_SUCCESS){
+ List<AnnualHealthStatusBean> list = new ArrayList<>();
+ list.add(AnnualHealthStatusBean);
+ finishDeleteListLiveData.postValue(list);
+ messageLiveData.postValue("鍒犻櫎鎴愬姛");
+ }else {
+ messageLiveData.postValue(stringResultData.getMsg());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+
+ public MutableLiveData<List<AnnualHealthStatusBean>> getCheckListLiveData() {
+ if (checkListLiveData==null){
+ checkListLiveData = new MutableLiveData<>();
+ checkListLiveData.postValue(new ArrayList<>());
+ }
+ if (checkListLiveData.getValue() == null){
+ checkListLiveData.postValue(new ArrayList<>());
+ }
+ return checkListLiveData;
+ }
+
+ public void setCheckListLiveData(MutableLiveData<List<AnnualHealthStatusBean>> checkListLiveData) {
+ this.checkListLiveData = checkListLiveData;
+ }
+
+ @NonNull
+ public MutableLiveData<AnnualHealthStatusRequestBean> getRequestBeanLiveData() {
+ if (requestBeanLiveData == null){
+ requestBeanLiveData = new MutableLiveData<>();
+ }
+ if (requestBeanLiveData.getValue() == null){
+ requestBeanLiveData.setValue(new AnnualHealthStatusRequestBean());
+ }
+ return requestBeanLiveData;
+ }
+
+ public void setRequestBeanLiveData(MutableLiveData<AnnualHealthStatusRequestBean> requestBeanLiveData) {
+ this.requestBeanLiveData = requestBeanLiveData;
+ }
+
public MutableLiveData<List<AnnualHealthStatusBean>> getDataListLiveData() {
- if (dataListLiveData == null) {
+ if (dataListLiveData == null){
dataListLiveData = new MutableLiveData<>();
}
return dataListLiveData;
@@ -41,22 +261,92 @@
this.dataListLiveData = dataListLiveData;
}
- /**
- * 鑾峰彇骞村害鍋ュ悍鎯呭喌
- */
- public void getAnnualHealthStatus() {
- List<AnnualHealthStatusBean> beans = new ArrayList<>();
- for (int i = 0; i < 10; i++) {
- AnnualHealthStatusBean bean = new AnnualHealthStatusBean();
- bean.setId(i);
- bean.setTime("2020-0" + i + "-01");
- bean.setType("浣撴");
- bean.setHospital("浜烘皯鍖婚櫌");
- bean.setName("浣撴牸妫�鏌�");
- bean.setAttention("娉ㄦ剰淇濆仴");
- bean.setRemark("鍏ㄥ叏韬鏌�");
- beans.add(bean);
+ @NonNull
+ public MutableLiveData<List<AnnualHealthStatusBean>> getMoreListLiveData() {
+ if (moreListLiveData == null){
+ moreListLiveData = new MutableLiveData<>();
}
- dataListLiveData.setValue(beans);
+ return moreListLiveData;
+ }
+
+ public void setMoreListLiveData(MutableLiveData<List<AnnualHealthStatusBean>> moreListLiveData) {
+ this.moreListLiveData = moreListLiveData;
+ }
+
+ @NonNull
+ public MutableLiveData<Integer> getOperateTypeLiveData() {
+ if (operateTypeLiveData == null){
+ operateTypeLiveData = new MutableLiveData<>();
+ operateTypeLiveData.setValue(0);
+ }
+ return operateTypeLiveData;
+ }
+
+ public void setOperateTypeLiveData(MutableLiveData<Integer> operateTypeLiveData) {
+ this.operateTypeLiveData = operateTypeLiveData;
+ }
+
+ public LiveData<List<AnnualHealthStatusBean>> getFinishDeleteListLiveData() {
+ if (finishDeleteListLiveData == null){
+ finishDeleteListLiveData = new MutableLiveData<>();
+ }
+ return finishDeleteListLiveData;
+ }
+
+ public void setFinishDeleteListLiveData(MutableLiveData<List<AnnualHealthStatusBean>> finishDeleteListLiveData) {
+ this.finishDeleteListLiveData = finishDeleteListLiveData;
+ }
+
+ /**
+ * 鏀瑰彉鎺掑簭
+ * @param b true 闄嶅簭 false 鍗囧簭
+ */
+ public void changeOrder(boolean b) {
+ List<AnnualHealthStatusBean> list = getDataListLiveData().getValue();
+ if (list == null || list.isEmpty()){
+ return;
+ }
+ if (b) {
+ // 浠庢柊鍒版棫锛宯ull鎺掓渶鍚�
+ list.sort((o1, o2) -> {
+ String happenTime1 = o1.getCheckTime();
+ String happenTime2 = o2.getCheckTime();
+ if (TextUtils.isEmpty(happenTime1) && TextUtils.isEmpty(happenTime2)) {
+ return 0;
+ } else if (TextUtils.isEmpty(happenTime1)) {
+ return 1;
+ } else if (TextUtils.isEmpty(happenTime2)) {
+ return -1;
+ } else {
+ Date date1 = Utils.parseDate(happenTime1);
+ Date date2 = Utils.parseDate(happenTime2);
+ if (date1 != null && date2 != null) {
+ return date2.compareTo(date1);
+ }
+ return 0;
+ }
+ });
+ } else {
+ // 浠庢棫鍒版柊锛宯ull鎺掓渶鍓�
+ list.sort((o1, o2) -> {
+ String happenTime1 = o1.getCheckTime();
+ String happenTime2 = o2.getCheckTime();
+ if (TextUtils.isEmpty(happenTime1) && TextUtils.isEmpty(happenTime2)) {
+ return 0;
+ } else if (TextUtils.isEmpty(happenTime1)) {
+ return -1;
+ } else if (TextUtils.isEmpty(happenTime2)) {
+ return 1;
+ } else {
+ Date date1 = Utils.parseDate(happenTime1);
+ Date date2 = Utils.parseDate(happenTime2);
+ if (date1 != null && date2 != null) {
+ return date1.compareTo(date2);
+ }
+ return 0;
+ }
+ });
+ }
+ getDataListLiveData().setValue(list);
}
}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/AnnualHealthStatusDetailActivity.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/AnnualHealthStatusDetailActivity.java
index c589eba..20c658b 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/ui/function/AnnualHealthStatusDetailActivity.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/AnnualHealthStatusDetailActivity.java
@@ -3,21 +3,39 @@
import android.view.View;
import android.view.ViewGroup;
import android.widget.EditText;
+import android.widget.PopupWindow;
import androidx.recyclerview.widget.GridLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+import com.android.app_base.base.BaseConfig;
+import com.android.app_base.base.adapter.BaseRVAdapter;
+import com.android.app_base.base.dialog.BaseDialog;
+import com.android.app_base.base.dialog.UIDialog;
+import com.android.app_base.manager.UserManager;
+import com.android.app_base.utils.ScreenSizeUtils;
+import com.android.app_base.utils.Utils;
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.AnnualHealthStatusBean;
import com.application.zhangshi_app_android.bean.CertificateOfHonorBean;
+import com.application.zhangshi_app_android.bean.PersonalNotepadBean;
import com.application.zhangshi_app_android.databinding.ActivityAnnualHealthStatusDetailBinding;
import com.application.zhangshi_app_android.databinding.ActivityCertificateOfHonorDetailBinding;
import com.application.zhangshi_app_android.ui.DLBaseActivity;
+import com.github.gzuliyujiang.wheelpicker.DatePicker;
+import com.github.gzuliyujiang.wheelpicker.contract.OnDatePickedListener;
+import com.hjq.bar.TitleBar;
+import com.luck.picture.lib.entity.LocalMedia;
+import com.luck.picture.lib.interfaces.OnResultCallbackListener;
+import java.io.File;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
+import java.util.Locale;
+import java.util.function.Consumer;
/**
* @author Ljj
@@ -27,7 +45,8 @@
public class AnnualHealthStatusDetailActivity extends DLBaseActivity<ActivityAnnualHealthStatusDetailBinding,AnnualHealthStatusDetailActivityViewModel> {
private ImageRvAdapter adapter;
-
+ private int type;// 0 鏌ョ湅鍙慨鏀瑰垹闄� 1 鏂板 2 鐩存帴淇敼
+ private PopupWindow popupWindow;
@Override
public int getLayoutId() {
return R.layout.activity_annual_health_status_detail;
@@ -40,8 +59,12 @@
@Override
public void initParam() {
- if (getIntent().hasExtra("bean")){
- viewModel.getBeanLiveData().setValue((AnnualHealthStatusBean) getIntent().getSerializableExtra("bean"));
+ type = getIntent().getIntExtra(BaseConfig.EXTRA_TYPE,0);
+ if (type == 0 || type == 2){
+ AnnualHealthStatusBean bean = (AnnualHealthStatusBean) getIntent().getSerializableExtra("bean");
+ if (bean !=null){
+ viewModel.getBeanLiveData().setValue(bean);
+ }
}
}
@@ -51,7 +74,99 @@
GridLayoutManager gridLayoutManager = new GridLayoutManager(this, 3);
binding.rvImage.setLayoutManager(gridLayoutManager);
binding.rvImage.setNestedScrollingEnabled(false);
- setIsEdited(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) {
+ UserManager.getInstance().selectImage(getSelfActivity(), 9, new OnResultCallbackListener<LocalMedia>() {
+ @Override
+ public void onResult(ArrayList<LocalMedia> result) {
+ if (result.size() == 0) return;
+ for (LocalMedia media : result) {
+ String path = media.getRealPath();
+ File file = new File(path);
+ if (file.exists()) {
+ viewModel.uploadFile(file);
+ }
+ }
+ }
+
+ @Override
+ public void onCancel() {
+
+ }
+ });
+ }
+ });
+ adapter.setOnChildClickListener(R.id.iv_delete, new BaseRVAdapter.OnChildClickListener() {
+ @Override
+ public void onChildClick(RecyclerView recyclerView, View childView, int position) {
+ AnnualHealthStatusBean bean = viewModel.getBeanLiveData().getValue();
+ if (bean !=null){
+ List<String> urlList = Utils.splitString2List(bean.getUrl(),",");
+ urlList.remove(adapter.getItem(position));
+ bean.setUrl(Utils.appendList2String(urlList,","));
+ }
+ adapter.removeItem(position);
+ viewModel.getBeanLiveData().setValue(bean);
+ }
+ });
+ binding.rvImage.setAdapter(adapter);
+
+ if (type == 1){
+ viewModel.getTypeLiveData().postValue(true);
+ binding.ivOperate.setOnClickListener(v -> {
+ viewModel.add();
+ });
+ }else if (type == 0){
+ popupWindow = initPopUpWindow(View.inflate(this,R.layout.pop_operate_delete,null));
+ popupWindow.getContentView().findViewById(R.id.tv_modify).setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ viewModel.getTypeLiveData().postValue(true);
+ popupWindow.dismiss();
+ }
+ });
+ popupWindow.getContentView().findViewById(R.id.tv_delete).setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ popupWindow.dismiss();
+ new UIDialog.Builder(getSelfActivity())
+ .setTitle("鎮ㄧ‘瀹氳鍒犻櫎椤圭洰鍚�")
+ .setContent("椤圭洰鍒犻櫎鍚庡皢鏃犳硶鎭㈠")
+ .setConfirm("纭畾")
+ .setCancel("鍙栨秷")
+ .setListener(new UIDialog.OnListener() {
+ @Override
+ public void onConfirm(BaseDialog dialog) {
+ viewModel.delete();
+ }
+ })
+ .show();
+ }
+ });
+ viewModel.getTypeLiveData().postValue(false);
+ }else if (type == 2){
+ viewModel.getTypeLiveData().postValue(true);
+
+ }
+ binding.etTime.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ DatePicker picker = getDatePicker();
+ picker.setTitle("閫夋嫨鏃堕棿");
+ picker.setOnDatePickedListener(new OnDatePickedListener() {
+ @Override
+ public void onDatePicked(int year, int month, int day) {
+ String date = String.format(Locale.CHINA, "%d-%02d-%02d", year, month, day);
+ binding.etTime.setText(date);
+ }
+ });
+ picker.show();
+ }
+ });
}
@Override
@@ -63,40 +178,48 @@
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));
+ adapter.setData(Utils.splitString2List(bean.getUrl(),","));
+ }
+ });
+ viewModel.getTypeLiveData().observe(this,operateType -> {
+ if (operateType){
+ if (type == 1) {
+ binding.ivOperate.setOnClickListener(v -> {
+ viewModel.add();
+ });
}else {
- list = new ArrayList<>();
- list.add(url);
+ binding.ivOperate.setOnClickListener(v -> {
+ viewModel.update();
+ });
}
- adapter.setData(list);
+ binding.rvImage.getFooterViews().forEach(new Consumer<View>() {
+ @Override
+ public void accept(View view) {
+ view.setVisibility(View.VISIBLE);
+ }
+ });
+ setIsEdited(true);
+ }else {
+ binding.ivOperate.setOnClickListener(v -> {
+ popupWindow.showAsDropDown(binding.ivOperate,-ScreenSizeUtils.dip2px(this,85) +binding.ivOperate.getWidth(),0);
+ });
+ binding.rvImage.getFooterViews().forEach(new Consumer<View>() {
+ @Override
+ public void accept(View view) {
+ view.setVisibility(View.GONE);
+ }
+ });
+ setIsEdited(false);
}
});
}
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();
- }
- }
- }
+
+ @Override
+ public void onLeftClick(TitleBar titleBar) {
+ finish();
}
}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/AnnualHealthStatusDetailActivityViewModel.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/AnnualHealthStatusDetailActivityViewModel.java
index 91d1842..9a50334 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/ui/function/AnnualHealthStatusDetailActivityViewModel.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/AnnualHealthStatusDetailActivityViewModel.java
@@ -1,14 +1,28 @@
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.viewmodel.BaseViewModel;
+import com.android.app_base.http.ResultData;
+import com.android.app_base.manager.AppManager;
+import com.android.app_base.utils.RxUtils;
+import com.android.app_base.utils.rxbus.RxBus;
import com.application.zhangshi_app_android.bean.AnnualHealthStatusBean;
-import com.application.zhangshi_app_android.bean.CertificateOfHonorBean;
+import com.application.zhangshi_app_android.bean.UploadFileResponseBean;
import com.application.zhangshi_app_android.data.DataRepository;
+
+import java.io.File;
+
+import io.reactivex.Observer;
+import io.reactivex.disposables.Disposable;
+import okhttp3.MediaType;
+import okhttp3.MultipartBody;
+import okhttp3.RequestBody;
/**
* @author Ljj
@@ -18,6 +32,7 @@
public class AnnualHealthStatusDetailActivityViewModel extends BaseViewModel<DataRepository> {
private MutableLiveData<AnnualHealthStatusBean> beanLiveData;
+ private MutableLiveData<Boolean> typeLiveData;//true 缂栬緫鐘舵�� false 灞曠ず鐘舵��
public AnnualHealthStatusDetailActivityViewModel(@NonNull Application application) {
super(application);
@@ -28,11 +43,176 @@
return DataRepository.getInstance();
}
+ /**
+ * 娣诲姞
+ */
+ public void add() {
+ System.out.println(beanLiveData.getValue());
+ model.addAnnualHealthStatus(beanLiveData.getValue())
+ .compose(RxUtils.schedulersTransformer())
+ .subscribe(new Observer<ResultData<String>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<String> stringResultData) {
+ if (stringResultData.getCode() == CODE_SUCCESS){
+ AppManager.getAppManager().finishCurrentActivity();
+ RxBus.getInstance().post(beanLiveData.getValue());
+ messageLiveData.postValue("娣诲姞鎴愬姛");
+ }else {
+ messageLiveData.postValue(stringResultData.getMsg());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+ /**
+ * 鍒犻櫎
+ */
+ public void delete() {
+ if (beanLiveData.getValue() == null){
+ return;
+ }
+ model.deleteAnnualHealthStatus(String.valueOf(beanLiveData.getValue().getId()))
+ .compose(RxUtils.schedulersTransformer())
+ .subscribe(new Observer<ResultData<String>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<String> stringResultData) {
+ if (stringResultData.getCode() == CODE_SUCCESS){
+ AppManager.getAppManager().finishCurrentActivity();
+ RxBus.getInstance().post(beanLiveData.getValue());
+ messageLiveData.postValue("鍒犻櫎鎴愬姛");
+ }else {
+ messageLiveData.postValue(stringResultData.getMsg());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+ /**
+ * 淇敼
+ */
+ public void update() {
+ model.updateAnnualHealthStatus(beanLiveData.getValue())
+ .compose(RxUtils.schedulersTransformer())
+ .subscribe(new Observer<ResultData<String>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<String> stringResultData) {
+ if (stringResultData.getCode() == CODE_SUCCESS){
+ AppManager.getAppManager().finishCurrentActivity();
+ RxBus.getInstance().post(beanLiveData.getValue());
+ messageLiveData.postValue("淇敼鎴愬姛");
+ }else {
+ messageLiveData.postValue(stringResultData.getMsg());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+
+ /**
+ * 涓婁紶鐢靛瓙鏂囦欢
+ */
+ public void uploadFile(File file) {
+ RequestBody requestBody = RequestBody.create(MediaType.parse("multipart/form-data"), file);
+ MultipartBody.Part body = MultipartBody.Part.createFormData("uploadFile", file.getName(), requestBody);
+ model.uploadFile(body)
+ .compose(RxUtils.schedulersTransformer())
+ .subscribe(new Observer<ResultData<UploadFileResponseBean>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<UploadFileResponseBean> resultData) {
+ if (resultData.getCode() == CODE_SUCCESS){
+ AnnualHealthStatusBean bean = beanLiveData.getValue();
+ String url;
+ if (bean != null){
+ url = bean.getUrl();
+ if (url == null){
+ url = resultData.getData().getUrl();
+ }else {
+ url = url + "," + resultData.getData().getUrl();
+ }
+ bean.setUrl(url);
+ beanLiveData.postValue(bean);
+ }
+ }else {
+ messageLiveData.postValue(resultData.getMsg());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+ public MutableLiveData<Boolean> getTypeLiveData() {
+ if (typeLiveData == null){
+ typeLiveData = new MutableLiveData<>();
+ }
+ return typeLiveData;
+ }
+
+ public void setTypeLiveData(MutableLiveData<Boolean> typeLiveData) {
+ this.typeLiveData = typeLiveData;
+ }
public MutableLiveData<AnnualHealthStatusBean> getBeanLiveData() {
if (beanLiveData == null) {
beanLiveData = new MutableLiveData<>();
}
+ if (beanLiveData.getValue() == null){
+ beanLiveData.setValue(new AnnualHealthStatusBean());
+ }
return beanLiveData;
}
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
index de202ac..be3e046 100644
--- 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
@@ -1,11 +1,19 @@
package com.application.zhangshi_app_android.ui.function;
+import android.text.TextUtils;
+import android.view.MotionEvent;
+import android.view.View;
+import android.widget.PopupWindow;
+
+import com.android.app_base.utils.ScreenSizeUtils;
+import com.android.app_base.utils.Utils;
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.databinding.ActivityCertificateOfHonorBinding;
import com.application.zhangshi_app_android.ui.DLBaseActivity;
+import com.hjq.bar.TitleBarSupport;
/**
* @author Ljj
@@ -15,7 +23,9 @@
public class CertificateOfHonorActivity extends DLBaseActivity<ActivityCertificateOfHonorBinding, CertificateOfHonorActivityViewModel> {
private CertificateOfHonorRvAdapter adapter;
+ private PopupWindow mOperatePopupWindow;
+ private boolean isSearchLayoutVisible;
@Override
public int getLayoutId() {
return R.layout.activity_certificate_of_honor;
@@ -33,6 +43,14 @@
@Override
public void initView() {
+ //涓嬫媺鍒锋柊甯冨眬
+ binding.refreshLayout.setEnableRefresh(false);
+ binding.refreshLayout.setEnableLoadMore(true);
+ binding.refreshLayout.setEnableOverScrollDrag(true);
+ binding.refreshLayout.setOnLoadMoreListener(refreshLayout -> {
+ viewModel.loadMoreFamilyAssets();
+ });
+ //recyclerView閫傞厤鍣�
adapter = new CertificateOfHonorRvAdapter(this);
LinearItemDecoration itemDecoration = new LinearItemDecoration();
itemDecoration.setBottomSpace((int) getResources().getDimension(com.android.app_base.R.dimen.dp_12));
@@ -40,11 +58,69 @@
itemDecoration.setFirstTop((int) getResources().getDimension(com.android.app_base.R.dimen.dp_20));
binding.recyclerView.addItemDecoration(itemDecoration);
binding.recyclerView.setAdapter(adapter);
+ //鍙充笂瑙掓搷浣滃脊绐�
+ mOperatePopupWindow = initPopUpWindow(View.inflate(this,R.layout.pop_operate,null));
+ mOperatePopupWindow.getContentView().findViewById(R.id.layout_add).setVisibility(View.GONE);
+ mOperatePopupWindow.getContentView().findViewById(R.id.layout_select).setVisibility(View.GONE);
+ mOperatePopupWindow.getContentView().findViewById(R.id.tv_from_new_to_old).setOnClickListener(v -> {
+ viewModel.sortDataList(0);
+ mOperatePopupWindow.dismiss();
+ });
+ mOperatePopupWindow.getContentView().findViewById(R.id.tv_from_old_to_new).setOnClickListener(v -> {
+ viewModel.sortDataList(1);
+ mOperatePopupWindow.dismiss();
+ });
+ //鐐瑰嚮寮瑰嚭鎿嶄綔寮圭獥
+ binding.ivOperate.setOnClickListener(v -> {
+ mOperatePopupWindow.showAsDropDown(binding.ivOperate,-ScreenSizeUtils.dip2px(this,85) +binding.ivOperate.getWidth(),0);
+ });
+ //鐐瑰嚮鏀惧ぇ闀滄寜閽樉绀哄嚭鎼滅储妗�
+ binding.ivSearchDefault.setOnClickListener(v -> {
+ binding.layoutSearch.setVisibility(View.VISIBLE);
+ binding.layoutDefault.setVisibility(View.GONE);
+ });
+ //鐐瑰嚮鎼滅储妗嗚彍鍗曚笅鎷夊嚭 鎼滅储鍙傛暟
+ binding.ivSearchType.setOnClickListener(v -> {
+ if (!isSearchLayoutVisible){
+ binding.layoutSearchParameter.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED);
+ int targetHeight = binding.layoutSearchParameter.getMeasuredHeight();
+ Utils.dropExpand(binding.containerSearchParameter,0, targetHeight);
+ isSearchLayoutVisible = true;
+ }
+ });
+ //鎼滅储鍙傛暟layout娣诲姞绌虹偣鍑讳簨浠讹紝闃叉鐐瑰嚮瀹冨唴閮╲iew鏃跺畠鍚庨潰鐨剅ecycler杩樿兘鍝嶅簲鐐瑰嚮浜嬩欢
+ binding.layoutSearchParameter.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ }
+ });
+ //鐐瑰嚮鎼滅储鎸夐挳杩涜鎼滅储
+ binding.ivSearch.setOnClickListener(v -> {
+ viewModel.getCertificateOfHonor();
+ binding.layoutSearch.setVisibility(View.GONE);
+ binding.layoutDefault.setVisibility(View.VISIBLE);
+ binding.tvTitle.setText("鎼滅储缁撴灉");
+ hideSoftKeyboard();
+ });
+
+ }
+ @Override
+ public boolean dispatchTouchEvent(MotionEvent event) {
+ float x = event.getX();
+ float y = event.getY();
+ if (isSearchLayoutVisible){
+ if (!Utils.isPointInsideView(x, y, binding.layoutSearchParameter)) {
+ Utils.pullCollapse(binding.containerSearchParameter, binding.layoutSearchParameter.getMeasuredHeight(),0);
+ isSearchLayoutVisible = false;
+ return true;
+ }
+ }
+ return super.dispatchTouchEvent(event);
}
@Override
public void initData() {
- viewModel.getHundredWish();
+ viewModel.getCertificateOfHonor();
}
@Override
@@ -52,5 +128,28 @@
viewModel.getDataListLiveData().observe(this, dataList -> {
adapter.setData(dataList);
});
+ viewModel.getMoreListLiveData().observe(this, list -> {
+ adapter.addData(list);
+ });
+ }
+ @Override
+ protected void dataNull() {
+ super.dataNull();
+ binding.layoutDataNull.setVisibility(View.VISIBLE);
+ binding.refreshLayout.setVisibility(View.GONE);
+ }
+
+ @Override
+ protected void dataFinish() {
+ super.dataFinish();
+ binding.refreshLayout.finishLoadMore();
+ }
+
+ @Override
+ protected void hide() {
+ super.hide();
+ binding.layoutDataNull.setVisibility(View.GONE);
+ binding.refreshLayout.setVisibility(View.VISIBLE);
+ binding.refreshLayout.finishLoadMore();
}
}
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
index 1433e74..94341b7 100644
--- 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
@@ -1,17 +1,30 @@
package com.application.zhangshi_app_android.ui.function;
+import static com.android.app_base.base.BaseConfig.CODE_SUCCESS;
+
import android.app.Application;
+import android.text.TextUtils;
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.android.app_base.utils.Utils;
import com.application.zhangshi_app_android.bean.CertificateOfHonorBean;
-import com.application.zhangshi_app_android.bean.HundredWishBean;
+import com.application.zhangshi_app_android.bean.CertificateOfHonorRequestBean;
+import com.application.zhangshi_app_android.bean.PageResponseBean;
import com.application.zhangshi_app_android.data.DataRepository;
import java.util.ArrayList;
+import java.util.Date;
import java.util.List;
+
+import io.reactivex.Observer;
+import io.reactivex.disposables.Disposable;
+import io.reactivex.functions.Action;
/**
* @author Ljj
@@ -20,7 +33,9 @@
*/
public class CertificateOfHonorActivityViewModel extends BaseViewModel<DataRepository> {
private MutableLiveData<List<CertificateOfHonorBean>> dataListLiveData;
+ private MutableLiveData<List<CertificateOfHonorBean>> moreListLiveData;//鍔犺浇鏇村鏁版嵁
+ private MutableLiveData<CertificateOfHonorRequestBean> requestBeanLiveData;//璇锋眰鍙傛暟
public CertificateOfHonorActivityViewModel(@NonNull Application application) {
super(application);
}
@@ -30,32 +45,181 @@
return DataRepository.getInstance();
}
+ /**
+ * 鑾峰彇鏁版嵁
+ */
+ public void getCertificateOfHonor(){
+ if (getRequestBeanLiveData().getValue() == null){
+ getRequestBeanLiveData().setValue(new CertificateOfHonorRequestBean());
+ }
+ getRequestBeanLiveData().getValue().setPageNum(1);
+ model.getCertificateOfHonor(getRequestBeanLiveData().getValue().toMap())
+ .compose(RxUtils.schedulersTransformer())
+ .subscribe(new Observer<ResultData<PageResponseBean<CertificateOfHonorBean>>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<PageResponseBean<CertificateOfHonorBean>> 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() {
+
+ }
+ });
+ }
+
+ /**
+ * 鍔犺浇鏇村
+ */
+ public void loadMoreFamilyAssets(){
+ if (getRequestBeanLiveData().getValue() == null){
+ getRequestBeanLiveData().setValue(new CertificateOfHonorRequestBean());
+ }
+ getRequestBeanLiveData().getValue().setPageNum(getRequestBeanLiveData().getValue().getPageNum() + 1);
+ model.getCertificateOfHonor(getRequestBeanLiveData().getValue().toMap())
+ .compose(RxUtils.schedulersTransformer())
+ .doFinally(new Action() {
+ @Override
+ public void run() throws Exception {
+ changeStateView(StateViewEnum.DATA_FINISH);
+ }
+ })
+ .subscribe(new Observer<ResultData<PageResponseBean<CertificateOfHonorBean>>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<PageResponseBean<CertificateOfHonorBean>> 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());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+
+
public MutableLiveData<List<CertificateOfHonorBean>> getDataListLiveData() {
- if (dataListLiveData == null) {
+ if (dataListLiveData == null){
dataListLiveData = new MutableLiveData<>();
}
return dataListLiveData;
+ }
+
+ public MutableLiveData<CertificateOfHonorRequestBean> getRequestBeanLiveData() {
+ if (requestBeanLiveData == null){
+ requestBeanLiveData = new MutableLiveData<>();
+ }
+ if (requestBeanLiveData.getValue() == null){
+ requestBeanLiveData.setValue(new CertificateOfHonorRequestBean());
+ }
+ return requestBeanLiveData;
+ }
+
+ public void setRequestBeanLiveData(MutableLiveData<CertificateOfHonorRequestBean> requestBeanLiveData) {
+ this.requestBeanLiveData = requestBeanLiveData;
}
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);
+ public MutableLiveData<List<CertificateOfHonorBean>> getMoreListLiveData() {
+ if (moreListLiveData == null){
+ moreListLiveData = new MutableLiveData<>();
}
- dataListLiveData.setValue(beans);
+ return moreListLiveData;
}
+
+ public void setMoreListLiveData(MutableLiveData<List<CertificateOfHonorBean>> moreListLiveData) {
+ this.moreListLiveData = moreListLiveData;
+ }
+
+ public void sortDataList(int type){
+ List<CertificateOfHonorBean> list = dataListLiveData.getValue();
+ if (list == null || list.isEmpty()){
+ return;
+ }
+ System.out.println(dataListLiveData.getValue().size());
+ if (type == 0) {
+ // 浠庢柊鍒版棫锛宯ull鎺掓渶鍚�
+ list.sort((o1, o2) -> {
+ String happenTime1 = o1.getCreateTime();
+ String happenTime2 = o2.getCreateTime();
+ if (TextUtils.isEmpty(happenTime1) && TextUtils.isEmpty(happenTime2)) {
+ return 0;
+ } else if (TextUtils.isEmpty(happenTime1)) {
+ return 1;
+ } else if (TextUtils.isEmpty(happenTime2)) {
+ return -1;
+ } else {
+ Date date1 = Utils.parseDate(happenTime1);
+ Date date2 = Utils.parseDate(happenTime2);
+ if (date1 != null && date2 != null) {
+ return date2.compareTo(date1);
+ }
+ return 0;
+ }
+ });
+ } else if (type == 1) {
+ // 浠庢棫鍒版柊锛宯ull鎺掓渶鍓�
+ list.sort((o1, o2) -> {
+ String happenTime1 = o1.getCreateTime();
+ String happenTime2 = o2.getCreateTime();
+ if (TextUtils.isEmpty(happenTime1) && TextUtils.isEmpty(happenTime2)) {
+ return 0;
+ } else if (TextUtils.isEmpty(happenTime1)) {
+ return -1;
+ } else if (TextUtils.isEmpty(happenTime2)) {
+ return 1;
+ } else {
+ Date date1 = Utils.parseDate(happenTime1);
+ Date date2 = Utils.parseDate(happenTime2);
+ if (date1 != null && date2 != null) {
+ return date1.compareTo(date2);
+ }
+ return 0;
+ }
+ });
+ }
+ dataListLiveData.postValue(list);
+ }
+
}
\ 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
index ae955e4..1f53495 100644
--- 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
@@ -6,6 +6,7 @@
import androidx.recyclerview.widget.GridLayoutManager;
+import com.android.app_base.utils.Utils;
import com.application.zhangshi_app_android.BR;
import com.application.zhangshi_app_android.R;
import com.application.zhangshi_app_android.adapter.ImageRvAdapter;
@@ -51,6 +52,7 @@
GridLayoutManager gridLayoutManager = new GridLayoutManager(this, 3);
binding.rvImage.setLayoutManager(gridLayoutManager);
binding.rvImage.setNestedScrollingEnabled(false);
+ binding.rvImage.setAdapter(adapter);
setIsEdited(false);
}
@@ -63,19 +65,7 @@
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);
+ adapter.setData(Utils.splitString2List(bean.getUrl(),","));
}
});
}
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
index 36f3f4b..f4f6681 100644
--- 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
@@ -2,20 +2,34 @@
import androidx.appcompat.app.AppCompatActivity;
+import android.content.Intent;
import android.os.Bundle;
+import android.text.Editable;
+import android.text.TextWatcher;
+import android.view.MotionEvent;
+import android.view.View;
+import android.widget.PopupWindow;
+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.manager.AppManager;
+import com.android.app_base.utils.ScreenSizeUtils;
+import com.android.app_base.utils.Utils;
+import com.android.app_base.utils.rxbus.RxBus;
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.bean.CleanStorageBean;
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;
+ private boolean isSearchLayoutVisible;
+ private PopupWindow mOperatePopupWindow;
@Override
public int getLayoutId() {
@@ -34,13 +48,91 @@
@Override
public void initView() {
- adapter = new CleanStorageRvAdapter(this);
+ //涓嬫媺鍒锋柊甯冨眬
+ binding.refreshLayout.setEnableRefresh(false);
+ binding.refreshLayout.setEnableLoadMore(true);
+ binding.refreshLayout.setEnableOverScrollDrag(true);
+ binding.refreshLayout.setOnLoadMoreListener(refreshLayout -> {
+ viewModel.getMoreCleanStorages();
+ });
+ //recyclerView閫傞厤鍣�
+ adapter = new CleanStorageRvAdapter(this,viewModel);
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);
+ //鍙充笂瑙掓搷浣滃脊绐�
+ mOperatePopupWindow = initPopUpWindow(View.inflate(this,R.layout.pop_operate,null));
+ mOperatePopupWindow.getContentView().findViewById(R.id.tv_from_new_to_old).setVisibility(View.GONE);
+ mOperatePopupWindow.getContentView().findViewById(R.id.tv_from_old_to_new).setVisibility(View.GONE);
+ mOperatePopupWindow.getContentView().findViewById(R.id.view_select_underline).setVisibility(View.GONE);
+ setOnClickListener(
+ mOperatePopupWindow.getContentView().findViewById(R.id.tv_add),
+ mOperatePopupWindow.getContentView().findViewById(R.id.tv_select)
+ );
+ //鐐瑰嚮鏀惧ぇ闀滄寜閽樉绀哄嚭鎼滅储妗�
+ binding.ivSearchDefault.setOnClickListener(v -> {
+ binding.layoutSearch.setVisibility(View.VISIBLE);
+ binding.layoutDefault.setVisibility(View.GONE);
+ });
+ //鐐瑰嚮鎼滅储妗嗚彍鍗曚笅鎷夊嚭 鎼滅储鍙傛暟
+ binding.ivSearchType.setOnClickListener(v -> {
+ if (!isSearchLayoutVisible){
+ binding.layoutSearchParameter.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED);
+ int targetHeight = binding.layoutSearchParameter.getMeasuredHeight();
+ Utils.dropExpand(binding.containerSearchParameter,0,targetHeight);
+ isSearchLayoutVisible = true;
+ }
+ });
+ //鎼滅储鍙傛暟layout娣诲姞绌虹偣鍑讳簨浠讹紝闃叉鐐瑰嚮瀹冨唴閮╲iew鏃跺畠鍚庨潰鐨剅ecycler杩樿兘鍝嶅簲鐐瑰嚮浜嬩欢
+ binding.layoutSearchParameter.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ }
+ });
+ //鐐瑰嚮鎼滅储鎸夐挳杩涜鎼滅储
+ binding.ivSearch.setOnClickListener(v -> {
+ viewModel.getCleanStorages();
+ binding.layoutSearch.setVisibility(View.GONE);
+ binding.layoutDefault.setVisibility(View.VISIBLE);
+ binding.tvTitle.setText("鎼滅储缁撴灉");
+ hideSoftKeyboard();
+ });
+ //鐐瑰嚮娣诲姞鎸夐挳璺宠浆鍒板垱寤哄澶т簨璁伴〉闈�
+ binding.fabAdd.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ AppManager.getAppManager().startActivity(new Intent(getSelfActivity(), CleanStorageDetailActivity.class).putExtra(BaseConfig.EXTRA_TYPE,1));
+ }
+ });
+
+ binding.etSearchId.addTextChangedListener(new TextWatcher() {
+ @Override
+ public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+
+ }
+
+ @Override
+ public void onTextChanged(CharSequence s, int start, int before, int count) {
+ int id = -1;
+ try {
+ id = Integer.parseInt(s.toString());
+ }catch (Exception e){
+ e.printStackTrace();
+ }
+ if (id == -1){
+ return;
+ }
+ viewModel.getRequestBeanLiveData().getValue().setId(id);
+ }
+
+ @Override
+ public void afterTextChanged(Editable s) {
+
+ }
+ });
}
@Override
@@ -53,5 +145,113 @@
viewModel.getDataListLiveData().observe(this, dataList -> {
adapter.setData(dataList);
});
+ viewModel.getCheckListLiveData().observe(this, checkList -> {
+ if (0 == viewModel.getOperateTypeLiveData().getValue()){
+ return;
+ }
+ if (checkList.isEmpty()){
+ viewModel.getOperateTypeLiveData().setValue(1);
+ }else{
+ viewModel.getOperateTypeLiveData().setValue(2);
+ }
+ });
+ viewModel.getMoreListLiveData().observe(this, moreList -> {
+ adapter.addData(moreList);
+ });
+ viewModel.getOperateTypeLiveData().observe(this, integer -> {
+ if (integer == 0){
+ binding.ivOperate.setBackgroundResource(R.drawable.ic_operate);
+ binding.ivOperate.setOnClickListener(v -> {
+ mOperatePopupWindow.showAsDropDown(binding.ivOperate,-ScreenSizeUtils.dip2px(this,85) +binding.ivOperate.getWidth(),0);
+ });
+ adapter.setCheckable(false);
+ }else if (integer == 1){
+ binding.ivOperate.setBackgroundResource(R.drawable.ic_operate_finish);
+ binding.ivOperate.setOnClickListener(v -> {
+ viewModel.getOperateTypeLiveData().postValue(0);
+ });
+ adapter.setCheckable(true);
+ }else if (integer == 2){
+ binding.ivOperate.setBackgroundResource(R.drawable.ic_delete_white);
+ binding.ivOperate.setOnClickListener(v -> {
+ new UIDialog.Builder(this)
+ .setTitle("鎮ㄧ‘瀹氳鍒犻櫎閫変腑鐨勯」鐩悧")
+ .setContent("椤圭洰鍒犻櫎鍚庡皢鏃犳硶鎭㈠")
+ .setConfirm("纭畾")
+ .setCancel("鍙栨秷")
+ .setListener(new UIDialog.OnListener() {
+ @Override
+ public void onConfirm(BaseDialog dialog) {
+ viewModel.deleteCheckList();
+ }
+ })
+ .show();
+ });
+ }
+ });
+
+ viewModel.getFinishDeleteListLiveData().observe(this, beans -> {
+ for (CleanStorageBean bean : beans) {
+ adapter.removeItem(bean);
+ }
+ });
+
+ //瑙傚療鏁版嵁鐨勫彉鍖栵紝鏈夊彉鍖栧寘鎷坊鍔犮�佷慨鏀广�佸垹闄ら兘浼氬彂閫佹秷鎭紝鎺ユ敹鍒版秷鎭悗閲嶆柊鑾峰彇鏁版嵁杩涜鍒锋柊
+ RxBus.getInstance().toObservable(this, CleanStorageBean.class)
+ .subscribe(bean -> {
+ viewModel.getCleanStorages();
+ });
+ }
+ @Override
+ protected void dataNull() {
+ super.dataNull();
+ binding.layoutDataNull.setVisibility(View.VISIBLE);
+ binding.refreshLayout.setVisibility(View.GONE);
+ }
+
+ @Override
+ protected void dataFinish() {
+ super.dataFinish();
+ binding.refreshLayout.finishLoadMore();
+ }
+
+ @Override
+ protected void hide() {
+ super.hide();
+ binding.layoutDataNull.setVisibility(View.GONE);
+ binding.refreshLayout.setVisibility(View.VISIBLE);
+ binding.refreshLayout.finishLoadMore();
+ }
+ @Override
+ public void onClick(View v) {
+ int id = v.getId();
+ if (id == R.id.tv_add){
+ AppManager.getAppManager().startActivity(new Intent(this, CleanStorageDetailActivity.class).putExtra(BaseConfig.EXTRA_TYPE,1));
+ mOperatePopupWindow.dismiss();
+ }else if (id == R.id.tv_select){
+ viewModel.getOperateTypeLiveData().postValue(1);
+ mOperatePopupWindow.dismiss();
+ }
+ }
+ @Override
+ public boolean dispatchTouchEvent(MotionEvent event) {
+ float x = event.getX();
+ float y = event.getY();
+ if (isSearchLayoutVisible){
+ if (!Utils.isPointInsideView(x, y, binding.layoutSearchParameter)) {
+ Utils.pullCollapse(binding.containerSearchParameter, binding.layoutSearchParameter.getMeasuredHeight(),0);
+ isSearchLayoutVisible = false;
+ return true;
+ }
+ }
+ return super.dispatchTouchEvent(event);
+ }
+
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+ 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/CleanStorageActivityViewModel.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/CleanStorageActivityViewModel.java
index a0bda32..65920f9 100644
--- 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
@@ -1,17 +1,28 @@
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.CleanStorageBean;
+import com.application.zhangshi_app_android.bean.CleanStorageRequestBean;
+import com.application.zhangshi_app_android.bean.PageResponseBean;
import com.application.zhangshi_app_android.data.DataRepository;
import java.util.ArrayList;
import java.util.List;
+
+import io.reactivex.Observer;
+import io.reactivex.disposables.Disposable;
+import io.reactivex.functions.Action;
/**
* @author Ljj
@@ -20,6 +31,11 @@
*/
public class CleanStorageActivityViewModel extends BaseViewModel<DataRepository> {
private MutableLiveData<List<CleanStorageBean>> dataListLiveData;
+ private MutableLiveData<List<CleanStorageBean>> checkListLiveData;//閫変腑鐨勬暟鎹�
+ private MutableLiveData<List<CleanStorageBean>> moreListLiveData;//涓嬫媺鍔犺浇鏁版嵁
+ private MutableLiveData<CleanStorageRequestBean> requestBeanLiveData;//璇锋眰鍙傛暟
+ private MutableLiveData<List<CleanStorageBean>> finishDeleteListLiveData;//宸茬粡瀹屾垚鍒犻櫎鐨勬暟鎹紝鐢ㄤ簬adapter鐨剅emove鎿嶄綔
+ private MutableLiveData<Integer> operateTypeLiveData;//鎿嶄綔绫诲瀷 0 閫夋嫨鎿嶄綔 1.瀹屾垚 2.鍒犻櫎
public CleanStorageActivityViewModel(@NonNull Application application) {
super(application);
@@ -30,8 +46,203 @@
return DataRepository.getInstance();
}
+ /**
+ * 鑾峰彇鏁版嵁
+ */
+ public void getCleanStorages() {
+ if (getRequestBeanLiveData().getValue() == null){
+ getRequestBeanLiveData().setValue(new CleanStorageRequestBean());
+ }
+ getRequestBeanLiveData().getValue().setPageNum(1);
+ model.getCleanStorages(getRequestBeanLiveData().getValue().toMap())
+ .compose(RxUtils.schedulersTransformer())
+ .subscribe(new Observer<ResultData<PageResponseBean<CleanStorageBean>>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<PageResponseBean<CleanStorageBean>> 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() {
+
+ }
+ });
+ }
+ /**
+ * 鍔犺浇鏇村
+ */
+ public void getMoreCleanStorages() {
+ if (getRequestBeanLiveData().getValue() == null){
+ getRequestBeanLiveData().setValue(new CleanStorageRequestBean());
+ }
+ getRequestBeanLiveData().getValue().setPageNum(getRequestBeanLiveData().getValue().getPageNum() + 1);
+ model.getCleanStorages(getRequestBeanLiveData().getValue().toMap())
+ .compose(RxUtils.schedulersTransformer())
+ .doFinally(new Action() {
+ @Override
+ public void run() throws Exception {
+ changeStateView(StateViewEnum.DATA_FINISH);
+ }
+ })
+ .subscribe(new Observer<ResultData<PageResponseBean<CleanStorageBean>>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<PageResponseBean<CleanStorageBean>> 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());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+ /**
+ * 鍒犻櫎澶氶�夐�変腑鐨勬暟鎹�
+ */
+ public void deleteCheckList() {
+ List<CleanStorageBean> deleteList = getCheckListLiveData().getValue();
+ if (deleteList == null){
+ return;
+ }
+ StringBuffer sb = new StringBuffer();
+ deleteList.forEach(CleanStorageBean -> sb.append(CleanStorageBean.getId()).append(","));
+ sb.deleteCharAt(sb.length()-1);
+ model.deleteCleanStorages(sb.toString())
+ .compose(RxUtils.schedulersTransformer())
+ .subscribe(new Observer<ResultData<String>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<String> stringResultData) {
+ if (stringResultData.getCode() == CODE_SUCCESS){
+ finishDeleteListLiveData.postValue(checkListLiveData.getValue());
+ messageLiveData.postValue("鍒犻櫎鎴愬姛");
+ getCheckListLiveData().postValue(new ArrayList<>());
+ }else {
+ messageLiveData.postValue(stringResultData.getMsg());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+ /**
+ * 鍒犻櫎鍗曚釜鏁版嵁
+ */
+ public void deleteItem(CleanStorageBean CleanStorageBean) {
+ model.deleteCleanStorages(String.valueOf(CleanStorageBean.getId()))
+ .compose(RxUtils.schedulersTransformer())
+ .subscribe(new Observer<ResultData<String>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<String> stringResultData) {
+ if (stringResultData.getCode() == CODE_SUCCESS){
+ List<CleanStorageBean> list = new ArrayList<>();
+ list.add(CleanStorageBean);
+ finishDeleteListLiveData.postValue(list);
+ messageLiveData.postValue("鍒犻櫎鎴愬姛");
+ }else {
+ messageLiveData.postValue(stringResultData.getMsg());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+
+ public MutableLiveData<List<CleanStorageBean>> getCheckListLiveData() {
+ if (checkListLiveData==null){
+ checkListLiveData = new MutableLiveData<>();
+ checkListLiveData.postValue(new ArrayList<>());
+ }
+ if (checkListLiveData.getValue() == null){
+ checkListLiveData.postValue(new ArrayList<>());
+ }
+ return checkListLiveData;
+ }
+
+ public void setCheckListLiveData(MutableLiveData<List<CleanStorageBean>> checkListLiveData) {
+ this.checkListLiveData = checkListLiveData;
+ }
+
+ @NonNull
+ public MutableLiveData<CleanStorageRequestBean> getRequestBeanLiveData() {
+ if (requestBeanLiveData == null){
+ requestBeanLiveData = new MutableLiveData<>();
+ }
+ if (requestBeanLiveData.getValue() == null){
+ requestBeanLiveData.setValue(new CleanStorageRequestBean());
+ }
+ return requestBeanLiveData;
+ }
+
+ public void setRequestBeanLiveData(MutableLiveData<CleanStorageRequestBean> requestBeanLiveData) {
+ this.requestBeanLiveData = requestBeanLiveData;
+ }
+
public MutableLiveData<List<CleanStorageBean>> getDataListLiveData() {
- if (dataListLiveData == null) {
+ if (dataListLiveData == null){
dataListLiveData = new MutableLiveData<>();
}
return dataListLiveData;
@@ -41,12 +252,40 @@
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);
+ @NonNull
+ public MutableLiveData<List<CleanStorageBean>> getMoreListLiveData() {
+ if (moreListLiveData == null){
+ moreListLiveData = new MutableLiveData<>();
+ }
+ return moreListLiveData;
}
+
+ public void setMoreListLiveData(MutableLiveData<List<CleanStorageBean>> moreListLiveData) {
+ this.moreListLiveData = moreListLiveData;
+ }
+
+ @NonNull
+ public MutableLiveData<Integer> getOperateTypeLiveData() {
+ if (operateTypeLiveData == null){
+ operateTypeLiveData = new MutableLiveData<>();
+ operateTypeLiveData.setValue(0);
+ }
+ return operateTypeLiveData;
+ }
+
+ public void setOperateTypeLiveData(MutableLiveData<Integer> operateTypeLiveData) {
+ this.operateTypeLiveData = operateTypeLiveData;
+ }
+
+ public LiveData<List<CleanStorageBean>> getFinishDeleteListLiveData() {
+ if (finishDeleteListLiveData == null){
+ finishDeleteListLiveData = new MutableLiveData<>();
+ }
+ return finishDeleteListLiveData;
+ }
+
+ public void setFinishDeleteListLiveData(MutableLiveData<List<CleanStorageBean>> finishDeleteListLiveData) {
+ this.finishDeleteListLiveData = finishDeleteListLiveData;
+ }
+
}
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
index 912bc05..118b57d 100644
--- 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
@@ -2,12 +2,21 @@
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.GridLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.EditText;
+import android.widget.PopupWindow;
+import com.android.app_base.base.BaseConfig;
+import com.android.app_base.base.adapter.BaseRVAdapter;
+import com.android.app_base.base.dialog.BaseDialog;
+import com.android.app_base.base.dialog.UIDialog;
+import com.android.app_base.manager.UserManager;
+import com.android.app_base.utils.ScreenSizeUtils;
+import com.android.app_base.utils.Utils;
import com.application.zhangshi_app_android.BR;
import com.application.zhangshi_app_android.R;
import com.application.zhangshi_app_android.adapter.ImageRvAdapter;
@@ -16,14 +25,19 @@
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 com.luck.picture.lib.entity.LocalMedia;
+import com.luck.picture.lib.interfaces.OnResultCallbackListener;
+import java.io.File;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
+import java.util.function.Consumer;
public class CleanStorageDetailActivity extends DLBaseActivity<ActivityCleanStorageDetailBinding,CleanStorageDetailActivityViewModel> {
-
private ImageRvAdapter adapter;
+ private int type;// 0 鏌ョ湅鍙慨鏀瑰垹闄� 1 鏂板 2 鐩存帴淇敼
+ private PopupWindow popupWindow;
@Override
public int getLayoutId() {
@@ -37,8 +51,12 @@
@Override
public void initParam() {
- if (getIntent().hasExtra("bean")){
- viewModel.getBeanLiveData().setValue((CleanStorageBean) getIntent().getSerializableExtra("bean"));
+ type = getIntent().getIntExtra(BaseConfig.EXTRA_TYPE,0);
+ if (type == 0 || type == 2){
+ CleanStorageBean bean = (CleanStorageBean) getIntent().getSerializableExtra("bean");
+ if (bean !=null){
+ viewModel.getBeanLiveData().setValue(bean);
+ }
}
}
@@ -48,7 +66,84 @@
GridLayoutManager gridLayoutManager = new GridLayoutManager(this, 3);
binding.rvImage.setLayoutManager(gridLayoutManager);
binding.rvImage.setNestedScrollingEnabled(false);
- setIsEdited(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) {
+ UserManager.getInstance().selectImage(getSelfActivity(), 9, new OnResultCallbackListener<LocalMedia>() {
+ @Override
+ public void onResult(ArrayList<LocalMedia> result) {
+ if (result.size() == 0) return;
+ for (LocalMedia media : result) {
+ String path = media.getRealPath();
+ File file = new File(path);
+ if (file.exists()) {
+ viewModel.uploadFile(file);
+ }
+ }
+ }
+
+ @Override
+ public void onCancel() {
+
+ }
+ });
+ }
+ });
+ adapter.setOnChildClickListener(R.id.iv_delete, new BaseRVAdapter.OnChildClickListener() {
+ @Override
+ public void onChildClick(RecyclerView recyclerView, View childView, int position) {
+ CleanStorageBean bean = viewModel.getBeanLiveData().getValue();
+ if (bean !=null){
+ List<String> urlList = Utils.splitString2List(bean.getUrl(),",");
+ urlList.remove(adapter.getItem(position));
+ bean.setUrl(Utils.appendList2String(urlList,","));
+ }
+ adapter.removeItem(position);
+ viewModel.getBeanLiveData().setValue(bean);
+ }
+ });
+ binding.rvImage.setAdapter(adapter);
+
+ if (type == 1){
+ viewModel.getTypeLiveData().postValue(true);
+ binding.ivOperate.setOnClickListener(v -> {
+ viewModel.add();
+ });
+ }else if (type == 0){
+ popupWindow = initPopUpWindow(View.inflate(this,R.layout.pop_operate_delete,null));
+ popupWindow.getContentView().findViewById(R.id.tv_modify).setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ viewModel.getTypeLiveData().postValue(true);
+ popupWindow.dismiss();
+ }
+ });
+ popupWindow.getContentView().findViewById(R.id.tv_delete).setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ popupWindow.dismiss();
+ new UIDialog.Builder(getSelfActivity())
+ .setTitle("鎮ㄧ‘瀹氳鍒犻櫎椤圭洰鍚�")
+ .setContent("椤圭洰鍒犻櫎鍚庡皢鏃犳硶鎭㈠")
+ .setConfirm("纭畾")
+ .setCancel("鍙栨秷")
+ .setListener(new UIDialog.OnListener() {
+ @Override
+ public void onConfirm(BaseDialog dialog) {
+ viewModel.delete();
+ }
+ })
+ .show();
+ }
+ });
+ viewModel.getTypeLiveData().postValue(false);
+ }else if (type == 2){
+ viewModel.getTypeLiveData().postValue(true);
+
+ }
}
@Override
@@ -60,19 +155,38 @@
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));
+ adapter.setData(Utils.splitString2List(bean.getUrl(),","));
+ }
+ });
+ viewModel.getTypeLiveData().observe(this,operateType -> {
+ if (operateType){
+ if (type == 1) {
+ binding.ivOperate.setOnClickListener(v -> {
+ viewModel.add();
+ });
}else {
- list = new ArrayList<>();
- list.add(url);
+ binding.ivOperate.setOnClickListener(v -> {
+ viewModel.update();
+ });
}
- adapter.setData(list);
+ binding.rvImage.getFooterViews().forEach(new Consumer<View>() {
+ @Override
+ public void accept(View view) {
+ view.setVisibility(View.VISIBLE);
+ }
+ });
+ setIsEdited(true);
+ }else {
+ binding.ivOperate.setOnClickListener(v -> {
+ popupWindow.showAsDropDown(binding.ivOperate,-ScreenSizeUtils.dip2px(this,85) +binding.ivOperate.getWidth(),0);
+ });
+ binding.rvImage.getFooterViews().forEach(new Consumer<View>() {
+ @Override
+ public void accept(View view) {
+ view.setVisibility(View.GONE);
+ }
+ });
+ setIsEdited(false);
}
});
}
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
index 2860b62..b2c26ad 100644
--- 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
@@ -1,13 +1,29 @@
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.viewmodel.BaseViewModel;
+import com.android.app_base.http.ResultData;
+import com.android.app_base.manager.AppManager;
+import com.android.app_base.utils.RxUtils;
+import com.android.app_base.utils.rxbus.RxBus;
import com.application.zhangshi_app_android.bean.CleanStorageBean;
+import com.application.zhangshi_app_android.bean.LittleDoctorBean;
+import com.application.zhangshi_app_android.bean.UploadFileResponseBean;
import com.application.zhangshi_app_android.data.DataRepository;
+
+import java.io.File;
+
+import io.reactivex.Observer;
+import io.reactivex.disposables.Disposable;
+import okhttp3.MediaType;
+import okhttp3.MultipartBody;
+import okhttp3.RequestBody;
/**
* @author Ljj
@@ -17,6 +33,7 @@
public class CleanStorageDetailActivityViewModel extends BaseViewModel<DataRepository> {
private MutableLiveData<CleanStorageBean> beanLiveData;
+ private MutableLiveData<Boolean> typeLiveData;//true 缂栬緫鐘舵�� false 灞曠ず鐘舵��
public CleanStorageDetailActivityViewModel(@NonNull Application application) {
super(application);
@@ -27,11 +44,175 @@
return DataRepository.getInstance();
}
+ /**
+ * 澧炲姞淇濇磥鏀剁撼
+ */
+ public void add() {
+ model.addCleanStorage(beanLiveData.getValue())
+ .compose(RxUtils.schedulersTransformer())
+ .subscribe(new Observer<ResultData<String>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+ @Override
+ public void onNext(ResultData<String> stringResultData) {
+ if (stringResultData.getCode() == CODE_SUCCESS){
+ AppManager.getAppManager().finishCurrentActivity();
+ RxBus.getInstance().post(beanLiveData.getValue());
+ messageLiveData.postValue("娣诲姞鎴愬姛");
+ }else {
+ messageLiveData.postValue(stringResultData.getMsg());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+ /**
+ * 鍒犻櫎淇濇磥鏀剁撼
+ */
+ public void delete() {
+ if (beanLiveData.getValue() == null){
+ return;
+ }
+ model.deleteLittleDoctors(String.valueOf(beanLiveData.getValue().getId()))
+ .compose(RxUtils.schedulersTransformer())
+ .subscribe(new Observer<ResultData<String>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<String> stringResultData) {
+ if (stringResultData.getCode() == CODE_SUCCESS){
+ AppManager.getAppManager().finishCurrentActivity();
+ RxBus.getInstance().post(beanLiveData.getValue());
+ messageLiveData.postValue("鍒犻櫎鎴愬姛");
+ }else {
+ messageLiveData.postValue(stringResultData.getMsg());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+ /**
+ * 淇敼灏忓尰鐢�
+ */
+ public void update() {
+ model.updateCleanStorage(beanLiveData.getValue())
+ .compose(RxUtils.schedulersTransformer())
+ .subscribe(new Observer<ResultData<String>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<String> stringResultData) {
+ if (stringResultData.getCode() == CODE_SUCCESS){
+ AppManager.getAppManager().finishCurrentActivity();
+ RxBus.getInstance().post(beanLiveData.getValue());
+ messageLiveData.postValue("淇敼鎴愬姛");
+ }else {
+ messageLiveData.postValue(stringResultData.getMsg());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+
+ /**
+ * 涓婁紶鐢靛瓙鏂囦欢
+ */
+ public void uploadFile(File file) {
+ RequestBody requestBody = RequestBody.create(MediaType.parse("multipart/form-data"), file);
+ MultipartBody.Part body = MultipartBody.Part.createFormData("uploadFile", file.getName(), requestBody);
+ model.uploadFile(body)
+ .compose(RxUtils.schedulersTransformer())
+ .subscribe(new Observer<ResultData<UploadFileResponseBean>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<UploadFileResponseBean> resultData) {
+ if (resultData.getCode() == CODE_SUCCESS){
+ CleanStorageBean bean = beanLiveData.getValue();
+ String url;
+ if (bean != null){
+ url = bean.getUrl();
+ if (url == null){
+ url = resultData.getData().getUrl();
+ }else {
+ url = url + "," + resultData.getData().getUrl();
+ }
+ bean.setUrl(url);
+ beanLiveData.postValue(bean);
+ }
+ }else {
+ messageLiveData.postValue(resultData.getMsg());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+
+ public MutableLiveData<Boolean> getTypeLiveData() {
+ if (typeLiveData == null){
+ typeLiveData = new MutableLiveData<>();
+ }
+ return typeLiveData;
+ }
+
+ public void setTypeLiveData(MutableLiveData<Boolean> typeLiveData) {
+ this.typeLiveData = typeLiveData;
+ }
public MutableLiveData<CleanStorageBean> getBeanLiveData() {
if (beanLiveData == null) {
beanLiveData = new MutableLiveData<>();
}
+ if (beanLiveData.getValue() == null){
+ beanLiveData.setValue(new CleanStorageBean());
+ }
return beanLiveData;
}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/ContactsActivity.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/ContactsActivity.java
index e47ded6..9d5349d 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/ui/function/ContactsActivity.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/ContactsActivity.java
@@ -1,5 +1,6 @@
package com.application.zhangshi_app_android.ui.function;
import android.graphics.drawable.ColorDrawable;
+import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.widget.PopupWindow;
@@ -8,6 +9,7 @@
import androidx.lifecycle.Observer;
import com.android.app_base.utils.ScreenSizeUtils;
+import com.android.app_base.utils.Utils;
import com.android.app_base.widget.LinearItemDecoration;
import com.application.zhangshi_app_android.R;
@@ -31,6 +33,8 @@
public class ContactsActivity extends DLBaseActivity<ActivityContactsBinding,ContactsActivityViewModel> {
private ContactsRvAdapter adapter;
private PopupWindow mOperatePopupWindow;
+ private boolean isSearchLayoutVisible;
+
@Override
public int getLayoutId() {
return R.layout.activity_contacts;
@@ -48,6 +52,14 @@
@Override
public void initView() {
+ //涓嬫媺鍒锋柊甯冨眬
+ binding.refreshLayout.setEnableRefresh(false);
+ binding.refreshLayout.setEnableLoadMore(true);
+ binding.refreshLayout.setEnableOverScrollDrag(true);
+ binding.refreshLayout.setOnLoadMoreListener(refreshLayout -> {
+ viewModel.loadMoreContacts();
+ });
+ //recyclerView閫傞厤鍣�
adapter = new ContactsRvAdapter(this);
LinearItemDecoration itemDecoration = new LinearItemDecoration();
itemDecoration.setBottomSpace((int) getResources().getDimension(com.android.app_base.R.dimen.dp_12));
@@ -55,12 +67,58 @@
itemDecoration.setFirstTop((int) getResources().getDimension(com.android.app_base.R.dimen.dp_20));
binding.recyclerView.addItemDecoration(itemDecoration);
binding.recyclerView.setAdapter(adapter);
-
+ //鍙充笂瑙掓搷浣滃脊绐�
mOperatePopupWindow = initPopUpWindow(View.inflate(this,R.layout.pop_contacts_import,null));
-
+ mOperatePopupWindow.getContentView().findViewById(R.id.layout_contacts_import).setOnClickListener(v -> {
+ mOperatePopupWindow.dismiss();
+ //TODO 瀵煎叆閫氳褰�
+ });
+ //鐐瑰嚮寮瑰嚭鎿嶄綔寮圭獥
binding.ivOperate.setOnClickListener(v -> {
mOperatePopupWindow.showAsDropDown(binding.ivOperate,-ScreenSizeUtils.dip2px(this,85) +binding.ivOperate.getWidth(),0);
});
+ //鐐瑰嚮鏀惧ぇ闀滄寜閽樉绀哄嚭鎼滅储妗�
+ binding.ivSearchDefault.setOnClickListener(v -> {
+ binding.layoutSearch.setVisibility(View.VISIBLE);
+ binding.layoutDefault.setVisibility(View.GONE);
+ });
+ //鐐瑰嚮鎼滅储妗嗚彍鍗曚笅鎷夊嚭 鎼滅储鍙傛暟
+ binding.ivSearchType.setOnClickListener(v -> {
+ if (!isSearchLayoutVisible){
+ binding.layoutSearchParameter.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED);
+ int targetHeight = binding.layoutSearchParameter.getMeasuredHeight();
+ Utils.dropExpand(binding.containerSearchParameter,0, targetHeight);
+ isSearchLayoutVisible = true;
+ }
+ });
+ //鎼滅储鍙傛暟layout娣诲姞绌虹偣鍑讳簨浠讹紝闃叉鐐瑰嚮瀹冨唴閮╲iew鏃跺畠鍚庨潰鐨剅ecycler杩樿兘鍝嶅簲鐐瑰嚮浜嬩欢
+ binding.layoutSearchParameter.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ }
+ });
+ //鐐瑰嚮鎼滅储鎸夐挳杩涜鎼滅储
+ binding.ivSearch.setOnClickListener(v -> {
+ viewModel.getContacts();
+ binding.layoutSearch.setVisibility(View.GONE);
+ binding.layoutDefault.setVisibility(View.VISIBLE);
+ binding.tvTitle.setText("鎼滅储缁撴灉");
+ hideSoftKeyboard();
+ });
+ }
+
+ @Override
+ public boolean dispatchTouchEvent(MotionEvent event) {
+ float x = event.getX();
+ float y = event.getY();
+ if (isSearchLayoutVisible){
+ if (!Utils.isPointInsideView(x, y, binding.layoutSearchParameter)) {
+ Utils.pullCollapse(binding.containerSearchParameter, binding.layoutSearchParameter.getMeasuredHeight(),0);
+ isSearchLayoutVisible = false;
+ return true;
+ }
+ }
+ return super.dispatchTouchEvent(event);
}
@Override
@@ -91,13 +149,59 @@
}
adapter.setData(list);
});
+ viewModel.getMoreListLiveData().observe(this, list -> {
+ //宸茬粡鏈夊悕瀛楃殑,鐩存帴娣诲姞鍒板搴旂殑鍚嶅瓧涓嬮潰
+ //娌℃湁鍚嶅瓧鐨�,鏂板缓涓�涓悕瀛�,娣诲姞鍒板搴旂殑鍚嶅瓧涓嬮潰
+ List<ContactsBean> data = adapter.getData();
+ List<ContactsDetailBean> newData = new ArrayList<>();
+ Set<String> maNames = new HashSet<>();
+ for (ContactsDetailBean contactsDetailBean : list) {
+ boolean isAdd = false;
+ for (ContactsBean bean : data) {
+ if (contactsDetailBean.getMyName().equals(bean.getMyName())) {
+ bean.getContactsDetailBeans().add(contactsDetailBean);
+ isAdd = true;
+ break;
+ }
+ }
+ if (!isAdd) {
+ maNames.add(contactsDetailBean.getMyName());
+ newData.add(contactsDetailBean);
+ }
+ }
+ for (String name : maNames) {
+ ContactsBean bean = new ContactsBean();
+ bean.setMyName(name);
+ List<ContactsDetailBean> detailBeans = new ArrayList<>();
+ for (ContactsDetailBean detailBean : list) {
+ if (name.equals(detailBean.getMyName())) {
+ detailBeans.add(detailBean);
+ }
+ }
+ bean.setContactsDetailBeans(detailBeans);
+ adapter.addItem(bean);
+ }
+ });
}
@Override
- public void onClick(View v) {
- super.onClick(v);
- if (v.getId() == R.id.layout_contacts_import){
- mOperatePopupWindow.dismiss();
- }
+ protected void dataNull() {
+ super.dataNull();
+ binding.layoutDataNull.setVisibility(View.VISIBLE);
+ binding.refreshLayout.setVisibility(View.GONE);
+ }
+
+ @Override
+ protected void dataFinish() {
+ super.dataFinish();
+ binding.refreshLayout.finishLoadMore();
+ }
+
+ @Override
+ protected void hide() {
+ super.hide();
+ binding.layoutDataNull.setVisibility(View.GONE);
+ binding.refreshLayout.setVisibility(View.VISIBLE);
+ binding.refreshLayout.finishLoadMore();
}
}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/ContactsActivityViewModel.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/ContactsActivityViewModel.java
index 3f2c5b4..6857a58 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/ui/function/ContactsActivityViewModel.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/ContactsActivityViewModel.java
@@ -15,14 +15,14 @@
import com.application.zhangshi_app_android.bean.ContactsDetailBean;
import com.application.zhangshi_app_android.bean.ContactsRequestBean;
-import com.application.zhangshi_app_android.bean.ContactsResponseBean;
+import com.application.zhangshi_app_android.bean.PageResponseBean;
import com.application.zhangshi_app_android.data.DataRepository;
-import java.util.HashMap;
import java.util.List;
import io.reactivex.Observer;
import io.reactivex.disposables.Disposable;
+import io.reactivex.functions.Action;
/**
* @author Gss
@@ -33,6 +33,7 @@
private MutableLiveData<ContactsRequestBean> requestBeanLiveData;//璇锋眰鍙傛暟
private MutableLiveData<List<ContactsDetailBean>> dataListLiveData;//鎵�鏈夋暟鎹�
+ private MutableLiveData<List<ContactsDetailBean>> moreListLiveData;//鍔犺浇鏇村鏁版嵁
public ContactsActivityViewModel(@NonNull Application application) {
@@ -44,21 +45,24 @@
return DataRepository.getInstance();
}
-
+ /**
+ * 鑾峰彇閫氳褰�
+ */
public void getContacts(){
if (getRequestBeanLiveData().getValue() == null){
getRequestBeanLiveData().setValue(new ContactsRequestBean());
}
+ getRequestBeanLiveData().getValue().setPageNum(1);
model.getContacts(getRequestBeanLiveData().getValue().toMap())
.compose(RxUtils.schedulersTransformer())
- .subscribe(new Observer<ResultData<ContactsResponseBean>>() {
+ .subscribe(new Observer<ResultData<PageResponseBean<ContactsDetailBean>>>() {
@Override
public void onSubscribe(Disposable d) {
addSubscribe(d);
}
@Override
- public void onNext(ResultData<ContactsResponseBean> data) {
+ public void onNext(ResultData<PageResponseBean<ContactsDetailBean>> data) {
if (data.getCode() == CODE_SUCCESS){
if (data.getData().getData().isEmpty()){
changeStateView(StateViewEnum.DATA_NULL);
@@ -83,6 +87,53 @@
});
}
+ /**
+ * 鍔犺浇鏇村
+ */
+ public void loadMoreContacts(){
+ if (getRequestBeanLiveData().getValue() == null){
+ getRequestBeanLiveData().setValue(new ContactsRequestBean());
+ }
+ getRequestBeanLiveData().getValue().setPageNum(getRequestBeanLiveData().getValue().getPageNum() + 1);
+ model.getContacts(getRequestBeanLiveData().getValue().toMap())
+ .compose(RxUtils.schedulersTransformer())
+ .doFinally(new Action() {
+ @Override
+ public void run() throws Exception {
+ changeStateView(StateViewEnum.DATA_FINISH);
+ }
+ })
+ .subscribe(new Observer<ResultData<PageResponseBean<ContactsDetailBean>>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<PageResponseBean<ContactsDetailBean>> 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());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
public MutableLiveData<List<ContactsDetailBean>> getDataListLiveData() {
@@ -104,6 +155,17 @@
return requestBeanLiveData;
}
+ public MutableLiveData<List<ContactsDetailBean>> getMoreListLiveData() {
+ if (moreListLiveData == null){
+ moreListLiveData = new MutableLiveData<>();
+ }
+ return moreListLiveData;
+ }
+
+ public void setMoreListLiveData(MutableLiveData<List<ContactsDetailBean>> moreListLiveData) {
+ this.moreListLiveData = moreListLiveData;
+ }
+
public void setRequestBeanLiveData(MutableLiveData<ContactsRequestBean> requestBeanLiveData) {
this.requestBeanLiveData = requestBeanLiveData;
}
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 4db7449..2951379 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
@@ -1,23 +1,28 @@
package com.application.zhangshi_app_android.ui.function;
-import android.graphics.drawable.ColorDrawable;
+import android.text.Editable;
+import android.text.TextUtils;
+import android.text.TextWatcher;
+import android.view.MotionEvent;
import android.view.View;
-import android.view.ViewGroup;
import android.widget.PopupWindow;
import androidx.databinding.library.baseAdapters.BR;
import com.android.app_base.utils.ScreenSizeUtils;
+import com.android.app_base.utils.Utils;
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.databinding.ActivityFamilyAssetsBinding;
import com.application.zhangshi_app_android.ui.DLBaseActivity;
+import com.github.gzuliyujiang.wheelpicker.DatePicker;
+import com.github.gzuliyujiang.wheelpicker.contract.OnDatePickedListener;
/**
* @author Ljj
* @date 2023.04.03. 19:40
- * @desc
+ * @desc 瀹跺涵璧勪骇
*/
public class FamilyAssetsActivity extends DLBaseActivity<ActivityFamilyAssetsBinding,FamilyAssetsActivityViewModel> {
@@ -25,6 +30,7 @@
private FamilyAssetsRvAdapter adapter;
private PopupWindow mOperatePopupWindow;
+ private boolean isSearchLayoutVisible;
@Override
public int getLayoutId() {
@@ -43,13 +49,14 @@
@Override
public void initView() {
+ //涓嬫媺鍒锋柊甯冨眬
binding.refreshLayout.setEnableRefresh(false);
binding.refreshLayout.setEnableLoadMore(true);
binding.refreshLayout.setEnableOverScrollDrag(true);
binding.refreshLayout.setOnLoadMoreListener(refreshLayout -> {
-// viewModel.getMoreFamilyMemorabilia();
+ viewModel.loadMoreFamilyAssets();
});
-
+ //recyclerView閫傞厤鍣�
adapter = new FamilyAssetsRvAdapter(this);
LinearItemDecoration itemDecoration = new LinearItemDecoration();
itemDecoration.setBottomSpace((int) getResources().getDimension(com.android.app_base.R.dimen.dp_12));
@@ -57,7 +64,7 @@
itemDecoration.setFirstTop((int) getResources().getDimension(com.android.app_base.R.dimen.dp_20));
binding.recyclerView.addItemDecoration(itemDecoration);
binding.recyclerView.setAdapter(adapter);
-
+ //鍙充笂瑙掓搷浣滃脊绐�
mOperatePopupWindow = initPopUpWindow(View.inflate(this,R.layout.pop_operate,null));
mOperatePopupWindow.getContentView().findViewById(R.id.layout_add).setVisibility(View.GONE);
mOperatePopupWindow.getContentView().findViewById(R.id.layout_select).setVisibility(View.GONE);
@@ -69,10 +76,163 @@
viewModel.sortDataList(1);
mOperatePopupWindow.dismiss();
});
+ //鐐瑰嚮寮瑰嚭鎿嶄綔寮圭獥
binding.ivOperate.setOnClickListener(v -> {
mOperatePopupWindow.showAsDropDown(binding.ivOperate,-ScreenSizeUtils.dip2px(this,85) +binding.ivOperate.getWidth(),0);
});
+ //鐐瑰嚮鏀惧ぇ闀滄寜閽樉绀哄嚭鎼滅储妗�
+ binding.ivSearchDefault.setOnClickListener(v -> {
+ binding.layoutSearch.setVisibility(View.VISIBLE);
+ binding.layoutDefault.setVisibility(View.GONE);
+ });
+ //鐐瑰嚮鎼滅储妗嗚彍鍗曚笅鎷夊嚭 鎼滅储鍙傛暟
+ binding.ivSearchType.setOnClickListener(v -> {
+ if (!isSearchLayoutVisible){
+ binding.layoutSearchParameter.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED);
+ int targetHeight = binding.layoutSearchParameter.getMeasuredHeight();
+ Utils.dropExpand(binding.containerSearchParameter,0, targetHeight);
+ isSearchLayoutVisible = true;
+ }
+ });
+ //鎼滅储鍙傛暟layout娣诲姞绌虹偣鍑讳簨浠讹紝闃叉鐐瑰嚮瀹冨唴閮╲iew鏃跺畠鍚庨潰鐨剅ecycler杩樿兘鍝嶅簲鐐瑰嚮浜嬩欢
+ binding.layoutSearchParameter.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ }
+ });
+ //鐐瑰嚮鎼滅储鎸夐挳杩涜鎼滅储
+ binding.ivSearch.setOnClickListener(v -> {
+ viewModel.getFamilyAssets();
+ binding.layoutSearch.setVisibility(View.GONE);
+ binding.layoutDefault.setVisibility(View.VISIBLE);
+ binding.tvTitle.setText("鎼滅储缁撴灉");
+ hideSoftKeyboard();
+ });
+
+ binding.etStartTime.addTextChangedListener(new TextWatcher() {
+ @Override
+ public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+ }
+
+ @Override
+ public void onTextChanged(CharSequence s, int start, int before, int count) {
+ if (!TextUtils.isEmpty(s)) {
+ binding.ivTimeClear.setVisibility(View.VISIBLE);
+ } else {
+ if (TextUtils.isEmpty(binding.etEndTime.getText().toString())) {
+ binding.ivTimeClear.setVisibility(View.INVISIBLE);
+ }
+ }
+ }
+
+ @Override
+ public void afterTextChanged(Editable s) {
+
+ }
+ });
+ binding.etEndTime.addTextChangedListener(new TextWatcher() {
+ @Override
+ public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+ }
+
+ @Override
+ public void onTextChanged(CharSequence s, int start, int before, int count) {
+ if (!TextUtils.isEmpty(s)) {
+ binding.ivTimeClear.setVisibility(View.VISIBLE);
+ } else {
+ if (TextUtils.isEmpty(binding.etStartTime.getText().toString())) {
+ binding.ivTimeClear.setVisibility(View.INVISIBLE);
+ }
+ }
+ }
+
+ @Override
+ public void afterTextChanged(Editable s) {
+
+ }
+ });
+ binding.etStartTime.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ hideSoftKeyboard();
+ DatePicker datePicker = getDatePicker();
+ datePicker.setTitle("璇烽�夋嫨寮�濮嬫椂闂�");
+ datePicker.setOnDatePickedListener(new OnDatePickedListener() {
+ @Override
+ public void onDatePicked(int year, int month, int day) {
+ //浠yyy-MM-dd鐨勬牸寮忔樉绀猴紝鏈堟棩灏忎簬10鏃跺墠闈㈣ˉ0
+ binding.etStartTime.setText(String.format("%d-%02d-%02d", year, month, day));
+ if (binding.etEndTime.getText().toString().isEmpty()){
+ binding.etEndTime.setText(String.format("%d-%02d-%02d", year, month, day));
+ }else {
+ //姣旇緝寮�濮嬫椂闂村拰缁撴潫鏃堕棿鐨勫ぇ灏�
+ String startTime = binding.etStartTime.getText().toString();
+ String endTime = binding.etEndTime.getText().toString();
+ if (Utils.compareDate(startTime,endTime) > 0){
+ //浜ゆ崲
+ binding.etStartTime.setText(endTime);
+ binding.etEndTime.setText(startTime);
+ }
+ }
+ }
+ });
+ datePicker.show();
+ }
+ });
+ binding.etEndTime.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ hideSoftKeyboard();
+ DatePicker datePicker = getDatePicker();
+ datePicker.setTitle("璇烽�夋嫨缁撴潫鏃堕棿");
+ datePicker.setOnDatePickedListener(new OnDatePickedListener() {
+ @Override
+ public void onDatePicked(int year, int month, int day) {
+ binding.etEndTime.setText(String.format("%d-%02d-%02d", year, month, day));
+ if (binding.etStartTime.getText().toString().isEmpty()){
+ binding.etStartTime.setText(String.format("%d-%02d-%02d", year, month, day));
+ }else {
+ //姣旇緝寮�濮嬫椂闂村拰缁撴潫鏃堕棿鐨勫ぇ灏�
+ String startTime = binding.etStartTime.getText().toString();
+ String endTime = binding.etEndTime.getText().toString();
+ if (Utils.compareDate(startTime,endTime) > 0){
+ //浜ゆ崲
+ binding.etStartTime.setText(endTime);
+ binding.etEndTime.setText(startTime);
+ }
+ }
+ }
+ });
+ datePicker.show();
+ }
+ });
+ binding.ivTimeClear.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ binding.etStartTime.setText("");
+ binding.etEndTime.setText("");
+ }
+ });
+
}
+
+
+ @Override
+ public boolean dispatchTouchEvent(MotionEvent event) {
+ float x = event.getX();
+ float y = event.getY();
+ if (isSearchLayoutVisible){
+ if (!Utils.isPointInsideView(x, y, binding.layoutSearchParameter)) {
+ Utils.pullCollapse(binding.containerSearchParameter, binding.layoutSearchParameter.getMeasuredHeight(),0);
+ isSearchLayoutVisible = false;
+ return true;
+ }
+ }
+ return super.dispatchTouchEvent(event);
+ }
+
+
+
@Override
public void initData() {
@@ -81,27 +241,33 @@
@Override
public void initLiveDataObserve() {
- viewModel.getDataListLiveData().observe(this, familyAssetsBeans -> {
- adapter.setData(familyAssetsBeans);
+ viewModel.getDataListLiveData().observe(this, list -> {
+ adapter.setData(list);
+ });
+ viewModel.getMoreListLiveData().observe(this, list -> {
+ adapter.addData(list);
});
}
- public PopupWindow initPopUpWindow(View view){
- PopupWindow popupWindow = new PopupWindow(this);
- // 璁剧疆甯冨眬鏂囦欢
- popupWindow.setContentView(view);
- // 涓轰簡閬垮厤閮ㄥ垎鏈哄瀷涓嶆樉绀猴紝闇�瑕侀噸鏂拌缃竴涓嬪楂�
- popupWindow.setWidth(ViewGroup.LayoutParams.WRAP_CONTENT);
- popupWindow.setHeight(ViewGroup.LayoutParams.WRAP_CONTENT);
- // 璁剧疆pop閫忔槑鏁堟灉
- popupWindow.setBackgroundDrawable(new ColorDrawable(0x0000));
- // 璁剧疆pop鍑哄叆鍔ㄧ敾
- popupWindow.setAnimationStyle(com.android.app_base.R.style.pop_operate);
- // 璁剧疆pop鑾峰彇鐒︾偣锛屽鏋滀负false鐐瑰嚮杩斿洖鎸夐挳浼氶��鍑哄綋鍓岮ctivity锛屽鏋減op涓湁Editor鐨勮瘽锛宖ocusable蹇呴』瑕佷负true
- popupWindow.setFocusable(true);
- // 璁剧疆pop鍙偣鍑伙紝涓篺alse鐐瑰嚮浜嬩欢鏃犳晥锛岄粯璁や负true
- popupWindow.setTouchable(true);
- // 璁剧疆鐐瑰嚮pop澶栦晶娑堝け锛岄粯璁や负false锛涘湪focusable涓簍rue鏃剁偣鍑诲渚у缁堟秷澶�
- popupWindow.setOutsideTouchable(false);
- return popupWindow;
+
+ @Override
+ protected void dataNull() {
+ super.dataNull();
+ binding.layoutDataNull.setVisibility(View.VISIBLE);
+ binding.refreshLayout.setVisibility(View.GONE);
}
+
+ @Override
+ protected void dataFinish() {
+ super.dataFinish();
+ binding.refreshLayout.finishLoadMore();
+ }
+
+ @Override
+ protected void hide() {
+ super.hide();
+ binding.layoutDataNull.setVisibility(View.GONE);
+ binding.refreshLayout.setVisibility(View.VISIBLE);
+ binding.refreshLayout.finishLoadMore();
+ }
+
}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/FamilyAssetsActivityViewModel.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/FamilyAssetsActivityViewModel.java
index 9dfd101..23811e1 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/ui/function/FamilyAssetsActivityViewModel.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/FamilyAssetsActivityViewModel.java
@@ -3,6 +3,7 @@
import static com.android.app_base.base.BaseConfig.CODE_SUCCESS;
import android.app.Application;
+import android.text.TextUtils;
import androidx.annotation.NonNull;
import androidx.lifecycle.MutableLiveData;
@@ -12,21 +13,18 @@
import com.android.app_base.base.viewmodel.BaseViewModel;
import com.android.app_base.http.ResultData;
import com.android.app_base.utils.RxUtils;
+import com.android.app_base.utils.Utils;
import com.application.zhangshi_app_android.bean.FamilyAssetsBean;
-import com.application.zhangshi_app_android.bean.FamilyAssetsResponseBean;
-import com.application.zhangshi_app_android.bean.FamilyMemorabiliaBean;
-import com.application.zhangshi_app_android.bean.HomeDevicesBean;
+import com.application.zhangshi_app_android.bean.FamilyAssetsRequestBean;
+import com.application.zhangshi_app_android.bean.PageResponseBean;
import com.application.zhangshi_app_android.data.DataRepository;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.Comparator;
import java.util.Date;
-import java.util.HashMap;
import java.util.List;
import io.reactivex.Observer;
import io.reactivex.disposables.Disposable;
+import io.reactivex.functions.Action;
/**
* @author Ljj
@@ -34,10 +32,10 @@
* @desc
*/
public class FamilyAssetsActivityViewModel extends BaseViewModel<DataRepository> {
-
- private MutableLiveData<List<FamilyAssetsBean>> checkListLiveData;//閫変腑鐨勬暟鎹�
private MutableLiveData<List<FamilyAssetsBean>> dataListLiveData;//鎵�鏈夋暟鎹�
+ private MutableLiveData<List<FamilyAssetsBean>> moreListLiveData;//鍔犺浇鏇村鏁版嵁
+ private MutableLiveData<FamilyAssetsRequestBean> requestBeanLiveData;//璇锋眰鍙傛暟
public FamilyAssetsActivityViewModel(@NonNull Application application) {
super(application);
@@ -49,17 +47,24 @@
}
+ /**
+ * 鑾峰彇瀹跺涵璧勪骇
+ */
public void getFamilyAssets(){
- model.getFamilyAssets(new HashMap<>())
+ if (getRequestBeanLiveData().getValue() == null){
+ getRequestBeanLiveData().setValue(new FamilyAssetsRequestBean());
+ }
+ getRequestBeanLiveData().getValue().setPageNum(1);
+ model.getFamilyAssets(getRequestBeanLiveData().getValue().toMap())
.compose(RxUtils.schedulersTransformer())
- .subscribe(new Observer<ResultData<FamilyAssetsResponseBean>>() {
+ .subscribe(new Observer<ResultData<PageResponseBean<FamilyAssetsBean>>>() {
@Override
public void onSubscribe(Disposable d) {
addSubscribe(d);
}
@Override
- public void onNext(ResultData<FamilyAssetsResponseBean> data) {
+ public void onNext(ResultData<PageResponseBean<FamilyAssetsBean>> data) {
if (data.getCode() == CODE_SUCCESS){
if (data.getData().getData().isEmpty()){
changeStateView(StateViewEnum.DATA_NULL);
@@ -84,13 +89,54 @@
});
}
- public MutableLiveData<List<FamilyAssetsBean>> getCheckListLiveData() {
- return checkListLiveData;
+ /**
+ * 鍔犺浇鏇村
+ */
+ public void loadMoreFamilyAssets(){
+ if (getRequestBeanLiveData().getValue() == null){
+ getRequestBeanLiveData().setValue(new FamilyAssetsRequestBean());
+ }
+ getRequestBeanLiveData().getValue().setPageNum(getRequestBeanLiveData().getValue().getPageNum() + 1);
+ model.getFamilyAssets(getRequestBeanLiveData().getValue().toMap())
+ .compose(RxUtils.schedulersTransformer())
+ .doFinally(new Action() {
+ @Override
+ public void run() throws Exception {
+ changeStateView(StateViewEnum.DATA_FINISH);
+ }
+ })
+ .subscribe(new Observer<ResultData<PageResponseBean<FamilyAssetsBean>>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<PageResponseBean<FamilyAssetsBean>> 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());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
}
- public void setCheckListLiveData(MutableLiveData<List<FamilyAssetsBean>> checkListLiveData) {
- this.checkListLiveData = checkListLiveData;
- }
public MutableLiveData<List<FamilyAssetsBean>> getDataListLiveData() {
if (dataListLiveData == null){
@@ -99,8 +145,33 @@
return dataListLiveData;
}
+ public MutableLiveData<FamilyAssetsRequestBean> getRequestBeanLiveData() {
+ if (requestBeanLiveData == null){
+ requestBeanLiveData = new MutableLiveData<>();
+ }
+ if (requestBeanLiveData.getValue() == null){
+ requestBeanLiveData.setValue(new FamilyAssetsRequestBean());
+ }
+ return requestBeanLiveData;
+ }
+
+ public void setRequestBeanLiveData(MutableLiveData<FamilyAssetsRequestBean> requestBeanLiveData) {
+ this.requestBeanLiveData = requestBeanLiveData;
+ }
+
public void setDataListLiveData(MutableLiveData<List<FamilyAssetsBean>> dataListLiveData) {
this.dataListLiveData = dataListLiveData;
+ }
+
+ public MutableLiveData<List<FamilyAssetsBean>> getMoreListLiveData() {
+ if (moreListLiveData == null){
+ moreListLiveData = new MutableLiveData<>();
+ }
+ return moreListLiveData;
+ }
+
+ public void setMoreListLiveData(MutableLiveData<List<FamilyAssetsBean>> moreListLiveData) {
+ this.moreListLiveData = moreListLiveData;
}
public void sortDataList(int type){
@@ -108,29 +179,48 @@
if (list == null || list.isEmpty()){
return;
}
-
- list.sort(new Comparator<FamilyAssetsBean>() {
- @Override
- public int compare(FamilyAssetsBean o1, FamilyAssetsBean o2) {
- SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd", java.util.Locale.getDefault());
- Date date1 = null;
- Date date2 = null;
- try {
- date1 = format.parse(o1.getCreateTime());
- date2 = format.parse(o2.getCreateTime());
- } catch (ParseException e) {
- throw new RuntimeException(e);
- }
- if (date1 != null && date2 != null) {
- if (type == 0){
+ System.out.println(dataListLiveData.getValue().size());
+ if (type == 0) {
+ // 浠庢柊鍒版棫锛宯ull鎺掓渶鍚�
+ list.sort((o1, o2) -> {
+ String happenTime1 = o1.getHappenTime();
+ String happenTime2 = o2.getHappenTime();
+ if (TextUtils.isEmpty(happenTime1) && TextUtils.isEmpty(happenTime2)) {
+ return 0;
+ } else if (TextUtils.isEmpty(happenTime1)) {
+ return 1;
+ } else if (TextUtils.isEmpty(happenTime2)) {
+ return -1;
+ } else {
+ Date date1 = Utils.parseDate(happenTime1);
+ Date date2 = Utils.parseDate(happenTime2);
+ if (date1 != null && date2 != null) {
return date2.compareTo(date1);
- }else {
+ }
+ return 0;
+ }
+ });
+ } else if (type == 1) {
+ // 浠庢棫鍒版柊锛宯ull鎺掓渶鍓�
+ list.sort((o1, o2) -> {
+ String happenTime1 = o1.getHappenTime();
+ String happenTime2 = o2.getHappenTime();
+ if (TextUtils.isEmpty(happenTime1) && TextUtils.isEmpty(happenTime2)) {
+ return 0;
+ } else if (TextUtils.isEmpty(happenTime1)) {
+ return -1;
+ } else if (TextUtils.isEmpty(happenTime2)) {
+ return 1;
+ } else {
+ Date date1 = Utils.parseDate(happenTime1);
+ Date date2 = Utils.parseDate(happenTime2);
+ if (date1 != null && date2 != null) {
return date1.compareTo(date2);
}
+ return 0;
}
- return 0;
- }
- });
+ });
+ }
dataListLiveData.postValue(list);
}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/FamilyAssetsDetailActivity.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/FamilyAssetsDetailActivity.java
index cf1c034..814648d 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/ui/function/FamilyAssetsDetailActivity.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/FamilyAssetsDetailActivity.java
@@ -6,9 +6,13 @@
import androidx.recyclerview.widget.GridLayoutManager;
+import com.android.app_base.utils.ScreenSizeUtils;
+import com.android.app_base.utils.Utils;
+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.ImageRvAdapter;
+import com.application.zhangshi_app_android.adapter.MemoRvAdapter;
import com.application.zhangshi_app_android.bean.FamilyAssetsBean;
import com.application.zhangshi_app_android.databinding.ActivityFamilyAssetsDetailBinding;
import com.application.zhangshi_app_android.ui.DLBaseActivity;
@@ -24,7 +28,7 @@
*/
public class FamilyAssetsDetailActivity extends DLBaseActivity<ActivityFamilyAssetsDetailBinding,FamilyAssetsDetailActivityViewModel> {
private ImageRvAdapter adapter;
-
+ private MemoRvAdapter memoRvAdapter;
@Override
public int getLayoutId() {
@@ -49,34 +53,32 @@
GridLayoutManager gridLayoutManager = new GridLayoutManager(this, 3);
binding.rvImage.setLayoutManager(gridLayoutManager);
binding.rvImage.setNestedScrollingEnabled(false);
+ binding.rvImage.setAdapter(adapter);
+
+ memoRvAdapter = new MemoRvAdapter(this);
+ LinearItemDecoration itemDecoration = new LinearItemDecoration();
+ itemDecoration.setBottomSpace(ScreenSizeUtils.dip2px(this, 15));
+ binding.rvMemo.addItemDecoration(itemDecoration);
+ binding.rvMemo.setAdapter(memoRvAdapter);
+
setIsEdited(false);
}
@Override
public void initData() {
-
+ viewModel.getMemos();
}
@Override
public void initLiveDataObserve() {
viewModel.getBeanLiveData().observe(this,bean -> {
if (bean!=null){
- if (getTitleBar() != null){
- getTitleBar().setTitle(bean.getHolder() + "鐨�" + bean.getType());
- }
- 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);
+ adapter.setData(Utils.splitString2List(bean.getUrl(),","));
+ }
+ });
+ viewModel.getMemoListLiveData().observe(this, memoBeans -> {
+ if (memoBeans!=null){
+ memoRvAdapter.setData(memoBeans);
}
});
}
@@ -84,6 +86,7 @@
public void setIsEdited(boolean isEdited){
disableAllEditText(getContentView(),isEdited);
adapter.setIsEdited(isEdited);
+ memoRvAdapter.setEdited(isEdited);
}
public void disableAllEditText(ViewGroup viewGroup, boolean isEdited) {
for (int i = 0; i < viewGroup.getChildCount(); i++) {
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/FamilyAssetsDetailActivityViewModel.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/FamilyAssetsDetailActivityViewModel.java
index 9eded93..9f9717f 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/ui/function/FamilyAssetsDetailActivityViewModel.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/FamilyAssetsDetailActivityViewModel.java
@@ -1,14 +1,27 @@
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.BaseConfig;
+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.CaptchaImageBean;
import com.application.zhangshi_app_android.bean.FamilyAssetsBean;
+import com.application.zhangshi_app_android.bean.MemoBean;
+import com.application.zhangshi_app_android.bean.PageResponseBean;
import com.application.zhangshi_app_android.data.DataRepository;
+
+import java.util.List;
+
+import io.reactivex.Observer;
+import io.reactivex.disposables.Disposable;
/**
* @author Ljj
@@ -17,6 +30,7 @@
*/
public class FamilyAssetsDetailActivityViewModel extends BaseViewModel<DataRepository> {
private MutableLiveData<FamilyAssetsBean> beanLiveData;
+ private MutableLiveData<List<MemoBean>> memoListLiveData;
public MutableLiveData<FamilyAssetsBean> getBeanLiveData() {
if (beanLiveData == null){
@@ -33,10 +47,56 @@
super(application);
}
+ public MutableLiveData<List<MemoBean>> getMemoListLiveData() {
+ if (memoListLiveData == null){
+ memoListLiveData = new MutableLiveData<>();
+ }
+ return memoListLiveData;
+ }
+
+ public void setMemoListLiveData(MutableLiveData<List<MemoBean>> memoListLiveData) {
+ this.memoListLiveData = memoListLiveData;
+ }
+
@Override
protected DataRepository initModel() {
return DataRepository.getInstance();
}
+ /**
+ * 鑾峰彇澶囧繕褰�
+ */
+ public void getMemos() {
+ if (beanLiveData.getValue() == null) {
+ return;
+ }
+ model.getMemos(BaseConfig.MEMO_FID_FAMILY_ASSETS+"", String.valueOf(beanLiveData.getValue().getId()))
+ .compose(RxUtils.schedulersTransformer())
+ .subscribe(new Observer<ResultData<List<MemoBean>>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<List<MemoBean>> data) {
+ if (data.getCode() == CODE_SUCCESS){
+ memoListLiveData.postValue(data.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/FamilyMemorabiliaActivity.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/FamilyMemorabiliaActivity.java
index 2ef8c27..fce4d09 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,16 +1,13 @@
package com.application.zhangshi_app_android.ui.function;
import android.content.Intent;
-import android.graphics.drawable.ColorDrawable;
-import android.view.KeyEvent;
-import android.view.LayoutInflater;
+import android.text.Editable;
+import android.text.TextUtils;
+import android.text.TextWatcher;
+import android.view.MotionEvent;
import android.view.View;
-import android.view.ViewGroup;
-import android.view.inputmethod.EditorInfo;
import android.widget.PopupWindow;
-import android.widget.TextView;
-import androidx.databinding.DataBindingUtil;
import androidx.lifecycle.Observer;
import com.android.app_base.base.BaseConfig;
@@ -18,28 +15,34 @@
import com.android.app_base.base.dialog.UIDialog;
import com.android.app_base.manager.AppManager;
import com.android.app_base.utils.ScreenSizeUtils;
+import com.android.app_base.utils.Utils;
+import com.android.app_base.utils.rxbus.RxBus;
import com.android.app_base.widget.LinearItemDecoration;
import com.application.zhangshi_app_android.BR;
import com.application.zhangshi_app_android.R;
import com.application.zhangshi_app_android.adapter.FamilyMemorabiliaRvAdapter;
import com.application.zhangshi_app_android.bean.FamilyMemorabiliaBean;
import com.application.zhangshi_app_android.databinding.ActivityFamilyMemorabiliaBinding;
-import com.application.zhangshi_app_android.databinding.PopSearchBinding;
import com.application.zhangshi_app_android.ui.DLBaseActivity;
+import com.github.gzuliyujiang.wheelpicker.DatePicker;
+import com.github.gzuliyujiang.wheelpicker.contract.OnDatePickedListener;
+import java.util.Calendar;
import java.util.List;
+
+import io.reactivex.functions.Consumer;
/**
* @author Ljj
* @date 2023.03.18. 10:00
* @desc 瀹跺ぇ浜嬭 Activity
*/
-public class FamilyMemorabiliaActivity extends DLBaseActivity<ActivityFamilyMemorabiliaBinding,FamilyMemorabiliaActivityViewModel> {
+public class FamilyMemorabiliaActivity extends DLBaseActivity<ActivityFamilyMemorabiliaBinding,FamilyMemorabiliaActivityViewModel>{
FamilyMemorabiliaRvAdapter adapter;
private PopupWindow mOperatePopupWindow;
- private PopupWindow mSearchPopupWindow;
- private PopSearchBinding mSearchPopBinding;
+ private boolean isSearchLayoutVisible;
+ private int dateType; //0:寮�濮嬫椂闂� 1:缁撴潫鏃堕棿
@Override
public int getLayoutId() {
@@ -58,79 +61,166 @@
@Override
public void initView() {
+ //涓嬫媺鍒锋柊甯冨眬
binding.refreshLayout.setEnableRefresh(false);
binding.refreshLayout.setEnableLoadMore(true);
binding.refreshLayout.setEnableOverScrollDrag(true);
- binding.refreshLayout.setOnLoadMoreListener(refreshLayout -> {
+ binding.refreshLayout.setOnLoadMoreListener(refreshLayout -> {
viewModel.getMoreFamilyMemorabilia();
});
-
+ //recyclerView閫傞厤鍣�
adapter = new FamilyMemorabiliaRvAdapter(this,viewModel);
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);
-
- mSearchPopBinding = DataBindingUtil.inflate(LayoutInflater.from(this), R.layout.pop_search, null, false);
- mSearchPopBinding.setViewModel(viewModel);
- mSearchPopupWindow = initPopUpWindow(mSearchPopBinding.getRoot());
-
+ //鍙充笂瑙掓搷浣滃脊绐�
mOperatePopupWindow = initPopUpWindow(View.inflate(this,R.layout.pop_operate,null));
-
+ setOnClickListener(
+ mOperatePopupWindow.getContentView().findViewById(R.id.tv_add),
+ mOperatePopupWindow.getContentView().findViewById(R.id.tv_select),
+ mOperatePopupWindow.getContentView().findViewById(R.id.tv_from_new_to_old),
+ mOperatePopupWindow.getContentView().findViewById(R.id.tv_from_old_to_new)
+ );
+ //鐐瑰嚮鏀惧ぇ闀滄寜閽樉绀哄嚭鎼滅储妗�
binding.ivSearchDefault.setOnClickListener(v -> {
binding.layoutSearch.setVisibility(View.VISIBLE);
binding.layoutDefault.setVisibility(View.GONE);
});
-
+ //鐐瑰嚮鎼滅储妗嗚彍鍗曚笅鎷夊嚭 鎼滅储鍙傛暟
binding.ivSearchType.setOnClickListener(v -> {
- hideSoftKeyboard();
- mSearchPopupWindow.setWidth(binding.layoutSearch.getMeasuredWidth());
- mSearchPopupWindow.showAsDropDown(binding.layoutSearch,0,0);
- });
-
- binding.etSearch.setOnEditorActionListener(new TextView.OnEditorActionListener() {
- @Override
- public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
- if ((actionId == EditorInfo.IME_ACTION_UNSPECIFIED || actionId == EditorInfo.IME_ACTION_SEARCH)
- && event != null) {
- viewModel.getFamilyMemorabilia();
- binding.layoutSearch.setVisibility(View.GONE);
- binding.layoutDefault.setVisibility(View.VISIBLE);
- binding.tvTitle.setText("鎼滅储缁撴灉");
- hideSoftKeyboard();
- return true;
- }
- return false;
+ if (!isSearchLayoutVisible){
+ binding.layoutSearchParameter.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED);
+ int targetHeight = binding.layoutSearchParameter.getMeasuredHeight();
+ Utils.pullCollapse(binding.containerSearchParameter,0,targetHeight);
+ isSearchLayoutVisible = true;
}
});
+ //鎼滅储鍙傛暟layout娣诲姞绌虹偣鍑讳簨浠讹紝闃叉鐐瑰嚮瀹冨唴閮╲iew鏃跺畠鍚庨潰鐨剅ecycler杩樿兘鍝嶅簲鐐瑰嚮浜嬩欢
+ binding.layoutSearchParameter.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ }
+ });
+ //鐐瑰嚮鎼滅储鎸夐挳杩涜鎼滅储
binding.ivSearch.setOnClickListener(v -> {
viewModel.getFamilyMemorabilia();
binding.layoutSearch.setVisibility(View.GONE);
binding.layoutDefault.setVisibility(View.VISIBLE);
binding.tvTitle.setText("鎼滅储缁撴灉");
- mSearchPopupWindow.dismiss();
hideSoftKeyboard();
});
+ //鐐瑰嚮娣诲姞鎸夐挳璺宠浆鍒板垱寤哄澶т簨璁伴〉闈�
binding.fabAdd.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
- AppManager.getAppManager().startActivity(new Intent(getSelfActivity(),CreateFamilyProjectActivity.class).putExtra(BaseConfig.EXTRA_TYPE,1));
+ AppManager.getAppManager().startActivity(new Intent(getSelfActivity(), FamilyMemorabiliaDetailActivity.class).putExtra(BaseConfig.EXTRA_TYPE,1));
}
});
+ binding.etStartTime.addTextChangedListener(new TextWatcher() {
+ @Override
+ public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+ }
- setOnClickListener(
- mSearchPopupWindow.getContentView().findViewById(R.id.iv_clear_person),
- mSearchPopupWindow.getContentView().findViewById(R.id.iv_clear_place),
- mSearchPopupWindow.getContentView().findViewById(R.id.iv_clear_time),
- mSearchPopupWindow.getContentView().findViewById(R.id.iv_clear_title),
- mOperatePopupWindow.getContentView().findViewById(R.id.tv_add),
- mOperatePopupWindow.getContentView().findViewById(R.id.tv_select),
- mOperatePopupWindow.getContentView().findViewById(R.id.tv_from_new_to_old),
- mOperatePopupWindow.getContentView().findViewById(R.id.tv_from_old_to_new)
- );
+ @Override
+ public void onTextChanged(CharSequence s, int start, int before, int count) {
+ if (!TextUtils.isEmpty(s)) {
+ binding.ivTimeClear.setVisibility(View.VISIBLE);
+ } else {
+ if (TextUtils.isEmpty(binding.etEndTime.getText().toString())) {
+ binding.ivTimeClear.setVisibility(View.INVISIBLE);
+ }
+ }
+ }
+ @Override
+ public void afterTextChanged(Editable s) {
+
+ }
+ });
+ binding.etEndTime.addTextChangedListener(new TextWatcher() {
+ @Override
+ public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+ }
+
+ @Override
+ public void onTextChanged(CharSequence s, int start, int before, int count) {
+ if (!TextUtils.isEmpty(s)) {
+ binding.ivTimeClear.setVisibility(View.VISIBLE);
+ } else {
+ if (TextUtils.isEmpty(binding.etStartTime.getText().toString())) {
+ binding.ivTimeClear.setVisibility(View.INVISIBLE);
+ }
+ } }
+
+ @Override
+ public void afterTextChanged(Editable s) {
+
+ }
+ });
+ binding.etStartTime.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ hideSoftKeyboard();
+ DatePicker datePicker = getDatePicker();
+ datePicker.setTitle("璇烽�夋嫨寮�濮嬫椂闂�");
+ datePicker.setOnDatePickedListener(new OnDatePickedListener() {
+ @Override
+ public void onDatePicked(int year, int month, int day) {
+ //浠yyy-MM-dd鐨勬牸寮忔樉绀猴紝鏈堟棩灏忎簬10鏃跺墠闈㈣ˉ0
+ binding.etStartTime.setText(String.format("%d-%02d-%02d", year, month, day));
+ if (binding.etEndTime.getText().toString().isEmpty()){
+ binding.etEndTime.setText(String.format("%d-%02d-%02d", year, month, day));
+ }else {
+ //姣旇緝寮�濮嬫椂闂村拰缁撴潫鏃堕棿鐨勫ぇ灏�
+ String startTime = binding.etStartTime.getText().toString();
+ String endTime = binding.etEndTime.getText().toString();
+ if (Utils.compareDate(startTime,endTime) > 0){
+ //浜ゆ崲
+ binding.etStartTime.setText(endTime);
+ binding.etEndTime.setText(startTime);
+ }
+ }
+ }
+ });
+ datePicker.show();
+ }
+ });
+ binding.etEndTime.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ hideSoftKeyboard();
+ DatePicker datePicker = getDatePicker();
+ datePicker.setTitle("璇烽�夋嫨缁撴潫鏃堕棿");
+ datePicker.setOnDatePickedListener(new OnDatePickedListener() {
+ @Override
+ public void onDatePicked(int year, int month, int day) {
+ binding.etEndTime.setText(String.format("%d-%02d-%02d", year, month, day));
+ if (binding.etStartTime.getText().toString().isEmpty()){
+ binding.etStartTime.setText(String.format("%d-%02d-%02d", year, month, day));
+ }else {
+ //姣旇緝寮�濮嬫椂闂村拰缁撴潫鏃堕棿鐨勫ぇ灏�
+ String startTime = binding.etStartTime.getText().toString();
+ String endTime = binding.etEndTime.getText().toString();
+ if (Utils.compareDate(startTime,endTime) > 0){
+ //浜ゆ崲
+ binding.etStartTime.setText(endTime);
+ binding.etEndTime.setText(startTime);
+ }
+ }
+ }
+ });
+ datePicker.show();
+ }
+ });
+ binding.ivTimeClear.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ binding.etStartTime.setText("");
+ binding.etEndTime.setText("");
+ }
+ });
}
@Override
@@ -139,7 +229,27 @@
}
@Override
+ public boolean dispatchTouchEvent(MotionEvent event) {
+ float x = event.getX();
+ float y = event.getY();
+ if (isSearchLayoutVisible){
+ if (!Utils.isPointInsideView(x, y, binding.layoutSearchParameter)) {
+ Utils.pullCollapse(binding.containerSearchParameter, binding.layoutSearchParameter.getMeasuredHeight(),0);
+ isSearchLayoutVisible = false;
+ return true;
+ }
+ }
+ return super.dispatchTouchEvent(event);
+ }
+
+ @Override
public void initLiveDataObserve() {
+ viewModel.getDataListLiveData().observe(this, new Observer<List<FamilyMemorabiliaBean>>() {
+ @Override
+ public void onChanged(List<FamilyMemorabiliaBean> familyMemorabiliaBeans) {
+ adapter.setData(familyMemorabiliaBeans);
+ }
+ });
viewModel.getCheckListLiveData().observe(this, new Observer<List<FamilyMemorabiliaBean>>() {
@Override
public void onChanged(List<FamilyMemorabiliaBean> familyMemorabiliaBeans) {
@@ -151,12 +261,6 @@
}else{
viewModel.getOperateTypeLiveData().setValue(2);
}
- }
- });
- viewModel.getDataListLiveData().observe(this, new Observer<List<FamilyMemorabiliaBean>>() {
- @Override
- public void onChanged(List<FamilyMemorabiliaBean> familyMemorabiliaBeans) {
- adapter.setData(familyMemorabiliaBeans);
}
});
viewModel.getMoreListLiveData().observe(this, new Observer<List<FamilyMemorabiliaBean>>() {
@@ -182,48 +286,38 @@
binding.ivOperate.setBackgroundResource(R.drawable.ic_delete_white);
binding.ivOperate.setOnClickListener(v -> {
new UIDialog.Builder(this)
- .setTitle("鎮ㄧ‘瀹氳鍒犻櫎椤圭洰鍚�")
+ .setTitle("鎮ㄧ‘瀹氳鍒犻櫎閫変腑鐨勯」鐩悧")
.setContent("椤圭洰鍒犻櫎鍚庡皢鏃犳硶鎭㈠")
.setConfirm("纭畾")
.setCancel("鍙栨秷")
.setListener(new UIDialog.OnListener() {
@Override
public void onConfirm(BaseDialog dialog) {
- viewModel.delete();
+ viewModel.deleteCheckList();
}
})
.show();
});
}
});
+ viewModel.getFinishDeleteListLiveData().observe(this, beans -> {
+ for (FamilyMemorabiliaBean bean : beans) {
+ adapter.removeItem(bean);
+ }
+ });
+ //瑙傚療瀹跺ぇ浜嬭鏁版嵁鐨勫彉鍖栵紝鏈夊彉鍖栧寘鎷坊鍔犮�佷慨鏀广�佸垹闄ら兘浼氬彂閫佹秷鎭紝鎺ユ敹鍒版秷鎭悗閲嶆柊鑾峰彇鏁版嵁
+ RxBus.getInstance().toObservable(this, FamilyMemorabiliaBean.class)
+ .subscribe(bean -> {
+ viewModel.getFamilyMemorabilia();
+ });
}
-
- public PopupWindow initPopUpWindow(View view){
- PopupWindow popupWindow = new PopupWindow(this);
- // 璁剧疆甯冨眬鏂囦欢
- popupWindow.setContentView(view);
- // 涓轰簡閬垮厤閮ㄥ垎鏈哄瀷涓嶆樉绀猴紝闇�瑕侀噸鏂拌缃竴涓嬪楂�
- popupWindow.setWidth(ViewGroup.LayoutParams.WRAP_CONTENT);
- popupWindow.setHeight(ViewGroup.LayoutParams.WRAP_CONTENT);
- // 璁剧疆pop閫忔槑鏁堟灉
- popupWindow.setBackgroundDrawable(new ColorDrawable(0x0000));
- // 璁剧疆pop鍑哄叆鍔ㄧ敾
- popupWindow.setAnimationStyle(com.android.app_base.R.style.pop_operate);
-// // 璁剧疆pop鑾峰彇鐒︾偣锛屽鏋滀负false鐐瑰嚮杩斿洖鎸夐挳浼氶��鍑哄綋鍓岮ctivity锛屽鏋減op涓湁Editor鐨勮瘽锛宖ocusable蹇呴』瑕佷负true
- popupWindow.setFocusable(true);
-// // 璁剧疆pop鍙偣鍑伙紝涓篺alse鐐瑰嚮浜嬩欢鏃犳晥锛岄粯璁や负true
- popupWindow.setTouchable(true);
- // 璁剧疆鐐瑰嚮pop澶栦晶娑堝け锛岄粯璁や负false锛涘湪focusable涓簍rue鏃剁偣鍑诲渚у缁堟秷澶�
- popupWindow.setOutsideTouchable(false);
- return popupWindow;
- }
@Override
protected void dataNull() {
super.dataNull();
binding.layoutDataNull.setVisibility(View.VISIBLE);
- binding.recyclerView.setVisibility(View.GONE);
+ binding.refreshLayout.setVisibility(View.GONE);
}
@Override
@@ -236,7 +330,7 @@
protected void hide() {
super.hide();
binding.layoutDataNull.setVisibility(View.GONE);
- binding.recyclerView.setVisibility(View.VISIBLE);
+ binding.refreshLayout.setVisibility(View.VISIBLE);
binding.refreshLayout.finishLoadMore();
}
@@ -244,7 +338,7 @@
public void onClick(View v) {
int id = v.getId();
if (id == R.id.tv_add){
- AppManager.getAppManager().startActivity(new Intent(this,CreateFamilyProjectActivity.class).putExtra(BaseConfig.EXTRA_TYPE,1));
+ AppManager.getAppManager().startActivity(new Intent(this, FamilyMemorabiliaDetailActivity.class).putExtra(BaseConfig.EXTRA_TYPE,1));
}else if (id == R.id.tv_select){
viewModel.getOperateTypeLiveData().postValue(1);
mOperatePopupWindow.dismiss();
@@ -260,11 +354,9 @@
@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 b363acd..c257c5c 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
@@ -3,29 +3,25 @@
import static com.android.app_base.base.BaseConfig.CODE_SUCCESS;
import android.app.Application;
+import android.text.TextUtils;
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.android.app_base.utils.Utils;
import com.application.zhangshi_app_android.bean.FamilyMemorabiliaBean;
import com.application.zhangshi_app_android.bean.FamilyMemorabiliaRequestBean;
-import com.application.zhangshi_app_android.bean.FamilyMemorabiliaResponseBean;
+import com.application.zhangshi_app_android.bean.PageResponseBean;
import com.application.zhangshi_app_android.data.DataRepository;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
import java.util.Date;
-import java.util.HashMap;
import java.util.List;
-import java.util.Map;
import io.reactivex.Observer;
import io.reactivex.disposables.Disposable;
@@ -40,10 +36,10 @@
private MutableLiveData<List<FamilyMemorabiliaBean>> checkListLiveData;//閫変腑鐨勬暟鎹�
private MutableLiveData<List<FamilyMemorabiliaBean>> dataListLiveData;//鎵�鏈夋暟鎹�
- private MutableLiveData<Integer> operateTypeLiveData;//鎿嶄綔绫诲瀷 0 閫夋嫨鎿嶄綔 1.瀹屾垚 2.鍒犻櫎
-
- private MutableLiveData<FamilyMemorabiliaRequestBean> requestBeanMutableLiveData;//璇锋眰鍙傛暟
+ private MutableLiveData<Integer> operateTypeLiveData;//鍙充笂瑙掓搷浣滄 鎿嶄綔绫诲瀷 0 寮瑰嚭閫夋嫨鎿嶄綔 1.瀹屾垚 2.鍒犻櫎
+ private MutableLiveData<FamilyMemorabiliaRequestBean> requestBeanLiveData;//璇锋眰鍙傛暟
private MutableLiveData<List<FamilyMemorabiliaBean>> moreListLiveData;//涓嬫媺鍔犺浇鏁版嵁
+ private MutableLiveData<List<FamilyMemorabiliaBean>> finishDeleteListLiveData;//宸茬粡瀹屾垚鍒犻櫎鐨勬暟鎹紝鐢ㄤ簬adapter鐨剅emove鎿嶄綔
public FamilyMemorabiliaActivityViewModel(@NonNull Application application) {
super(application);
}
@@ -56,17 +52,20 @@
* 鑾峰彇瀹跺ぇ浜嬭
*/
public void getFamilyMemorabilia() {
- System.out.println(getRequestBeanMutableLiveData().getValue());
- model.getFamilyMemorabilia(getRequestBeanMutableLiveData().getValue().getMap())
+ if (getRequestBeanLiveData().getValue() == null){
+ getRequestBeanLiveData().setValue(new FamilyMemorabiliaRequestBean());
+ }
+ getRequestBeanLiveData().getValue().setPageNum(1);
+ model.getFamilyMemorabilia(getRequestBeanLiveData().getValue().toMap())
.compose(RxUtils.schedulersTransformer())
- .subscribe(new Observer<ResultData<FamilyMemorabiliaResponseBean>>() {
+ .subscribe(new Observer<ResultData<PageResponseBean<FamilyMemorabiliaBean>>>() {
@Override
public void onSubscribe(Disposable d) {
addSubscribe(d);
}
@Override
- public void onNext(ResultData<FamilyMemorabiliaResponseBean> data) {
+ public void onNext(ResultData<PageResponseBean<FamilyMemorabiliaBean>> data) {
if (data.getCode() == CODE_SUCCESS){
if (data.getData().getData().isEmpty()){
changeStateView(StateViewEnum.DATA_NULL);
@@ -91,11 +90,14 @@
});
}
/**
- * 鑾峰彇瀹跺ぇ浜嬭 鍔犺浇鏇村
+ * 鍔犺浇鏇村
*/
public void getMoreFamilyMemorabilia() {
- requestBeanMutableLiveData.getValue().setPageNum(requestBeanMutableLiveData.getValue().getPageNum() + 1);
- model.getFamilyMemorabilia(getRequestBeanMutableLiveData().getValue().getMap())
+ if (getRequestBeanLiveData().getValue() == null){
+ getRequestBeanLiveData().setValue(new FamilyMemorabiliaRequestBean());
+ }
+ getRequestBeanLiveData().getValue().setPageNum(getRequestBeanLiveData().getValue().getPageNum() + 1);
+ model.getFamilyMemorabilia(getRequestBeanLiveData().getValue().toMap())
.compose(RxUtils.schedulersTransformer())
.doFinally(new Action() {
@Override
@@ -103,14 +105,14 @@
changeStateView(StateViewEnum.DATA_FINISH);
}
})
- .subscribe(new Observer<ResultData<FamilyMemorabiliaResponseBean>>() {
+ .subscribe(new Observer<ResultData<PageResponseBean<FamilyMemorabiliaBean>>>() {
@Override
public void onSubscribe(Disposable d) {
addSubscribe(d);
}
@Override
- public void onNext(ResultData<FamilyMemorabiliaResponseBean> data) {
+ public void onNext(ResultData<PageResponseBean<FamilyMemorabiliaBean>> data) {
if (data.getCode() == CODE_SUCCESS){
if (data.getData().getData().isEmpty()){
messageLiveData.postValue("娌℃湁鏇村鏁版嵁浜�");
@@ -137,7 +139,7 @@
/**
* 鍒犻櫎瀹跺ぇ浜嬭
*/
- public void delete() {
+ public void deleteCheckList() {
List<FamilyMemorabiliaBean> deleteList = getCheckListLiveData().getValue();
if (deleteList == null){
return;
@@ -145,7 +147,6 @@
StringBuffer sb = new StringBuffer();
deleteList.forEach(familyMemorabiliaBean -> sb.append(familyMemorabiliaBean.getId()).append(","));
sb.deleteCharAt(sb.length()-1);
- System.out.println();
model.deleteFamilyMemorabilia(sb.toString())
.compose(RxUtils.schedulersTransformer())
.subscribe(new Observer<ResultData<String>>() {
@@ -157,13 +158,44 @@
@Override
public void onNext(ResultData<String> stringResultData) {
if (stringResultData.getCode() == CODE_SUCCESS){
- List<FamilyMemorabiliaBean> list = getDataListLiveData().getValue();
- if (list != null) {
- list.removeAll(getCheckListLiveData().getValue());
- }
- getDataListLiveData().postValue(list);
messageLiveData.postValue("鍒犻櫎鎴愬姛");
+ finishDeleteListLiveData.postValue(checkListLiveData.getValue());
getCheckListLiveData().postValue(new ArrayList<>());
+ }else {
+ messageLiveData.postValue(stringResultData.getMsg());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+ /**
+ * 鍒犻櫎鍗曚釜鏁版嵁
+ */
+ public void deleteItem(FamilyMemorabiliaBean bean) {
+ model.deleteLittleDoctors(String.valueOf(bean.getId()))
+ .compose(RxUtils.schedulersTransformer())
+ .subscribe(new Observer<ResultData<String>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<String> stringResultData) {
+ if (stringResultData.getCode() == CODE_SUCCESS){
+ List<FamilyMemorabiliaBean> list = new ArrayList<>();
+ list.add(bean);
+ finishDeleteListLiveData.postValue(list);
+ messageLiveData.postValue("鍒犻櫎鎴愬姛");
}else {
messageLiveData.postValue(stringResultData.getMsg());
}
@@ -196,18 +228,19 @@
this.checkListLiveData = checkListLiveData;
}
- public MutableLiveData<FamilyMemorabiliaRequestBean> getRequestBeanMutableLiveData() {
- if (requestBeanMutableLiveData == null){
- requestBeanMutableLiveData = new MutableLiveData<>();
+ @NonNull
+ public MutableLiveData<FamilyMemorabiliaRequestBean> getRequestBeanLiveData() {
+ if (requestBeanLiveData == null){
+ requestBeanLiveData = new MutableLiveData<>();
}
- if (requestBeanMutableLiveData.getValue() == null){
- requestBeanMutableLiveData.setValue(new FamilyMemorabiliaRequestBean());
+ if (requestBeanLiveData.getValue() == null){
+ requestBeanLiveData.setValue(new FamilyMemorabiliaRequestBean());
}
- return requestBeanMutableLiveData;
+ return requestBeanLiveData;
}
- public void setRequestBeanMutableLiveData(MutableLiveData<FamilyMemorabiliaRequestBean> requestBeanMutableLiveData) {
- this.requestBeanMutableLiveData = requestBeanMutableLiveData;
+ public void setRequestBeanLiveData(MutableLiveData<FamilyMemorabiliaRequestBean> requestBeanLiveData) {
+ this.requestBeanLiveData = requestBeanLiveData;
}
public MutableLiveData<List<FamilyMemorabiliaBean>> getDataListLiveData() {
@@ -221,6 +254,7 @@
this.dataListLiveData = dataListLiveData;
}
+ @NonNull
public MutableLiveData<List<FamilyMemorabiliaBean>> getMoreListLiveData() {
if (moreListLiveData == null){
moreListLiveData = new MutableLiveData<>();
@@ -232,6 +266,7 @@
this.moreListLiveData = moreListLiveData;
}
+ @NonNull
public MutableLiveData<Integer> getOperateTypeLiveData() {
if (operateTypeLiveData == null){
operateTypeLiveData = new MutableLiveData<>();
@@ -244,6 +279,17 @@
this.operateTypeLiveData = operateTypeLiveData;
}
+ public LiveData<List<FamilyMemorabiliaBean>> getFinishDeleteListLiveData() {
+ if (finishDeleteListLiveData == null){
+ finishDeleteListLiveData = new MutableLiveData<>();
+ }
+ return finishDeleteListLiveData;
+ }
+
+ public void setFinishDeleteListLiveData(MutableLiveData<List<FamilyMemorabiliaBean>> finishDeleteListLiveData) {
+ this.finishDeleteListLiveData = finishDeleteListLiveData;
+ }
+
/**
* 鏀瑰彉鎺掑簭
* @param b true 闄嶅簭 false 鍗囧簭
@@ -253,28 +299,47 @@
if (list == null || list.isEmpty()){
return;
}
- list.sort(new Comparator<FamilyMemorabiliaBean>() {
- @Override
- public int compare(FamilyMemorabiliaBean o1, FamilyMemorabiliaBean o2) {
- SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd", java.util.Locale.getDefault());
- Date date1 = null;
- Date date2 = null;
- try {
- date1 = format.parse(o1.getCreateTime());
- date2 = format.parse(o2.getCreateTime());
- } catch (ParseException e) {
- throw new RuntimeException(e);
- }
- if (date1 != null && date2 != null) {
- if (b){
+ if (b) {
+ // 浠庢柊鍒版棫锛宯ull鎺掓渶鍚�
+ list.sort((o1, o2) -> {
+ String happenTime1 = o1.getHappenTime();
+ String happenTime2 = o2.getHappenTime();
+ if (TextUtils.isEmpty(happenTime1) && TextUtils.isEmpty(happenTime2)) {
+ return 0;
+ } else if (TextUtils.isEmpty(happenTime1)) {
+ return 1;
+ } else if (TextUtils.isEmpty(happenTime2)) {
+ return -1;
+ } else {
+ Date date1 = Utils.parseDate(happenTime1);
+ Date date2 = Utils.parseDate(happenTime2);
+ if (date1 != null && date2 != null) {
return date2.compareTo(date1);
- }else {
+ }
+ return 0;
+ }
+ });
+ } else {
+ // 浠庢棫鍒版柊锛宯ull鎺掓渶鍓�
+ list.sort((o1, o2) -> {
+ String happenTime1 = o1.getHappenTime();
+ String happenTime2 = o2.getHappenTime();
+ if (TextUtils.isEmpty(happenTime1) && TextUtils.isEmpty(happenTime2)) {
+ return 0;
+ } else if (TextUtils.isEmpty(happenTime1)) {
+ return -1;
+ } else if (TextUtils.isEmpty(happenTime2)) {
+ return 1;
+ } else {
+ Date date1 = Utils.parseDate(happenTime1);
+ Date date2 = Utils.parseDate(happenTime2);
+ if (date1 != null && date2 != null) {
return date1.compareTo(date2);
}
+ return 0;
}
- return 0;
- }
- });
- getDataListLiveData().postValue(list);
+ });
+ }
+ getDataListLiveData().setValue(list);
}
}
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/FamilyMemorabiliaDetailActivity.java
similarity index 67%
rename from app/src/main/java/com/application/zhangshi_app_android/ui/function/CreateFamilyProjectActivity.java
rename to app/src/main/java/com/application/zhangshi_app_android/ui/function/FamilyMemorabiliaDetailActivity.java
index b56c433..d70bd2d 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/FamilyMemorabiliaDetailActivity.java
@@ -8,40 +8,48 @@
import android.widget.PopupWindow;
import androidx.recyclerview.widget.GridLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
import com.android.app_base.base.BaseConfig;
+import com.android.app_base.base.adapter.BaseRVAdapter;
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.UserManager;
import com.android.app_base.utils.ScreenSizeUtils;
+import com.android.app_base.utils.Utils;
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.FamilyMemorabiliaBean;
-import com.application.zhangshi_app_android.databinding.ActivityFamilyMemorabiliaCreateBinding;
+import com.application.zhangshi_app_android.bean.LittleDoctorBean;
+import com.application.zhangshi_app_android.databinding.ActivityFamilyMemorabiliaDetailBinding;
+import com.application.zhangshi_app_android.ui.DLBaseActivity;
+import com.github.gzuliyujiang.wheelpicker.DatePicker;
+import com.github.gzuliyujiang.wheelpicker.contract.OnDatePickedListener;
import com.luck.picture.lib.entity.LocalMedia;
import com.luck.picture.lib.interfaces.OnResultCallbackListener;
import java.io.File;
import java.util.ArrayList;
+import java.util.List;
+import java.util.Locale;
import java.util.function.Consumer;
/**
* @author Gss
* @date 2023.03.25. 16:00
- * @desc 瀹跺ぇ浜嬭 CreateFamilyProjectActivity
+ * @desc 瀹跺ぇ浜嬭 FamilyMemorabiliaDetailActivity
*/
-public class CreateFamilyProjectActivity extends BaseActivity<ActivityFamilyMemorabiliaCreateBinding,CreateFamilyProjectActivityViewModel> {
- private int type;
+public class FamilyMemorabiliaDetailActivity extends DLBaseActivity<ActivityFamilyMemorabiliaDetailBinding, FamilyMemorabiliaDetailActivityViewModel> {
+ private int type;// 0 鏌ョ湅鍙慨鏀瑰垹闄� 1 鏂板 2 鐩存帴淇敼
private PopupWindow popupWindow;
- private FamilyMemorabiliaBean bean;
private ImageRvAdapter adapter;
@Override
public int getLayoutId() {
- return R.layout.activity_family_memorabilia_create;
+ return R.layout.activity_family_memorabilia_detail;
}
@Override
@@ -52,17 +60,17 @@
@Override
public void initParam() {
type = getIntent().getIntExtra(BaseConfig.EXTRA_TYPE,0);
- if (type == 0){
- bean = (FamilyMemorabiliaBean) getIntent().getSerializableExtra("bean");
- if (bean!=null){
- viewModel.getBeanMutableLiveData().postValue(bean);
+ if (type == 0 || type == 2){
+ FamilyMemorabiliaBean bean = (FamilyMemorabiliaBean) getIntent().getSerializableExtra("bean");
+ if (bean !=null){
+ viewModel.getBeanMutableLiveData().setValue(bean);
}
}
}
@Override
public void initView() {
- adapter = new ImageRvAdapter(this,viewModel);
+ adapter = new ImageRvAdapter(this);
GridLayoutManager gridLayoutManager = new GridLayoutManager(this, 3);
binding.rvImage.setLayoutManager(gridLayoutManager);
binding.rvImage.setNestedScrollingEnabled(false);
@@ -92,31 +100,28 @@
});
}
});
+ adapter.setOnChildClickListener(R.id.iv_delete, new BaseRVAdapter.OnChildClickListener() {
+ @Override
+ public void onChildClick(RecyclerView recyclerView, View childView, int position) {
+ FamilyMemorabiliaBean bean = viewModel.getBeanMutableLiveData().getValue();
+ if (bean !=null){
+ List<String> urlList = Utils.splitString2List(bean.getUrl(),",");
+ urlList.remove(adapter.getItem(position));
+ bean.setUrl(Utils.appendList2String(urlList,","));
+ }
+ adapter.removeItem(position);
+ viewModel.getBeanMutableLiveData().setValue(bean);
+ }
+ });
binding.rvImage.setAdapter(adapter);
-
if (type == 1){
- viewModel.getTypeLiveData().postValue(true);
+ viewModel.getTypeLiveData().setValue(true);
+ binding.titleBar.setTitle("鏂板瀹跺ぇ浜嬭");
binding.ivOperate.setOnClickListener(v -> {
viewModel.add();
});
- }else {
- popupWindow = new PopupWindow(this);
- // 璁剧疆甯冨眬鏂囦欢
- popupWindow.setContentView(LayoutInflater.from(this).inflate(R.layout.pop_operate_delete, null));
- // 涓轰簡閬垮厤閮ㄥ垎鏈哄瀷涓嶆樉绀猴紝闇�瑕侀噸鏂拌缃竴涓嬪楂�
- popupWindow.setWidth(ViewGroup.LayoutParams.WRAP_CONTENT);
- popupWindow.setHeight(ViewGroup.LayoutParams.WRAP_CONTENT);
- // 璁剧疆pop閫忔槑鏁堟灉
- popupWindow.setBackgroundDrawable(new ColorDrawable(0x0000));
- // 璁剧疆pop鍑哄叆鍔ㄧ敾
- popupWindow.setAnimationStyle(com.android.app_base.R.style.pop_operate);
- // 璁剧疆pop鑾峰彇鐒︾偣锛屽鏋滀负false鐐瑰嚮杩斿洖鎸夐挳浼氶��鍑哄綋鍓岮ctivity锛屽鏋減op涓湁Editor鐨勮瘽锛宖ocusable蹇呴』瑕佷负true
- popupWindow.setFocusable(true);
- // 璁剧疆pop鍙偣鍑伙紝涓篺alse鐐瑰嚮浜嬩欢鏃犳晥锛岄粯璁や负true
- popupWindow.setTouchable(true);
- // 璁剧疆鐐瑰嚮pop澶栦晶娑堝け锛岄粯璁や负false锛涘湪focusable涓簍rue鏃剁偣鍑诲渚у缁堟秷澶�
- popupWindow.setOutsideTouchable(true);
-
+ }else if (type == 0){
+ popupWindow = initPopUpWindow(View.inflate(this,R.layout.pop_operate_delete,null));
popupWindow.getContentView().findViewById(R.id.tv_modify).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
@@ -143,7 +148,26 @@
}
});
viewModel.getTypeLiveData().postValue(false);
+ }else if (type == 2){
+ viewModel.getTypeLiveData().postValue(true);
+
}
+
+ binding.etTime.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ DatePicker picker = getDatePicker();
+ picker.setTitle("閫夋嫨鏃堕棿");
+ picker.setOnDatePickedListener(new OnDatePickedListener() {
+ @Override
+ public void onDatePicked(int year, int month, int day) {
+ String date = String.format(Locale.CHINA, "%d-%02d-%02d", year, month, day);
+ binding.etTime.setText(date);
+ }
+ });
+ picker.show();
+ }
+ });
}
@@ -157,8 +181,8 @@
public void initLiveDataObserve() {
viewModel.getBeanMutableLiveData().observe(this,bean -> {
if (bean!=null){
- bean.setUrl(bean.getUrl());
- adapter.setData(bean.getUrlList());
+ List<String> urlList = Utils.splitString2List(bean.getUrl(),",");
+ adapter.setData(urlList);
}
});
viewModel.getTypeLiveData().observe(this,operateType -> {
@@ -195,22 +219,6 @@
}
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/CreateFamilyProjectActivityViewModel.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/FamilyMemorabiliaDetailActivityViewModel.java
similarity index 93%
rename from app/src/main/java/com/application/zhangshi_app_android/ui/function/CreateFamilyProjectActivityViewModel.java
rename to app/src/main/java/com/application/zhangshi_app_android/ui/function/FamilyMemorabiliaDetailActivityViewModel.java
index e37573d..539c971 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/ui/function/CreateFamilyProjectActivityViewModel.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/FamilyMemorabiliaDetailActivityViewModel.java
@@ -11,6 +11,7 @@
import com.android.app_base.http.ResultData;
import com.android.app_base.manager.AppManager;
import com.android.app_base.utils.RxUtils;
+import com.android.app_base.utils.rxbus.RxBus;
import com.application.zhangshi_app_android.bean.FamilyMemorabiliaBean;
import com.application.zhangshi_app_android.bean.UploadFileResponseBean;
import com.application.zhangshi_app_android.data.DataRepository;
@@ -23,11 +24,11 @@
import okhttp3.MultipartBody;
import okhttp3.RequestBody;
-public class CreateFamilyProjectActivityViewModel extends BaseViewModel<DataRepository> {
+public class FamilyMemorabiliaDetailActivityViewModel extends BaseViewModel<DataRepository> {
private MutableLiveData<FamilyMemorabiliaBean> beanMutableLiveData;
private MutableLiveData<Boolean> typeLiveData;//true 缂栬緫鐘舵�� false 灞曠ず鐘舵��
- public CreateFamilyProjectActivityViewModel(@NonNull Application application) {
+ public FamilyMemorabiliaDetailActivityViewModel(@NonNull Application application) {
super(application);
}
@@ -51,8 +52,9 @@
@Override
public void onNext(ResultData<String> stringResultData) {
if (stringResultData.getCode() == CODE_SUCCESS){
- messageLiveData.postValue("娣诲姞鎴愬姛");
AppManager.getAppManager().finishCurrentActivity();
+ RxBus.getInstance().post(beanMutableLiveData.getValue());
+ messageLiveData.postValue("娣诲姞鎴愬姛");
}else {
messageLiveData.postValue(stringResultData.getMsg());
}
@@ -84,8 +86,9 @@
@Override
public void onNext(ResultData<String> stringResultData) {
if (stringResultData.getCode() == CODE_SUCCESS){
- messageLiveData.postValue("鍒犻櫎鎴愬姛");
AppManager.getAppManager().finishCurrentActivity();
+ RxBus.getInstance().post(beanMutableLiveData.getValue());
+ messageLiveData.postValue("鍒犻櫎鎴愬姛");
}else {
messageLiveData.postValue(stringResultData.getMsg());
}
@@ -117,8 +120,9 @@
@Override
public void onNext(ResultData<String> stringResultData) {
if (stringResultData.getCode() == CODE_SUCCESS){
- messageLiveData.postValue("淇敼鎴愬姛");
AppManager.getAppManager().finishCurrentActivity();
+ RxBus.getInstance().post(beanMutableLiveData.getValue());
+ messageLiveData.postValue("淇敼鎴愬姛");
}else {
messageLiveData.postValue(stringResultData.getMsg());
}
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 78fe5f2..41e34d6 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
@@ -2,13 +2,30 @@
import android.os.Bundle;
import android.view.View;
+import android.view.ViewGroup;
+import android.widget.FrameLayout;
+import android.widget.ImageView;
+import android.widget.PopupWindow;
-import com.android.app_base.base.view.BaseFragment;
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentTransaction;
+import androidx.lifecycle.Observer;
+
import com.android.app_base.manager.AppManager;
+import com.android.app_base.utils.GlideUtil;
+import com.android.app_base.utils.ScreenSizeUtils;
import com.application.zhangshi_app_android.BR;
import com.application.zhangshi_app_android.R;
+import com.application.zhangshi_app_android.bean.BannerBean;
import com.application.zhangshi_app_android.databinding.FragmentFunctionBinding;
import com.application.zhangshi_app_android.ui.DLBaseFragment;
+import com.application.zhangshi_app_android.ui.TestActivity;
+import com.application.zhangshi_app_android.ui.home.HomeFragment;
+import com.application.zhangshi_app_android.ui.main.MainActivity;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
/**
* @author Ljj
@@ -16,7 +33,12 @@
* @desc 鍔熻兘 Fragment
*/
public class FunctionFragment extends DLBaseFragment<FragmentFunctionBinding,FunctionFragmentViewModel> {
- public FunctionFragment() {
+
+ private PopupWindow mOperatePopupWindow;
+ private ImageCarouselFragment imageCarouselFragment;
+ private VideoFragment videoFragment;
+
+ private FunctionFragment() {
}
public static FunctionFragment newInstance() {
@@ -42,6 +64,12 @@
@Override
protected void initView() {
+ binding.layoutHomeRootNet.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ MainActivity.start(getSelfActivity(), HomeFragment.class);
+ }
+ });
binding.layoutFamilyMemorabilia.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
@@ -105,16 +133,66 @@
binding.layoutContacts.setOnClickListener(v->{
AppManager.getAppManager().startActivity(ContactsActivity.class);
});
- }
+ binding.ivOperate.setOnClickListener(v->{
+ AppManager.getAppManager().startActivity(TestActivity.class);
+ });
+ imageCarouselFragment = ImageCarouselFragment.newInstance();
+ videoFragment = VideoFragment.newInstance();
+ replaceFragment(imageCarouselFragment);
+
+ //鍙充笂瑙掓搷浣滃脊绐�
+ mOperatePopupWindow = initPopUpWindow(View.inflate(getSelfActivity(),R.layout.pop_switch_video_or_image,null));
+ mOperatePopupWindow.getContentView().findViewById(R.id.tv_image).setOnClickListener(v -> {
+ mOperatePopupWindow.dismiss();
+ if (imageCarouselFragment == null){
+ imageCarouselFragment = ImageCarouselFragment.newInstance();
+ }
+ replaceFragment(imageCarouselFragment);
+
+ });
+ mOperatePopupWindow.getContentView().findViewById(R.id.tv_video).setOnClickListener(v -> {
+ mOperatePopupWindow.dismiss();
+ if (videoFragment == null){
+ videoFragment = VideoFragment.newInstance();
+ }
+ replaceFragment(videoFragment);
+ });
+ //鐐瑰嚮寮瑰嚭鎿嶄綔寮圭獥
+ binding.ivOperate.setOnClickListener(v -> {
+ mOperatePopupWindow.showAsDropDown(binding.ivOperate,-ScreenSizeUtils.dip2px(getSelfActivity(),85) +binding.ivOperate.getWidth(),0);
+ });
+ }
+ public void replaceFragment(Fragment fragment){
+ FragmentTransaction transaction = getSelfActivity().getSupportFragmentManager().beginTransaction();
+ transaction.replace(R.id.layout_frame,fragment);
+ transaction.commit();
+ }
@Override
protected void initData() {
-
+ viewModel.getBannerData();
}
@Override
protected void initLiveDataObserve() {
-
+ viewModel.getBannerListLiveData().observe(this, new Observer<List<BannerBean>>() {
+ @Override
+ public void onChanged(List<BannerBean> bannerBeans) {
+ List<String> imageList = new ArrayList<>();
+ List<String> videoList = new ArrayList<>();
+ for (BannerBean bannerBean : bannerBeans) {
+ if (bannerBean.getFlag() == 0){
+ //鍥剧墖
+ imageList.add(bannerBean.getUrl());
+ }else if (bannerBean.getFlag() == 1){
+ //瑙嗛
+ videoList.add(bannerBean.getUrl());
+ }
+ }
+ imageCarouselFragment.setImageList(imageList);
+ videoFragment.setVideoList(videoList);
+ }
+ });
}
@Override
@@ -122,5 +200,17 @@
return true;
}
+ @Override
+ protected void dataNull() {
+ super.dataNull();
+ binding.layoutFrame.setVisibility(View.GONE);
+ binding.layoutDataNull.setVisibility(View.VISIBLE);
+ }
+ @Override
+ protected void hide() {
+ super.hide();
+ binding.layoutFrame.setVisibility(View.VISIBLE);
+ binding.layoutDataNull.setVisibility(View.GONE);
+ }
}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/FunctionFragmentViewModel.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/FunctionFragmentViewModel.java
index ce11e3e..4f45c59 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/ui/function/FunctionFragmentViewModel.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/FunctionFragmentViewModel.java
@@ -1,11 +1,26 @@
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.BannerBean;
+import com.application.zhangshi_app_android.bean.HomeDevicesBean;
+import com.application.zhangshi_app_android.bean.HomeDevicesRequestBean;
+import com.application.zhangshi_app_android.bean.PageResponseBean;
import com.application.zhangshi_app_android.data.DataRepository;
+
+import java.util.List;
+
+import io.reactivex.Observer;
+import io.reactivex.disposables.Disposable;
/**
* @author Ljj
@@ -13,6 +28,8 @@
* @desc 鍔熻兘 Fragment鐨� ViewModel
*/
public class FunctionFragmentViewModel extends BaseViewModel<DataRepository> {
+
+ private final MutableLiveData<List<BannerBean>> bannerListLiveData = new MutableLiveData<>();
public FunctionFragmentViewModel(@NonNull Application application) {
super(application);
}
@@ -21,4 +38,50 @@
protected DataRepository initModel() {
return DataRepository.getInstance();
}
+
+ /**
+ * 鑾峰彇banner 杞挱鍥炬暟鎹�
+ */
+ public void getBannerData() {
+ model.getBannerData()
+ .compose(RxUtils.schedulersTransformer())
+ .subscribe(new Observer<ResultData<List<BannerBean>>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<List<BannerBean>> data) {
+ if (data.getCode() == CODE_SUCCESS){
+ if (data.getData().isEmpty()){
+ changeStateView(StateViewEnum.DATA_NULL);
+ }else {
+ changeStateView(StateViewEnum.HIDE);
+ bannerListLiveData.postValue(data.getData());
+ }
+ }else {
+ messageLiveData.postValue(data.getMsg());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+
+ public MutableLiveData<List<BannerBean>> getBannerListLiveData() {
+ return bannerListLiveData;
+ }
+
+ public void setBannerListLiveData(List<BannerBean> bannerListLiveData) {
+ this.bannerListLiveData.postValue(bannerListLiveData);
+ }
}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/GrowthExperienceActivity.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/GrowthExperienceActivity.java
index ed52c83..3821393 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/ui/function/GrowthExperienceActivity.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/GrowthExperienceActivity.java
@@ -99,6 +99,26 @@
mOperatePopupWindow.showAsDropDown(binding.ivOperate,-ScreenSizeUtils.dip2px(this,85) +binding.ivOperate.getWidth(),0);
});
+ final int SCROLL_THRESHOLD = 400; // 婊戝姩闃堝�硷紝鎸夐挳鍦ㄦ粦鍔ㄨ秴杩囪闃堝�煎悗寮�濮嬫牴鎹秴鍑洪槇鍊艰窛绂绘笎娓愭樉绀哄嚭鏉�
+ final int SCROLL_DISTANCE = 400; // 鎸夐挳浠庨殣钘忓埌鍏ㄩ儴鏄剧ず鍑烘潵闇�瑕佹粦鍔ㄧ殑璺濈
+ binding.fabMoveToTop.setAlpha(0f);
+ binding.nestedScrollView.setOnScrollChangeListener(new View.OnScrollChangeListener() {
+ @Override
+ public void onScrollChange(View v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) {
+ // 褰撴粦鍔ㄨ窛绂昏秴杩囬槇鍊间竴鍗婃椂锛屽紑濮嬫參鎱㈡樉绀烘寜閽�
+ if (scrollY >= SCROLL_THRESHOLD) {
+ // 鏍规嵁婊戝姩璺濈璁剧疆鎸夐挳閫忔槑搴�
+ float alpha = Math.min(1.0f, (float) (scrollY - SCROLL_THRESHOLD) / SCROLL_DISTANCE);
+ binding.fabMoveToTop.setAlpha(alpha);
+ } else {
+ binding.fabMoveToTop.setAlpha(0f);
+ }
+ }
+ });
+ binding.fabMoveToTop.setOnClickListener(v -> {
+ // 鐐瑰嚮鎸夐挳杩斿洖椤堕儴
+ binding.nestedScrollView.smoothScrollTo(0, 0);
+ });
}
@Override
@@ -116,12 +136,12 @@
public void initLiveDataObserve() {
viewModel.getIsExperienceExpendedLiveData().observe(this, aBoolean -> {
if (aBoolean){
- binding.ivExperienceFold.setOnClickListener(view -> {
+ binding.layoutExperienceTitle.setOnClickListener(view -> {
collapseView(binding.layoutExperience,binding.layoutExperienceTitle);
viewModel.getIsExperienceExpendedLiveData().setValue(false);
});
}else {
- binding.ivExperienceFold.setOnClickListener(view -> {
+ binding.layoutExperienceTitle.setOnClickListener(view -> {
expendView(binding.layoutExperience);
viewModel.getIsExperienceExpendedLiveData().setValue(true);
});
@@ -129,12 +149,12 @@
});
viewModel.getIsRelationExpendedLiveData().observe(this, aBoolean -> {
if (aBoolean){
- binding.ivRelationFold.setOnClickListener(view -> {
+ binding.layoutRelationTitle.setOnClickListener(view -> {
collapseView(binding.layoutRelation,binding.layoutRelationTitle);
viewModel.getIsRelationExpendedLiveData().setValue(false);
});
}else {
- binding.ivRelationFold.setOnClickListener(view -> {
+ binding.layoutRelationTitle.setOnClickListener(view -> {
expendView(binding.layoutRelation);
viewModel.getIsRelationExpendedLiveData().setValue(true);
});
@@ -142,12 +162,12 @@
});
viewModel.getIsHolderExpendedLiveData().observe(this, aBoolean -> {
if (aBoolean){
- binding.ivHolderFold.setOnClickListener(view -> {
+ binding.layoutHolderTitle.setOnClickListener(view -> {
collapseView(binding.layoutHolder,binding.layoutHolderTitle);
viewModel.getIsHolderExpendedLiveData().setValue(false);
});
}else {
- binding.ivHolderFold.setOnClickListener(view -> {
+ binding.layoutHolderTitle.setOnClickListener(view -> {
expendView(binding.layoutHolder);
viewModel.getIsHolderExpendedLiveData().setValue(true);
});
@@ -155,12 +175,12 @@
});
viewModel.getIsAbroadExpendedLiveData().observe(this, aBoolean -> {
if (aBoolean){
- binding.ivAbroadFold.setOnClickListener(view -> {
+ binding.layoutAbroadTitle.setOnClickListener(view -> {
collapseView(binding.layoutAbroad,binding.layoutAbroadTitle);
viewModel.getIsAbroadExpendedLiveData().setValue(false);
});
}else {
- binding.ivAbroadFold.setOnClickListener(view -> {
+ binding.layoutAbroadTitle.setOnClickListener(view -> {
expendView(binding.layoutAbroad);
viewModel.getIsAbroadExpendedLiveData().setValue(true);
});
@@ -193,6 +213,12 @@
viewModel.getAutobiographyLiveData().observe(this, new Observer<List<GrowthExperienceAutobiographyBean>>() {
@Override
public void onChanged(List<GrowthExperienceAutobiographyBean> beans) {
+ if (beans==null||beans.size() == 0 ){
+ binding.tvFill.setVisibility(View.GONE);
+ return;
+ }else {
+ binding.tvFill.setVisibility(View.VISIBLE);
+ }
binding.tabLayout.removeAllTabs();
for (int i = 0; i < beans.size(); i++) {
GrowthExperienceAutobiographyBean bean = beans.get(i);
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/HealthCareActivity.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/HealthCareActivity.java
index dd46dac..40c3e98 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/ui/function/HealthCareActivity.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/HealthCareActivity.java
@@ -3,6 +3,8 @@
import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
import android.animation.ValueAnimator;
+import android.text.Editable;
+import android.text.TextWatcher;
import android.view.View;
import android.view.ViewGroup;
import android.view.animation.Animation;
@@ -10,12 +12,24 @@
import android.widget.FrameLayout;
import android.widget.PopupWindow;
+import androidx.lifecycle.Observer;
+
import com.android.app_base.manager.AppManager;
import com.android.app_base.utils.ScreenSizeUtils;
+import com.android.app_base.utils.Utils;
import com.application.zhangshi_app_android.BR;
import com.application.zhangshi_app_android.R;
+import com.application.zhangshi_app_android.bean.GrowthExperienceAutobiographyBean;
+import com.application.zhangshi_app_android.bean.HealthCareNotesContentBean;
import com.application.zhangshi_app_android.databinding.ActivityHealthCareBinding;
import com.application.zhangshi_app_android.ui.DLBaseActivity;
+import com.github.gzuliyujiang.wheelpicker.OptionPicker;
+import com.github.gzuliyujiang.wheelpicker.contract.OnOptionPickedListener;
+import com.google.android.material.tabs.TabLayout;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
/**
* @author Ljj
@@ -53,29 +67,73 @@
AppManager.getAppManager().startActivity(AnnualHealthStatusActivity.class);
}
});
-
- binding.ivOperate.setOnClickListener(v -> {
- popupWindow.showAsDropDown(binding.ivOperate,-ScreenSizeUtils.dip2px(this,118) +binding.ivOperate.getWidth(),0);
+ view.findViewById(R.id.tv_edit).setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ popupWindow.dismiss();
+ viewModel.setTypeLiveData(true);
+ }
});
+ binding.tvSex.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ List<String> list = Arrays.asList("濂�","鐢�");
+ OptionPicker picker = getOptionPicker(list);
+ picker.setTitle("鎬у埆");
+ picker.setOnOptionPickedListener(new OnOptionPickedListener() {
+ @Override
+ public void onOptionPicked(int position, Object item) {
+ binding.tvSex.setText(item.toString());
+ }
+ });
+ picker.show();
+ }
+ });
+
+ final int SCROLL_THRESHOLD = 400; // 婊戝姩闃堝�硷紝鎸夐挳鍦ㄦ粦鍔ㄨ秴杩囪闃堝�煎悗寮�濮嬫牴鎹秴鍑洪槇鍊艰窛绂绘笎娓愭樉绀哄嚭鏉�
+ final int SCROLL_DISTANCE = 400; // 鎸夐挳浠庨殣钘忓埌鍏ㄩ儴鏄剧ず鍑烘潵闇�瑕佹粦鍔ㄧ殑璺濈
+ binding.fabMoveToTop.setAlpha(0f);
+ binding.nestedScrollView.setOnScrollChangeListener(new View.OnScrollChangeListener() {
+ @Override
+ public void onScrollChange(View v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) {
+ // 褰撴粦鍔ㄨ窛绂昏秴杩囬槇鍊间竴鍗婃椂锛屽紑濮嬫參鎱㈡樉绀烘寜閽�
+ if (scrollY >= SCROLL_THRESHOLD) {
+ // 鏍规嵁婊戝姩璺濈璁剧疆鎸夐挳閫忔槑搴�
+ float alpha = Math.min(1.0f, (float) (scrollY - SCROLL_THRESHOLD) / SCROLL_DISTANCE);
+ binding.fabMoveToTop.setAlpha(alpha);
+ } else {
+ binding.fabMoveToTop.setAlpha(0f);
+ }
+ }
+ });
+ binding.fabMoveToTop.setOnClickListener(v -> {
+ // 鐐瑰嚮鎸夐挳杩斿洖椤堕儴
+ binding.nestedScrollView.smoothScrollTo(0, 0);
+ });
}
@Override
public void initData() {
-
+ viewModel.getHealthCareBaseInfo();
+ viewModel.getHealthCareLifeHabits();
+ viewModel.getHealthCareNursingExamination();
+ viewModel.getHealthCareExistingProblems();
+ viewModel.getHealthCareNotesContent();
}
@Override
public void initLiveDataObserve() {
+ System.out.println("鎴�"+binding.ivA.isClickable());
viewModel.getIsLifeHabitsExpendedLiveData().observe(this, aBoolean -> {
if (aBoolean){
- binding.ivLifeHabitsFold.setOnClickListener(view -> {
+ binding.layoutTitleLifeHabits.setOnClickListener(view -> {
collapseView(binding.cardLifeHabits,binding.layoutTitleLifeHabits);
viewModel.getIsLifeHabitsExpendedLiveData().setValue(false);
});
}else {
- binding.ivLifeHabitsFold.setOnClickListener(view -> {
+ binding.layoutTitleLifeHabits.setOnClickListener(view -> {
expendView(binding.cardLifeHabits);
viewModel.getIsLifeHabitsExpendedLiveData().setValue(true);
});
@@ -83,12 +141,12 @@
});
viewModel.getIsHealthExpendedLiveData().observe(this, aBoolean -> {
if (aBoolean){
- binding.ivHealthFold.setOnClickListener(view -> {
+ binding.layoutTitleHealth.setOnClickListener(view -> {
collapseView(binding.cardHealth,binding.layoutTitleHealth);
viewModel.getIsHealthExpendedLiveData().setValue(false);
});
}else {
- binding.ivHealthFold.setOnClickListener(view -> {
+ binding.layoutTitleHealth.setOnClickListener(view -> {
expendView(binding.cardHealth);
viewModel.getIsHealthExpendedLiveData().setValue(true);
});
@@ -96,15 +154,111 @@
});
viewModel.getIsNursingExpendedLiveData().observe(this, aBoolean -> {
if (aBoolean){
- binding.ivNursingFold.setOnClickListener(view -> {
+ binding.layoutTitleNursing.setOnClickListener(view -> {
collapseView(binding.cardNursing,binding.layoutTitleNursing);
viewModel.getIsNursingExpendedLiveData().setValue(false);
});
}else {
- binding.ivNursingFold.setOnClickListener(view -> {
+ binding.layoutTitleNursing.setOnClickListener(view -> {
expendView(binding.cardNursing);
viewModel.getIsNursingExpendedLiveData().setValue(true);
});
+ }
+ });
+ viewModel.getTypeLiveData().observe(this, new Observer<Boolean>() {
+ @Override
+ public void onChanged(Boolean aBoolean) {
+ if (aBoolean){
+ binding.ivOperate.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ viewModel.setTypeLiveData(false);
+ viewModel.save();
+ }
+ });
+ }else {
+ binding.ivOperate.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ popupWindow.showAsDropDown(binding.ivOperate,-ScreenSizeUtils.dip2px(HealthCareActivity.this,118) +binding.ivOperate.getWidth(),0);
+ }
+ });
+ }
+ }
+ });
+ viewModel.getHealthCareNotesContentBeanLiveData().observe(this, new Observer<HealthCareNotesContentBean>() {
+ @Override
+ public void onChanged(HealthCareNotesContentBean bean) {
+ List<String> tabList = bean.getTabList();
+ List<String> contentList = bean.getContentList();
+ if (tabList==null||tabList.size() == 0 ){
+ binding.etFill.setVisibility(View.GONE);
+ return;
+ }else {
+ binding.etFill.setVisibility(View.VISIBLE);
+ }
+ binding.tabLayout.removeAllTabs();
+ for (int i = 0; i < tabList.size(); i++) {
+ String tabText = tabList.get(i);
+ TabLayout.Tab tab = binding.tabLayout.newTab().setText(tabText);
+ if (i % 2 == 0){
+ tab.view.setBackgroundResource(R.drawable.selector_tab_background_pink);
+ }else {
+ tab.view.setBackgroundResource(R.drawable.selector_tab_background_blue);
+ }
+ //鍙栨秷tab鐨勯暱鎸夋樉绀烘枃鏈�
+ tab.view.setOnLongClickListener(new View.OnLongClickListener() {
+ @Override
+ public boolean onLongClick(View v) {
+ return true;
+ }
+ });
+ binding.tabLayout.addTab(tab);
+ }
+ binding.etFill.setText(contentList.get(0));
+ binding.tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
+ @Override
+ public void onTabSelected(TabLayout.Tab tab) {
+ binding.etFill.setText(contentList.get(tab.getPosition()));
+ binding.etFill.clearFocus();
+ }
+
+ @Override
+ public void onTabUnselected(TabLayout.Tab tab) {
+
+ }
+
+ @Override
+ public void onTabReselected(TabLayout.Tab tab) {
+
+ }
+ });
+ binding.etFill.addTextChangedListener(new TextWatcher() {
+ @Override
+ public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+
+ }
+
+ @Override
+ public void onTextChanged(CharSequence s, int start, int before, int count) {
+ int select = binding.tabLayout.getSelectedTabPosition();
+ contentList.set(select,s.toString());
+ viewModel.getHealthCareNotesContentBeanLiveData().getValue().setContent(contentList);
+ }
+
+ @Override
+ public void afterTextChanged(Editable s) {
+
+ }
+ });
+ }
+ });
+ binding.ivA.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ System.out.println("鐐瑰嚮浜咥");
+ System.out.println(v.isClickable());
+ System.out.println(viewModel.getTypeLiveData().getValue());
}
});
}
@@ -112,29 +266,13 @@
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);
+ Utils.pullCollapse(initialView,initialHeight,collapsedHeight);
}
public void expendView(View initialView){
int initialHeight = initialView.getMeasuredHeight();
initialView.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED);
int targetHeight = initialView.getMeasuredHeight();
+
ValueAnimator animator = ValueAnimator.ofInt(initialHeight,targetHeight);
animator.addUpdateListener(animation -> {
initialView.getLayoutParams().height = (int) animation.getAnimatedValue();
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/HealthCareActivityViewModel.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/HealthCareActivityViewModel.java
index bf13299..8d4e957 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/ui/function/HealthCareActivityViewModel.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/HealthCareActivityViewModel.java
@@ -1,12 +1,31 @@
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.databinding.Bindable;
+import androidx.databinding.InverseBindingAdapter;
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.HealthCareBaseInfoBean;
+import com.application.zhangshi_app_android.bean.HealthCareExistingProblemsBean;
+import com.application.zhangshi_app_android.bean.HealthCareLifeHabitsBean;
+import com.application.zhangshi_app_android.bean.HealthCareNotesContentBean;
+import com.application.zhangshi_app_android.bean.HealthCareNursingExaminationBean;
+import com.application.zhangshi_app_android.bean.HomeDevicesBean;
+import com.application.zhangshi_app_android.bean.PageResponseBean;
import com.application.zhangshi_app_android.data.DataRepository;
+
+import io.reactivex.Observable;
+import io.reactivex.Observer;
+import io.reactivex.disposables.Disposable;
+import io.reactivex.functions.Function5;
/**
* @author Ljj
@@ -15,11 +34,15 @@
*/
public class HealthCareActivityViewModel extends BaseViewModel<DataRepository> {
+ private MutableLiveData<Boolean> typeLiveData;//true:缂栬緫 false:鏌ョ湅
+ private MutableLiveData<HealthCareBaseInfoBean> healthCareBaseInfoBeanLiveData;//鍋ュ悍淇濆仴鍩烘湰淇℃伅
+ private MutableLiveData<HealthCareLifeHabitsBean> healthCareLifeHabitsBeanLiveData;//鍋ュ悍淇濆仴鐢熸椿涔犳儻
+ private MutableLiveData<HealthCareNursingExaminationBean> healthCareNursingExaminationBeanLiveData;//鍋ュ悍淇濆仴鎶ょ悊妫�鏌�
+ private MutableLiveData<HealthCareExistingProblemsBean> healthCareExistingProblemsBeanLiveData;//鍋ュ悍淇濆仴鐜板瓨闂
+ private MutableLiveData<HealthCareNotesContentBean> healthCareNotesContentBeanLiveData;//鍋ュ悍淇濆仴绗旇鍐呭
private MutableLiveData<Boolean> isLifeHabitsExpendedLiveData;
private MutableLiveData<Boolean> isNursingExpendedLiveData;
private MutableLiveData<Boolean> isHealthExpendedLiveData;
-
-
public HealthCareActivityViewModel(@NonNull Application application) {
super(application);
@@ -28,6 +51,142 @@
@Override
protected DataRepository initModel() {
return DataRepository.getInstance();
+ }
+
+ public <T> Observer<ResultData<T>> getObserver(MutableLiveData<T> resultData) {
+ return new Observer<ResultData<T>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<T> data) {
+ if (data.getCode() == CODE_SUCCESS) {
+ if (data.getData() == null) {
+ changeStateView(StateViewEnum.DATA_NULL);
+ } else {
+ changeStateView(StateViewEnum.HIDE);
+ resultData.postValue(data.getData());
+ }
+ } else {
+ messageLiveData.postValue(data.getMsg());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ };
+ }
+
+ /**
+ * 鑾峰彇鍋ュ悍淇濆仴鍩烘湰淇℃伅
+ */
+ public void getHealthCareBaseInfo() {
+ model.getHealthCareBaseInfo()
+ .compose(RxUtils.schedulersTransformer())
+ .doOnSubscribe(disposable -> changeStateView(StateViewEnum.DATA_LOADING))
+ .doFinally(() -> changeStateView(StateViewEnum.DATA_FINISH))
+ .subscribe(getObserver(getHealthCareBaseInfoBeanLiveData()));
+ }
+
+ /**
+ * 鑾峰彇鍋ュ悍淇濆仴鐢熸椿涔犳儻
+ */
+ public void getHealthCareLifeHabits() {
+ model.getHealthCareLifeHabits()
+ .compose(RxUtils.schedulersTransformer())
+ .doOnSubscribe(disposable -> changeStateView(StateViewEnum.DATA_LOADING))
+ .doFinally(() -> changeStateView(StateViewEnum.DATA_FINISH))
+ .subscribe(getObserver(getHealthCareLifeHabitsBeanLiveData()));
+ }
+
+ /**
+ * 鑾峰彇鍋ュ悍淇濆仴鎶ょ悊鏌ヤ綋
+ */
+ public void getHealthCareNursingExamination() {
+ model.getHealthCareNursingExamination()
+ .compose(RxUtils.schedulersTransformer())
+ .doOnSubscribe(disposable -> changeStateView(StateViewEnum.DATA_LOADING))
+ .doFinally(() -> changeStateView(StateViewEnum.DATA_FINISH))
+ .subscribe(getObserver(getHealthCareNursingExaminationBeanLiveData()));
+ }
+
+ /**
+ * 鑾峰彇鍋ュ悍淇濆仴鐜板瓨闂
+ */
+ public void getHealthCareExistingProblems() {
+ model.getHealthCareExistingProblems()
+ .compose(RxUtils.schedulersTransformer())
+ .doOnSubscribe(disposable -> changeStateView(StateViewEnum.DATA_LOADING))
+ .doFinally(() -> changeStateView(StateViewEnum.DATA_FINISH))
+ .subscribe(getObserver(getHealthCareExistingProblemsBeanLiveData()));
+ }
+
+ /**
+ * 鑾峰彇鍋ュ悍淇濆仴绗旇鍐呭
+ */
+ public void getHealthCareNotesContent() {
+ model.getHealthCareNotesContent()
+ .compose(RxUtils.schedulersTransformer())
+ .doOnSubscribe(disposable -> changeStateView(StateViewEnum.DATA_LOADING))
+ .doFinally(() -> changeStateView(StateViewEnum.DATA_FINISH))
+ .subscribe(getObserver(getHealthCareNotesContentBeanLiveData()));
+ }
+
+ /**
+ * 淇敼淇濆瓨
+ */
+ public void save(){
+ Observable.zip(
+ model.updateHealthCareBaseInfo(getHealthCareBaseInfoBeanLiveData().getValue()),
+ model.updateHealthCareLifeHabits(getHealthCareLifeHabitsBeanLiveData().getValue()),
+ model.updateHealthCareNursingExamination(getHealthCareNursingExaminationBeanLiveData().getValue()),
+ model.updateHealthCareExistingProblems(getHealthCareExistingProblemsBeanLiveData().getValue()),
+ model.updateHealthCareNotesContent(getHealthCareNotesContentBeanLiveData().getValue()),
+ new Function5<ResultData<String>, ResultData<String>, ResultData<String>, ResultData<String>, ResultData<String>, String>() {
+ @Override
+ public String apply(ResultData<String> stringResultData, ResultData<String> stringResultData2, ResultData<String> stringResultData3, ResultData<String> stringResultData4, ResultData<String> stringResultData5) throws Exception {
+ if (stringResultData.getCode() == CODE_SUCCESS
+ && stringResultData2.getCode() == CODE_SUCCESS
+ && stringResultData3.getCode() == CODE_SUCCESS
+ && stringResultData4.getCode() == CODE_SUCCESS
+ && stringResultData5.getCode() == CODE_SUCCESS) {
+ return "淇濆瓨鎴愬姛";
+ } else {
+ throw new Exception("淇濆瓨澶辫触");
+ }
+ }
+ }
+ ).compose(RxUtils.schedulersTransformer()).subscribe(new Observer<String>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ changeStateView(StateViewEnum.DATA_LOADING);
+ }
+
+ @Override
+ public void onNext(String s) {
+ messageLiveData.postValue(s);
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+ changeStateView(StateViewEnum.DATA_FINISH);
+ }
+ });
}
public MutableLiveData<Boolean> getIsLifeHabitsExpendedLiveData() {
@@ -65,4 +224,78 @@
public void setIsHealthExpendedLiveData(MutableLiveData<Boolean> isHealthExpendedLiveData) {
this.isHealthExpendedLiveData = isHealthExpendedLiveData;
}
+
+ public MutableLiveData<HealthCareBaseInfoBean> getHealthCareBaseInfoBeanLiveData() {
+ if (healthCareBaseInfoBeanLiveData == null){
+ healthCareBaseInfoBeanLiveData = new MutableLiveData<>();
+ }
+ return healthCareBaseInfoBeanLiveData;
+ }
+
+ public void setHealthCareBaseInfoBeanLiveData(MutableLiveData<HealthCareBaseInfoBean> healthCareBaseInfoBeanLiveData) {
+ this.healthCareBaseInfoBeanLiveData = healthCareBaseInfoBeanLiveData;
+ }
+
+ public MutableLiveData<HealthCareLifeHabitsBean> getHealthCareLifeHabitsBeanLiveData() {
+ if (healthCareLifeHabitsBeanLiveData == null){
+ healthCareLifeHabitsBeanLiveData = new MutableLiveData<>();
+ }
+ return healthCareLifeHabitsBeanLiveData;
+ }
+
+ public void setHealthCareLifeHabitsBeanLiveData(MutableLiveData<HealthCareLifeHabitsBean> healthCareLifeHabitsBeanLiveData) {
+ this.healthCareLifeHabitsBeanLiveData = healthCareLifeHabitsBeanLiveData;
+ }
+
+ public MutableLiveData<HealthCareNursingExaminationBean> getHealthCareNursingExaminationBeanLiveData() {
+ if (healthCareNursingExaminationBeanLiveData == null){
+ healthCareNursingExaminationBeanLiveData = new MutableLiveData<>();
+ }
+ return healthCareNursingExaminationBeanLiveData;
+ }
+
+ public void setHealthCareNursingExaminationBeanLiveData(MutableLiveData<HealthCareNursingExaminationBean> healthCareNursingExaminationBeanLiveData) {
+ this.healthCareNursingExaminationBeanLiveData = healthCareNursingExaminationBeanLiveData;
+ }
+
+ public MutableLiveData<HealthCareExistingProblemsBean> getHealthCareExistingProblemsBeanLiveData() {
+ if (healthCareExistingProblemsBeanLiveData == null){
+ healthCareExistingProblemsBeanLiveData = new MutableLiveData<>();
+ }
+ return healthCareExistingProblemsBeanLiveData;
+ }
+
+ public void setHealthCareExistingProblemsBeanLiveData(MutableLiveData<HealthCareExistingProblemsBean> healthCareExistingProblemsBeanLiveData) {
+ this.healthCareExistingProblemsBeanLiveData = healthCareExistingProblemsBeanLiveData;
+ }
+
+ public MutableLiveData<HealthCareNotesContentBean> getHealthCareNotesContentBeanLiveData() {
+ if (healthCareNotesContentBeanLiveData == null){
+ healthCareNotesContentBeanLiveData = new MutableLiveData<>();
+ }
+ return healthCareNotesContentBeanLiveData;
+ }
+
+ public void setHealthCareNotesContentBeanLiveData(MutableLiveData<HealthCareNotesContentBean> healthCareNotesContentBeanLiveData) {
+ this.healthCareNotesContentBeanLiveData = healthCareNotesContentBeanLiveData;
+ }
+
+ public MutableLiveData<Boolean> getTypeLiveData() {
+ if (typeLiveData == null){
+ typeLiveData = new MutableLiveData<>();
+ typeLiveData.setValue(false);
+ }
+ return typeLiveData;
+ }
+
+ public void setTypeLiveData(MutableLiveData<Boolean> typeLiveData) {
+ this.typeLiveData = typeLiveData;
+ }
+
+ public void setTypeLiveData(boolean type) {
+ if (typeLiveData == null){
+ typeLiveData = new MutableLiveData<>();
+ }
+ typeLiveData.setValue(type);
+ }
}
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 5cb3708..0bce664 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
@@ -1,17 +1,29 @@
package com.application.zhangshi_app_android.ui.function;
-import android.graphics.drawable.ColorDrawable;
+import android.content.Intent;
+import android.text.Editable;
+import android.text.TextUtils;
+import android.text.TextWatcher;
+import android.view.MotionEvent;
import android.view.View;
-import android.view.ViewGroup;
import android.widget.PopupWindow;
+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.manager.AppManager;
import com.android.app_base.utils.ScreenSizeUtils;
+import com.android.app_base.utils.Utils;
+import com.android.app_base.utils.rxbus.RxBus;
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.HomeDevicesRvAdapter;
+import com.application.zhangshi_app_android.bean.HomeDevicesBean;
import com.application.zhangshi_app_android.databinding.ActivityHomeDevicesBinding;
import com.application.zhangshi_app_android.ui.DLBaseActivity;
+import com.github.gzuliyujiang.wheelpicker.DatePicker;
+import com.github.gzuliyujiang.wheelpicker.contract.OnDatePickedListener;
/**
* @author Ljj
@@ -21,6 +33,7 @@
public class HomeDevicesActivity extends DLBaseActivity<ActivityHomeDevicesBinding,HomeDevicesActivityViewModel> {
private HomeDevicesRvAdapter adapter;
+ private boolean isSearchLayoutVisible;
private PopupWindow mOperatePopupWindow;
@Override
@@ -40,7 +53,15 @@
@Override
public void initView() {
- adapter = new HomeDevicesRvAdapter(this);
+ //涓嬫媺鍒锋柊甯冨眬
+ binding.refreshLayout.setEnableRefresh(false);
+ binding.refreshLayout.setEnableLoadMore(true);
+ binding.refreshLayout.setEnableOverScrollDrag(true);
+ binding.refreshLayout.setOnLoadMoreListener(refreshLayout -> {
+ viewModel.getMoreHomeDevices();
+ });
+ //recyclerView閫傞厤鍣�
+ adapter = new HomeDevicesRvAdapter(this,viewModel);
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));
@@ -48,19 +69,145 @@
binding.recyclerView.addItemDecoration(itemDecoration);
binding.recyclerView.setAdapter(adapter);
+ //鍙充笂瑙掓搷浣滃脊绐�
mOperatePopupWindow = initPopUpWindow(View.inflate(this,R.layout.pop_operate,null));
- mOperatePopupWindow.getContentView().findViewById(R.id.layout_add).setVisibility(View.GONE);
- mOperatePopupWindow.getContentView().findViewById(R.id.layout_select).setVisibility(View.GONE);
- mOperatePopupWindow.getContentView().findViewById(R.id.tv_from_new_to_old).setOnClickListener(v -> {
- viewModel.sortDataList(0);
- mOperatePopupWindow.dismiss();
+ mOperatePopupWindow.getContentView().findViewById(R.id.tv_from_new_to_old).setVisibility(View.GONE);
+ mOperatePopupWindow.getContentView().findViewById(R.id.tv_from_old_to_new).setVisibility(View.GONE);
+ setOnClickListener(
+ mOperatePopupWindow.getContentView().findViewById(R.id.tv_add),
+ mOperatePopupWindow.getContentView().findViewById(R.id.tv_select),
+ mOperatePopupWindow.getContentView().findViewById(R.id.tv_from_new_to_old),
+ mOperatePopupWindow.getContentView().findViewById(R.id.tv_from_old_to_new)
+ );
+ //鐐瑰嚮鏀惧ぇ闀滄寜閽樉绀哄嚭鎼滅储妗�
+ binding.ivSearchDefault.setOnClickListener(v -> {
+ binding.layoutSearch.setVisibility(View.VISIBLE);
+ binding.layoutDefault.setVisibility(View.GONE);
});
- mOperatePopupWindow.getContentView().findViewById(R.id.tv_from_old_to_new).setOnClickListener(v -> {
- viewModel.sortDataList(1);
- mOperatePopupWindow.dismiss();
+ //鐐瑰嚮鎼滅储妗嗚彍鍗曚笅鎷夊嚭 鎼滅储鍙傛暟
+ binding.ivSearchType.setOnClickListener(v -> {
+ if (!isSearchLayoutVisible){
+ binding.layoutSearchParameter.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED);
+ int targetHeight = binding.layoutSearchParameter.getMeasuredHeight();
+ Utils.dropExpand(binding.containerSearchParameter,0,targetHeight);
+ isSearchLayoutVisible = true;
+ }
});
- binding.ivOperate.setOnClickListener(v -> {
- mOperatePopupWindow.showAsDropDown(binding.ivOperate,-ScreenSizeUtils.dip2px(this,85) +binding.ivOperate.getWidth(),0);
+ //鎼滅储鍙傛暟layout娣诲姞绌虹偣鍑讳簨浠讹紝闃叉鐐瑰嚮瀹冨唴閮╲iew鏃跺畠鍚庨潰鐨剅ecycler杩樿兘鍝嶅簲鐐瑰嚮浜嬩欢
+ binding.layoutSearchParameter.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ }
+ });
+ //鐐瑰嚮鎼滅储鎸夐挳杩涜鎼滅储
+ binding.ivSearch.setOnClickListener(v -> {
+ viewModel.getHomeDevices();
+ binding.layoutSearch.setVisibility(View.GONE);
+ binding.layoutDefault.setVisibility(View.VISIBLE);
+ binding.tvTitle.setText("鎼滅储缁撴灉");
+ hideSoftKeyboard();
+ });
+ //鐐瑰嚮娣诲姞鎸夐挳璺宠浆鍒板垱寤哄澶т簨璁伴〉闈�
+ binding.fabAdd.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ AppManager.getAppManager().startActivity(new Intent(getSelfActivity(), HomeDevicesDetailActivity.class).putExtra(BaseConfig.EXTRA_TYPE,1));
+ }
+ });
+ binding.etStartTime.addTextChangedListener(new TextWatcher() {
+ @Override
+ public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+ }
+
+ @Override
+ public void onTextChanged(CharSequence s, int start, int before, int count) {
+ if (!TextUtils.isEmpty(s)) {
+ binding.ivTimeClear.setVisibility(View.VISIBLE);
+ } else {
+ if (TextUtils.isEmpty(binding.etEndTime.getText().toString())) {
+ binding.ivTimeClear.setVisibility(View.INVISIBLE);
+ }
+ }
+ }
+
+ @Override
+ public void afterTextChanged(Editable s) {
+
+ }
+ });
+ binding.etEndTime.addTextChangedListener(new TextWatcher() {
+ @Override
+ public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+ }
+
+ @Override
+ public void onTextChanged(CharSequence s, int start, int before, int count) {
+ if (!TextUtils.isEmpty(s)) {
+ binding.ivTimeClear.setVisibility(View.VISIBLE);
+ } else {
+ if (TextUtils.isEmpty(binding.etStartTime.getText().toString())) {
+ binding.ivTimeClear.setVisibility(View.INVISIBLE);
+ }
+ }
+ }
+
+ @Override
+ public void afterTextChanged(Editable s) {
+
+ }
+ });
+ binding.etStartTime.setOnClickListener(v -> {
+ hideSoftKeyboard();
+ DatePicker datePicker = getDatePicker();
+ datePicker.setTitle("璇烽�夋嫨寮�濮嬫椂闂�");
+ datePicker.setOnDatePickedListener(new OnDatePickedListener() {
+ @Override
+ public void onDatePicked(int year, int month, int day) {
+ //浠yyy-MM-dd鐨勬牸寮忔樉绀猴紝鏈堟棩灏忎簬10鏃跺墠闈㈣ˉ0
+ binding.etStartTime.setText(String.format("%d-%02d-%02d", year, month, day));
+ if (binding.etEndTime.getText().toString().isEmpty()){
+ binding.etEndTime.setText(String.format("%d-%02d-%02d", year, month, day));
+ }else {
+ //姣旇緝寮�濮嬫椂闂村拰缁撴潫鏃堕棿鐨勫ぇ灏�
+ String startTime = binding.etStartTime.getText().toString();
+ String endTime = binding.etEndTime.getText().toString();
+ if (Utils.compareDate(startTime,endTime) > 0){
+ //浜ゆ崲
+ binding.etStartTime.setText(endTime);
+ binding.etEndTime.setText(startTime);
+ }
+ }
+ }
+ });
+ datePicker.show();
+ });
+ binding.etEndTime.setOnClickListener(v -> {
+ hideSoftKeyboard();
+ DatePicker datePicker = getDatePicker();
+ datePicker.setTitle("璇烽�夋嫨缁撴潫鏃堕棿");
+ datePicker.setOnDatePickedListener(new OnDatePickedListener() {
+ @Override
+ public void onDatePicked(int year, int month, int day) {
+ binding.etEndTime.setText(String.format("%d-%02d-%02d", year, month, day));
+ if (binding.etStartTime.getText().toString().isEmpty()){
+ binding.etStartTime.setText(String.format("%d-%02d-%02d", year, month, day));
+ }else {
+ //姣旇緝寮�濮嬫椂闂村拰缁撴潫鏃堕棿鐨勫ぇ灏�
+ String startTime = binding.etStartTime.getText().toString();
+ String endTime = binding.etEndTime.getText().toString();
+ if (Utils.compareDate(startTime,endTime) > 0){
+ //浜ゆ崲
+ binding.etStartTime.setText(endTime);
+ binding.etEndTime.setText(startTime);
+ }
+ }
+ }
+ });
+ datePicker.show();
+ });
+ binding.ivTimeClear.setOnClickListener(v -> {
+ binding.etStartTime.setText("");
+ binding.etEndTime.setText("");
});
}
@@ -74,25 +221,121 @@
viewModel.getDataListLiveData().observe(this, homeDevices -> {
adapter.setData(homeDevices);
});
+ viewModel.getCheckListLiveData().observe(this, checkList -> {
+ if (0 == viewModel.getOperateTypeLiveData().getValue()){
+ return;
+ }
+ if (checkList.isEmpty()){
+ viewModel.getOperateTypeLiveData().setValue(1);
+ }else{
+ viewModel.getOperateTypeLiveData().setValue(2);
+ }
+ });
+ viewModel.getMoreListLiveData().observe(this, moreList -> {
+ adapter.addData(moreList);
+ });
+ viewModel.getOperateTypeLiveData().observe(this, integer -> {
+ if (integer == 0){
+ binding.ivOperate.setBackgroundResource(R.drawable.ic_operate);
+ binding.ivOperate.setOnClickListener(v -> {
+ mOperatePopupWindow.showAsDropDown(binding.ivOperate,-ScreenSizeUtils.dip2px(this,85) +binding.ivOperate.getWidth(),0);
+ });
+ adapter.setCheckable(false);
+ }else if (integer == 1){
+ binding.ivOperate.setBackgroundResource(R.drawable.ic_operate_finish);
+ binding.ivOperate.setOnClickListener(v -> {
+ viewModel.getOperateTypeLiveData().postValue(0);
+ });
+ adapter.setCheckable(true);
+ }else if (integer == 2){
+ binding.ivOperate.setBackgroundResource(R.drawable.ic_delete_white);
+ binding.ivOperate.setOnClickListener(v -> {
+ new UIDialog.Builder(this)
+ .setTitle("鎮ㄧ‘瀹氳鍒犻櫎閫変腑鐨勯」鐩悧")
+ .setContent("椤圭洰鍒犻櫎鍚庡皢鏃犳硶鎭㈠")
+ .setConfirm("纭畾")
+ .setCancel("鍙栨秷")
+ .setListener(new UIDialog.OnListener() {
+ @Override
+ public void onConfirm(BaseDialog dialog) {
+ viewModel.deleteCheckList();
+ }
+ })
+ .show();
+ });
+ }
+ });
+
+ viewModel.getFinishDeleteListLiveData().observe(this, beans -> {
+ for (HomeDevicesBean bean : beans) {
+ adapter.removeItem(bean);
+ }
+ });
+
+ //瑙傚療鏁版嵁鐨勫彉鍖栵紝鏈夊彉鍖栧寘鎷坊鍔犮�佷慨鏀广�佸垹闄ら兘浼氬彂閫佹秷鎭紝鎺ユ敹鍒版秷鎭悗閲嶆柊鑾峰彇鏁版嵁杩涜鍒锋柊
+ RxBus.getInstance().toObservable(this, HomeDevicesBean.class)
+ .subscribe(bean -> {
+ viewModel.getHomeDevices();
+ });
}
- public PopupWindow initPopUpWindow(View view){
- PopupWindow popupWindow = new PopupWindow(this);
- // 璁剧疆甯冨眬鏂囦欢
- popupWindow.setContentView(view);
- // 涓轰簡閬垮厤閮ㄥ垎鏈哄瀷涓嶆樉绀猴紝闇�瑕侀噸鏂拌缃竴涓嬪楂�
- popupWindow.setWidth(ViewGroup.LayoutParams.WRAP_CONTENT);
- popupWindow.setHeight(ViewGroup.LayoutParams.WRAP_CONTENT);
- // 璁剧疆pop閫忔槑鏁堟灉
- popupWindow.setBackgroundDrawable(new ColorDrawable(0x0000));
- // 璁剧疆pop鍑哄叆鍔ㄧ敾
- popupWindow.setAnimationStyle(com.android.app_base.R.style.pop_operate);
- // 璁剧疆pop鑾峰彇鐒︾偣锛屽鏋滀负false鐐瑰嚮杩斿洖鎸夐挳浼氶��鍑哄綋鍓岮ctivity锛屽鏋減op涓湁Editor鐨勮瘽锛宖ocusable蹇呴』瑕佷负true
- popupWindow.setFocusable(true);
- // 璁剧疆pop鍙偣鍑伙紝涓篺alse鐐瑰嚮浜嬩欢鏃犳晥锛岄粯璁や负true
- popupWindow.setTouchable(true);
- // 璁剧疆鐐瑰嚮pop澶栦晶娑堝け锛岄粯璁や负false锛涘湪focusable涓簍rue鏃剁偣鍑诲渚у缁堟秷澶�
- popupWindow.setOutsideTouchable(false);
- return popupWindow;
+ @Override
+ protected void dataNull() {
+ super.dataNull();
+ binding.layoutDataNull.setVisibility(View.VISIBLE);
+ binding.refreshLayout.setVisibility(View.GONE);
}
+ @Override
+ protected void dataFinish() {
+ super.dataFinish();
+ binding.refreshLayout.finishLoadMore();
+ }
+
+ @Override
+ protected void hide() {
+ super.hide();
+ binding.layoutDataNull.setVisibility(View.GONE);
+ binding.refreshLayout.setVisibility(View.VISIBLE);
+ binding.refreshLayout.finishLoadMore();
+ }
+
+ @Override
+ public void onClick(View v) {
+ int id = v.getId();
+ if (id == R.id.tv_add){
+ AppManager.getAppManager().startActivity(new Intent(this, HomeDevicesDetailActivity.class).putExtra(BaseConfig.EXTRA_TYPE,1));
+ mOperatePopupWindow.dismiss();
+ }else if (id == R.id.tv_select){
+ viewModel.getOperateTypeLiveData().postValue(1);
+ mOperatePopupWindow.dismiss();
+ }else if (id == R.id.tv_from_new_to_old) {
+ viewModel.changeOrder(true);
+ mOperatePopupWindow.dismiss();
+ } else if (id == R.id.tv_from_old_to_new) {
+ viewModel.changeOrder(false);
+ mOperatePopupWindow.dismiss();
+ }
+ }
+
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+ if (mOperatePopupWindow != null){
+ mOperatePopupWindow.dismiss();
+ }
+ }
+
+ @Override
+ public boolean dispatchTouchEvent(MotionEvent event) {
+ float x = event.getX();
+ float y = event.getY();
+ if (isSearchLayoutVisible){
+ if (!Utils.isPointInsideView(x, y, binding.layoutSearchParameter)) {
+ Utils.pullCollapse(binding.containerSearchParameter, binding.layoutSearchParameter.getMeasuredHeight(),0);
+ isSearchLayoutVisible = false;
+ return true;
+ }
+ }
+ return super.dispatchTouchEvent(event);
+ }
}
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 d7d8806..3d70d25 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
@@ -3,27 +3,30 @@
import static com.android.app_base.base.BaseConfig.CODE_SUCCESS;
import android.app.Application;
+import android.text.TextUtils;
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.android.app_base.utils.Utils;
import com.application.zhangshi_app_android.bean.HomeDevicesBean;
-import com.application.zhangshi_app_android.bean.HomeDevicesResponseBean;
+import com.application.zhangshi_app_android.bean.HomeDevicesRequestBean;
+import com.application.zhangshi_app_android.bean.IncomeAndExpensesBean;
+import com.application.zhangshi_app_android.bean.PageResponseBean;
import com.application.zhangshi_app_android.data.DataRepository;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.Comparator;
+import java.util.ArrayList;
import java.util.Date;
-import java.util.HashMap;
import java.util.List;
import io.reactivex.Observer;
import io.reactivex.disposables.Disposable;
+import io.reactivex.functions.Action;
/**
* @author Ljj
@@ -31,8 +34,13 @@
* @desc 瀹跺涵璁惧 ViewModel
*/
public class HomeDevicesActivityViewModel extends BaseViewModel<DataRepository> {
- private MutableLiveData<List<HomeDevicesBean>> dataListLiveData;//鏁版嵁
+ private MutableLiveData<List<HomeDevicesBean>> dataListLiveData;//鑾峰彇鐨勬暟鎹�
+ private MutableLiveData<List<HomeDevicesBean>> checkListLiveData;//閫変腑鐨勬暟鎹�
+ private MutableLiveData<List<HomeDevicesBean>> moreListLiveData;//涓嬫媺鍔犺浇鏁版嵁
+ private MutableLiveData<HomeDevicesRequestBean> requestBeanLiveData;//璇锋眰鍙傛暟
+ private MutableLiveData<List<HomeDevicesBean>> finishDeleteListLiveData;//宸茬粡瀹屾垚鍒犻櫎鐨勬暟鎹紝鐢ㄤ簬adapter鐨剅emove鎿嶄綔
+ private MutableLiveData<Integer> operateTypeLiveData;//鎿嶄綔绫诲瀷 0 閫夋嫨鎿嶄綔 1.瀹屾垚 2.鍒犻櫎
public HomeDevicesActivityViewModel(@NonNull Application application) {
super(application);
@@ -43,17 +51,24 @@
return DataRepository.getInstance();
}
- public void getHomeDevices(){
- model.getHomeDevices(new HashMap<>())
+ /**
+ * 鑾峰彇鏁版嵁
+ */
+ public void getHomeDevices() {
+ if (getRequestBeanLiveData().getValue() == null){
+ getRequestBeanLiveData().setValue(new HomeDevicesRequestBean());
+ }
+ getRequestBeanLiveData().getValue().setPageNum(1);
+ model.getHomeDevices(getRequestBeanLiveData().getValue().toMap())
.compose(RxUtils.schedulersTransformer())
- .subscribe(new Observer<ResultData<HomeDevicesResponseBean>>() {
+ .subscribe(new Observer<ResultData<PageResponseBean<HomeDevicesBean>>>() {
@Override
public void onSubscribe(Disposable d) {
addSubscribe(d);
}
@Override
- public void onNext(ResultData<HomeDevicesResponseBean> data) {
+ public void onNext(ResultData<PageResponseBean<HomeDevicesBean>> data) {
if (data.getCode() == CODE_SUCCESS){
if (data.getData().getData().isEmpty()){
changeStateView(StateViewEnum.DATA_NULL);
@@ -77,6 +92,159 @@
}
});
}
+ /**
+ * 鍔犺浇鏇村
+ */
+ public void getMoreHomeDevices() {
+ if (getRequestBeanLiveData().getValue() == null){
+ getRequestBeanLiveData().setValue(new HomeDevicesRequestBean());
+ }
+ getRequestBeanLiveData().getValue().setPageNum(getRequestBeanLiveData().getValue().getPageNum() + 1);
+ model.getHomeDevices(getRequestBeanLiveData().getValue().toMap())
+ .compose(RxUtils.schedulersTransformer())
+ .doFinally(new Action() {
+ @Override
+ public void run() throws Exception {
+ changeStateView(StateViewEnum.DATA_FINISH);
+ }
+ })
+ .subscribe(new Observer<ResultData<PageResponseBean<HomeDevicesBean>>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<PageResponseBean<HomeDevicesBean>> 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());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+ /**
+ * 鍒犻櫎澶氶�夐�変腑鐨勬暟鎹�
+ */
+ public void deleteCheckList() {
+ List<HomeDevicesBean> deleteList = getCheckListLiveData().getValue();
+ if (deleteList == null){
+ return;
+ }
+ StringBuffer sb = new StringBuffer();
+ deleteList.forEach(HomeDevicesBean -> sb.append(HomeDevicesBean.getId()).append(","));
+ sb.deleteCharAt(sb.length()-1);
+ model.deleteHomeDevices(sb.toString())
+ .compose(RxUtils.schedulersTransformer())
+ .subscribe(new Observer<ResultData<String>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<String> stringResultData) {
+ if (stringResultData.getCode() == CODE_SUCCESS){
+ finishDeleteListLiveData.postValue(checkListLiveData.getValue());
+ messageLiveData.postValue("鍒犻櫎鎴愬姛");
+ getCheckListLiveData().postValue(new ArrayList<>());
+ }else {
+ messageLiveData.postValue(stringResultData.getMsg());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+ /**
+ * 鍒犻櫎鍗曚釜鏁版嵁
+ */
+ public void deleteItem(HomeDevicesBean HomeDevicesBean) {
+ model.deleteHomeDevices(String.valueOf(HomeDevicesBean.getId()))
+ .compose(RxUtils.schedulersTransformer())
+ .subscribe(new Observer<ResultData<String>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<String> stringResultData) {
+ if (stringResultData.getCode() == CODE_SUCCESS){
+ List<HomeDevicesBean> list = new ArrayList<>();
+ list.add(HomeDevicesBean);
+ finishDeleteListLiveData.postValue(list);
+ messageLiveData.postValue("鍒犻櫎鎴愬姛");
+ }else {
+ messageLiveData.postValue(stringResultData.getMsg());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+
+ public MutableLiveData<List<HomeDevicesBean>> getCheckListLiveData() {
+ if (checkListLiveData==null){
+ checkListLiveData = new MutableLiveData<>();
+ checkListLiveData.postValue(new ArrayList<>());
+ }
+ if (checkListLiveData.getValue() == null){
+ checkListLiveData.postValue(new ArrayList<>());
+ }
+ return checkListLiveData;
+ }
+
+ public void setCheckListLiveData(MutableLiveData<List<HomeDevicesBean>> checkListLiveData) {
+ this.checkListLiveData = checkListLiveData;
+ }
+
+ @NonNull
+ public MutableLiveData<HomeDevicesRequestBean> getRequestBeanLiveData() {
+ if (requestBeanLiveData == null){
+ requestBeanLiveData = new MutableLiveData<>();
+ }
+ if (requestBeanLiveData.getValue() == null){
+ requestBeanLiveData.setValue(new HomeDevicesRequestBean());
+ }
+ return requestBeanLiveData;
+ }
+
+ public void setRequestBeanLiveData(MutableLiveData<HomeDevicesRequestBean> requestBeanLiveData) {
+ this.requestBeanLiveData = requestBeanLiveData;
+ }
public MutableLiveData<List<HomeDevicesBean>> getDataListLiveData() {
if (dataListLiveData == null){
@@ -89,38 +257,92 @@
this.dataListLiveData = dataListLiveData;
}
+ @NonNull
+ public MutableLiveData<List<HomeDevicesBean>> getMoreListLiveData() {
+ if (moreListLiveData == null){
+ moreListLiveData = new MutableLiveData<>();
+ }
+ return moreListLiveData;
+ }
+
+ public void setMoreListLiveData(MutableLiveData<List<HomeDevicesBean>> moreListLiveData) {
+ this.moreListLiveData = moreListLiveData;
+ }
+
+ @NonNull
+ public MutableLiveData<Integer> getOperateTypeLiveData() {
+ if (operateTypeLiveData == null){
+ operateTypeLiveData = new MutableLiveData<>();
+ operateTypeLiveData.setValue(0);
+ }
+ return operateTypeLiveData;
+ }
+
+ public void setOperateTypeLiveData(MutableLiveData<Integer> operateTypeLiveData) {
+ this.operateTypeLiveData = operateTypeLiveData;
+ }
+
+ public LiveData<List<HomeDevicesBean>> getFinishDeleteListLiveData() {
+ if (finishDeleteListLiveData == null){
+ finishDeleteListLiveData = new MutableLiveData<>();
+ }
+ return finishDeleteListLiveData;
+ }
+
+ public void setFinishDeleteListLiveData(MutableLiveData<List<HomeDevicesBean>> finishDeleteListLiveData) {
+ this.finishDeleteListLiveData = finishDeleteListLiveData;
+ }
+
/**
- * 鎸夋椂闂存帓搴�
- * @param type 0 浠庢柊鍒版棫 1 浠庢棫鍒版柊
+ * 鏀瑰彉鎺掑簭
+ * @param b true 闄嶅簭 false 鍗囧簭
*/
- public void sortDataList(int type){
- List<HomeDevicesBean> list = dataListLiveData.getValue();
+ public void changeOrder(boolean b) {
+ List<HomeDevicesBean> list = getDataListLiveData().getValue();
if (list == null || list.isEmpty()){
return;
}
-
- list.sort(new Comparator<HomeDevicesBean>() {
- @Override
- public int compare(HomeDevicesBean o1, HomeDevicesBean o2) {
- SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd", java.util.Locale.getDefault());
- Date date1 = null;
- Date date2 = null;
- try {
- date1 = format.parse(o1.getCreateDate());
- date2 = format.parse(o2.getCreateDate());
- } catch (ParseException e) {
- throw new RuntimeException(e);
- }
- if (date1 != null && date2 != null) {
- if (type == 0){
+ if (b) {
+ // 浠庢柊鍒版棫锛宯ull鎺掓渶鍚�
+ list.sort((o1, o2) -> {
+ String happenTime1 = o1.getHappenTime();
+ String happenTime2 = o2.getHappenTime();
+ if (TextUtils.isEmpty(happenTime1) && TextUtils.isEmpty(happenTime2)) {
+ return 0;
+ } else if (TextUtils.isEmpty(happenTime1)) {
+ return 1;
+ } else if (TextUtils.isEmpty(happenTime2)) {
+ return -1;
+ } else {
+ Date date1 = Utils.parseDate(happenTime1);
+ Date date2 = Utils.parseDate(happenTime2);
+ if (date1 != null && date2 != null) {
return date2.compareTo(date1);
- }else {
+ }
+ return 0;
+ }
+ });
+ } else {
+ // 浠庢棫鍒版柊锛宯ull鎺掓渶鍓�
+ list.sort((o1, o2) -> {
+ String happenTime1 = o1.getHappenTime();
+ String happenTime2 = o2.getHappenTime();
+ if (TextUtils.isEmpty(happenTime1) && TextUtils.isEmpty(happenTime2)) {
+ return 0;
+ } else if (TextUtils.isEmpty(happenTime1)) {
+ return -1;
+ } else if (TextUtils.isEmpty(happenTime2)) {
+ return 1;
+ } else {
+ Date date1 = Utils.parseDate(happenTime1);
+ Date date2 = Utils.parseDate(happenTime2);
+ if (date1 != null && date2 != null) {
return date1.compareTo(date2);
}
+ return 0;
}
- return 0;
- }
- });
- dataListLiveData.postValue(list);
+ });
+ }
+ getDataListLiveData().setValue(list);
}
}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/HomeDevicesDetailActivity.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/HomeDevicesDetailActivity.java
index a78bb0c..cdc18b6 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/ui/function/HomeDevicesDetailActivity.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/HomeDevicesDetailActivity.java
@@ -3,20 +3,40 @@
import android.view.View;
import android.view.ViewGroup;
import android.widget.EditText;
+import android.widget.PopupWindow;
import androidx.recyclerview.widget.GridLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+import com.android.app_base.base.BaseConfig;
+import com.android.app_base.base.adapter.BaseRVAdapter;
+import com.android.app_base.base.dialog.BaseDialog;
+import com.android.app_base.base.dialog.UIDialog;
+import com.android.app_base.manager.UserManager;
+import com.android.app_base.utils.ScreenSizeUtils;
+import com.android.app_base.utils.Utils;
+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.ImageRvAdapter;
+import com.application.zhangshi_app_android.adapter.MemoRvAdapter;
import com.application.zhangshi_app_android.bean.FamilyAssetsBean;
import com.application.zhangshi_app_android.bean.HomeDevicesBean;
+import com.application.zhangshi_app_android.bean.LittleDoctorBean;
+import com.application.zhangshi_app_android.bean.MemoBean;
import com.application.zhangshi_app_android.databinding.ActivityHomeDevicesDetailBinding;
import com.application.zhangshi_app_android.ui.DLBaseActivity;
+import com.github.gzuliyujiang.wheelpicker.DatePicker;
+import com.github.gzuliyujiang.wheelpicker.contract.OnDatePickedListener;
+import com.luck.picture.lib.entity.LocalMedia;
+import com.luck.picture.lib.interfaces.OnResultCallbackListener;
+import java.io.File;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
+import java.util.Locale;
+import java.util.function.Consumer;
/**
* @author Ljj
@@ -25,7 +45,10 @@
*/
public class HomeDevicesDetailActivity extends DLBaseActivity<ActivityHomeDevicesDetailBinding,HomeDevicesDetailActivityViewModel> {
+ private int type;// 0 鏌ョ湅鍙慨鏀瑰垹闄� 1 鏂板 2 鐩存帴淇敼
+ private PopupWindow popupWindow;
private ImageRvAdapter adapter;
+ private MemoRvAdapter memoRvAdapter;
@Override
public int getLayoutId() {
@@ -39,8 +62,12 @@
@Override
public void initParam() {
- if (getIntent().hasExtra("bean")){
- viewModel.getBeanLiveData().setValue((HomeDevicesBean) getIntent().getSerializableExtra("bean"));
+ type = getIntent().getIntExtra(BaseConfig.EXTRA_TYPE,0);
+ if (type == 0 || type == 2){
+ HomeDevicesBean bean = (HomeDevicesBean) getIntent().getSerializableExtra("bean");
+ if (bean !=null){
+ viewModel.getBeanLiveData().setValue(bean);
+ }
}
}
@@ -50,54 +77,181 @@
GridLayoutManager gridLayoutManager = new GridLayoutManager(this, 3);
binding.rvImage.setLayoutManager(gridLayoutManager);
binding.rvImage.setNestedScrollingEnabled(false);
- setIsEdited(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) {
+ UserManager.getInstance().selectImage(getSelfActivity(), 9, new OnResultCallbackListener<LocalMedia>() {
+ @Override
+ public void onResult(ArrayList<LocalMedia> result) {
+ if (result.size() == 0) return;
+ for (LocalMedia media : result) {
+ String path = media.getRealPath();
+ File file = new File(path);
+ if (file.exists()) {
+ viewModel.uploadFile(file);
+ }
+ }
+ }
+
+ @Override
+ public void onCancel() {
+
+ }
+ });
+ }
+ });
+ adapter.setOnChildClickListener(R.id.iv_delete, new BaseRVAdapter.OnChildClickListener() {
+ @Override
+ public void onChildClick(RecyclerView recyclerView, View childView, int position) {
+ HomeDevicesBean bean = viewModel.getBeanLiveData().getValue();
+ if (bean !=null){
+ List<String> urlList = Utils.splitString2List(bean.getUrl(),",");
+ urlList.remove(adapter.getItem(position));
+ bean.setUrl(Utils.appendList2String(urlList,","));
+ }
+ adapter.removeItem(position);
+ viewModel.getBeanLiveData().setValue(bean);
+ }
+ });
+ binding.rvImage.setAdapter(adapter);
+
+ memoRvAdapter = new MemoRvAdapter(this);
+ LinearItemDecoration itemDecoration = new LinearItemDecoration();
+ itemDecoration.setBottomSpace(ScreenSizeUtils.dip2px(this, 15));
+ binding.rvMemo.addItemDecoration(itemDecoration);
+ binding.rvMemo.setAdapter(memoRvAdapter);
+
+ if (type == 1){
+ viewModel.getTypeLiveData().postValue(true);
+ binding.titleBar.setTitle("鏂板瀹跺涵璁惧");
+ binding.ivOperate.setOnClickListener(v -> {
+ viewModel.add();
+ });
+ }else if (type == 0){
+ popupWindow = initPopUpWindow(View.inflate(this,R.layout.pop_operate_delete,null));
+ popupWindow.getContentView().findViewById(R.id.tv_modify).setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ viewModel.getTypeLiveData().postValue(true);
+ popupWindow.dismiss();
+ }
+ });
+ popupWindow.getContentView().findViewById(R.id.tv_delete).setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ popupWindow.dismiss();
+ new UIDialog.Builder(getSelfActivity())
+ .setTitle("鎮ㄧ‘瀹氳鍒犻櫎椤圭洰鍚�")
+ .setContent("椤圭洰鍒犻櫎鍚庡皢鏃犳硶鎭㈠")
+ .setConfirm("纭畾")
+ .setCancel("鍙栨秷")
+ .setListener(new UIDialog.OnListener() {
+ @Override
+ public void onConfirm(BaseDialog dialog) {
+ viewModel.delete();
+ }
+ })
+ .show();
+ }
+ });
+ viewModel.getTypeLiveData().postValue(false);
+ }else if (type == 2){
+ viewModel.getTypeLiveData().postValue(true);
+ }
+ binding.etTime.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ DatePicker picker = getDatePicker();
+ picker.setTitle("閫夋嫨鏃堕棿");
+ picker.setOnDatePickedListener(new OnDatePickedListener() {
+ @Override
+ public void onDatePicked(int year, int month, int day) {
+ String date = String.format(Locale.CHINA, "%d-%02d-%02d", year, month, day);
+ binding.etTime.setText(date);
+ }
+ });
+ picker.show();
+ }
+ });
+
+ binding.ivAddMemo.setOnClickListener(v -> {
+ DatePicker picker = getDatePicker();
+ picker.setTitle("閫夋嫨鏃ユ湡");
+ picker.setOnDatePickedListener(new OnDatePickedListener() {
+ @Override
+ public void onDatePicked(int year, int month, int day) {
+ String date = String.format(Locale.CHINA, "%d-%02d-%02d", year, month, day);
+ MemoBean bean = new MemoBean();
+ bean.setFid(BaseConfig.MEMO_FID_HOME_DEVICES);
+ bean.setCid(viewModel.getBeanLiveData().getValue().getId());
+ bean.setHappenTime(date);
+ memoRvAdapter.addItem(0,bean);
+ memoRvAdapter.setFold(true,0);
+ }
+ });
+ picker.show();
+ });
+
}
@Override
public void initData() {
-
+ viewModel.getMemos();
}
@Override
public void initLiveDataObserve() {
viewModel.getBeanLiveData().observe(this,bean -> {
if (bean!=null){
- if (getTitleBar() != null){
- getTitleBar().setTitle(bean.getName());
- }
- 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));
+ adapter.setData(Utils.splitString2List(bean.getUrl(),","));
+ }
+ });
+ viewModel.getMemoListLiveData().observe(this, memoBeans -> {
+ if (memoBeans!=null){
+ memoRvAdapter.setData(memoBeans);
+ }
+ });
+ viewModel.getTypeLiveData().observe(this,operateType -> {
+ if (operateType){
+ if (type == 1) {
+ binding.ivOperate.setOnClickListener(v -> {
+ viewModel.add();
+ viewModel.addMemo(memoRvAdapter.getAddList());
+ });
}else {
- list = new ArrayList<>();
- list.add(url);
+ binding.ivOperate.setOnClickListener(v -> {
+ viewModel.addMemo(memoRvAdapter.getAddList());
+ viewModel.deleteMemo(memoRvAdapter.getDeleteList());
+ viewModel.updateMemo(memoRvAdapter.getUpdateList());
+ viewModel.update();
+ });
}
- adapter.setData(list);
+ binding.rvImage.getFooterViews().forEach(new Consumer<View>() {
+ @Override
+ public void accept(View view) {
+ view.setVisibility(View.VISIBLE);
+ }
+ });
+ setIsEdited(true);
+ }else {
+ binding.ivOperate.setOnClickListener(v -> {
+ popupWindow.showAsDropDown(binding.ivOperate,-ScreenSizeUtils.dip2px(this,85) +binding.ivOperate.getWidth(),0);
+ });
+ binding.rvImage.getFooterViews().forEach(new Consumer<View>() {
+ @Override
+ public void accept(View view) {
+ view.setVisibility(View.GONE);
+ }
+ });
+ setIsEdited(false);
}
});
}
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();
- }
- }
- }
+ memoRvAdapter.setEdited(isEdited);
}
}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/HomeDevicesDetailActivityViewModel.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/HomeDevicesDetailActivityViewModel.java
index d79aff7..0e41a12 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/ui/function/HomeDevicesDetailActivityViewModel.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/HomeDevicesDetailActivityViewModel.java
@@ -1,14 +1,33 @@
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.viewmodel.BaseViewModel;
-import com.application.zhangshi_app_android.bean.FamilyAssetsBean;
+import com.android.app_base.http.ResultData;
+import com.android.app_base.manager.AppManager;
+import com.android.app_base.utils.RxUtils;
+import com.android.app_base.utils.rxbus.RxBus;
import com.application.zhangshi_app_android.bean.HomeDevicesBean;
+import com.application.zhangshi_app_android.bean.MemoBean;
+import com.application.zhangshi_app_android.bean.UploadFileResponseBean;
import com.application.zhangshi_app_android.data.DataRepository;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+
+import io.reactivex.ObservableSource;
+import io.reactivex.Observer;
+import io.reactivex.disposables.Disposable;
+import io.reactivex.functions.Function;
+import okhttp3.MediaType;
+import okhttp3.MultipartBody;
+import okhttp3.RequestBody;
/**
* @author Ljj
@@ -18,6 +37,9 @@
public class HomeDevicesDetailActivityViewModel extends BaseViewModel<DataRepository> {
private MutableLiveData<HomeDevicesBean> beanLiveData;
+ private MutableLiveData<List<MemoBean>> memoListLiveData;
+
+ private MutableLiveData<Boolean> typeLiveData;//true 缂栬緫鐘舵�� false 灞曠ず鐘舵��
public HomeDevicesDetailActivityViewModel(@NonNull Application application) {
super(application);
@@ -28,14 +50,346 @@
return DataRepository.getInstance();
}
- public MutableLiveData<HomeDevicesBean> getBeanLiveData() {
- if (beanLiveData == null){
- beanLiveData = new MutableLiveData<>();
+
+ /**
+ * 澧炲姞瀹跺涵璁惧
+ */
+ public void add() {
+ model.addHomeDevices(beanLiveData.getValue())
+ .compose(RxUtils.schedulersTransformer())
+ .subscribe(new Observer<ResultData<String>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<String> stringResultData) {
+ if (stringResultData.getCode() == CODE_SUCCESS){
+ AppManager.getAppManager().finishCurrentActivity();
+ RxBus.getInstance().post(beanLiveData.getValue());
+ messageLiveData.postValue("娣诲姞鎴愬姛");
+ }else {
+ messageLiveData.postValue(stringResultData.getMsg());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+ /**
+ * 鍒犻櫎瀹跺涵璁惧
+ */
+ public void delete() {
+ if (beanLiveData.getValue() == null){
+ return;
}
- return beanLiveData;
+ model.deleteHomeDevices(String.valueOf(beanLiveData.getValue().getId()))
+ .compose(RxUtils.schedulersTransformer())
+ .subscribe(new Observer<ResultData<String>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<String> stringResultData) {
+ if (stringResultData.getCode() == CODE_SUCCESS){
+ AppManager.getAppManager().finishCurrentActivity();
+ RxBus.getInstance().post(beanLiveData.getValue());
+ messageLiveData.postValue("鍒犻櫎鎴愬姛");
+ }else {
+ messageLiveData.postValue(stringResultData.getMsg());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+ /**
+ * 淇敼瀹跺涵璁惧
+ */
+ public void update() {
+ model.updateHomeDevices(beanLiveData.getValue())
+ .compose(RxUtils.schedulersTransformer())
+ .subscribe(new Observer<ResultData<String>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<String> stringResultData) {
+ if (stringResultData.getCode() == CODE_SUCCESS){
+ AppManager.getAppManager().finishCurrentActivity();
+ RxBus.getInstance().post(beanLiveData.getValue());
+ messageLiveData.postValue("淇敼鎴愬姛");
+ }else {
+ messageLiveData.postValue(stringResultData.getMsg());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+
+ /**
+ * 涓婁紶鐢靛瓙鏂囦欢
+ */
+ public void uploadFile(File file) {
+ RequestBody requestBody = RequestBody.create(MediaType.parse("multipart/form-data"), file);
+ MultipartBody.Part body = MultipartBody.Part.createFormData("uploadFile", file.getName(), requestBody);
+ model.uploadFile(body)
+ .compose(RxUtils.schedulersTransformer())
+ .subscribe(new Observer<ResultData<UploadFileResponseBean>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<UploadFileResponseBean> resultData) {
+ if (resultData.getCode() == CODE_SUCCESS){
+ HomeDevicesBean bean = beanLiveData.getValue();
+ String url;
+ if (bean != null){
+ url = bean.getUrl();
+ if (url == null){
+ url = resultData.getData().getUrl();
+ }else {
+ url = url + "," + resultData.getData().getUrl();
+ }
+ bean.setUrl(url);
+ beanLiveData.postValue(bean);
+ }
+ }else {
+ messageLiveData.postValue(resultData.getMsg());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+
+ /**
+ * 鑾峰彇澶囧繕褰�
+ */
+ public void getMemos() {
+ if (beanLiveData.getValue() == null) {
+ return;
+ }
+ model.getMemos("2017", String.valueOf(beanLiveData.getValue().getId()))
+ .compose(RxUtils.schedulersTransformer())
+ .subscribe(new Observer<ResultData<List<MemoBean>>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<List<MemoBean>> data) {
+ if (data.getCode() == CODE_SUCCESS){
+ memoListLiveData.postValue(data.getData());
+ }else {
+ messageLiveData.postValue(data.getMsg());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+
+ /**
+ * 娣诲姞澶囧繕褰�
+ */
+ public void addMemo(List<MemoBean> list) {
+ if (list == null || list.size() == 0) {
+ return;
+ }
+ for (MemoBean memoBean : list) {
+ model.addMemo(memoBean)
+ .compose(RxUtils.schedulersTransformer())
+ .subscribe(new Observer<ResultData<String>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<String> data) {
+ if (data.getCode() == CODE_SUCCESS) {
+ messageLiveData.postValue("娣诲姞澶囧繕褰曟垚鍔�");
+ } else {
+ messageLiveData.postValue(data.getMsg());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+
+ }
+
+ /**
+ * 鍒犻櫎澶囧繕褰�
+ */
+ public void deleteMemo(List<MemoBean> list) {
+ if (list == null || list.size() == 0) {
+ return;
+ }
+ StringBuffer sb = new StringBuffer();
+ list.forEach(HomeDevicesBean -> sb.append(HomeDevicesBean.getId()).append(","));
+ sb.deleteCharAt(sb.length()-1);
+ model.deleteMemo(sb.toString())
+ .compose(RxUtils.schedulersTransformer())
+ .subscribe(new Observer<ResultData<String>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<String> stringResultData) {
+ if (stringResultData.getCode() == CODE_SUCCESS){
+ messageLiveData.postValue("鍒犻櫎澶囧繕褰曟垚鍔�");
+ }else {
+ messageLiveData.postValue(stringResultData.getMsg());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+
+ /**
+ * 淇敼澶囧繕褰�
+ */
+ public void updateMemo(List<MemoBean> list) {
+ if (list == null || list.size() == 0) {
+ return;
+ }
+ for (MemoBean memoBean : list) {
+ model.updateMemo(memoBean)
+ .compose(RxUtils.schedulersTransformer())
+ .subscribe(new Observer<ResultData<String>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<String> data) {
+ if (data.getCode() == CODE_SUCCESS) {
+ messageLiveData.postValue("淇敼澶囧繕褰曟垚鍔�");
+ } else {
+ messageLiveData.postValue(data.getMsg());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+ }
+
+
+ public MutableLiveData<Boolean> getTypeLiveData() {
+ if (typeLiveData == null){
+ typeLiveData = new MutableLiveData<>();
+ }
+ return typeLiveData;
+ }
+
+ public void setTypeLiveData(MutableLiveData<Boolean> typeLiveData) {
+ this.typeLiveData = typeLiveData;
}
public void setBeanLiveData(MutableLiveData<HomeDevicesBean> beanLiveData) {
this.beanLiveData = beanLiveData;
}
+
+ public MutableLiveData<HomeDevicesBean> getBeanLiveData() {
+ if (beanLiveData == null){
+ beanLiveData = new MutableLiveData<>();
+ }
+ if (beanLiveData.getValue() == null){
+ beanLiveData.setValue(new HomeDevicesBean());
+ }
+ return beanLiveData;
+ }
+
+ public MutableLiveData<List<MemoBean>> getMemoListLiveData() {
+ if (memoListLiveData == null){
+ memoListLiveData = new MutableLiveData<>();
+ }
+ return memoListLiveData;
+ }
+
+ public void setMemoListLiveData(MutableLiveData<List<MemoBean>> memoListLiveData) {
+ this.memoListLiveData = memoListLiveData;
+ }
+
}
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
index 6bde34c..101e13e 100644
--- 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
@@ -1,12 +1,22 @@
package com.application.zhangshi_app_android.ui.function;
+import android.text.Editable;
+import android.text.TextUtils;
+import android.text.TextWatcher;
+import android.view.MotionEvent;
+import android.view.View;
+import android.widget.PopupWindow;
+
+import com.android.app_base.utils.ScreenSizeUtils;
+import com.android.app_base.utils.Utils;
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;
+import com.github.gzuliyujiang.wheelpicker.DatePicker;
+import com.github.gzuliyujiang.wheelpicker.contract.OnDatePickedListener;
/**
* @author Ljj
@@ -14,8 +24,9 @@
* @desc 鑽h獕鏀惰棌 Activity
*/
public class HonorCollectionActivity extends DLBaseActivity<ActivityHonorCollectionBinding, HonorCollectionActivityViewModel> {
-
private HonorCollectionRvAdapter adapter;
+ private PopupWindow mOperatePopupWindow;
+ private boolean isSearchLayoutVisible;
@Override
public int getLayoutId() {
@@ -34,6 +45,14 @@
@Override
public void initView() {
+ //涓嬫媺鍒锋柊甯冨眬
+ binding.refreshLayout.setEnableRefresh(false);
+ binding.refreshLayout.setEnableLoadMore(true);
+ binding.refreshLayout.setEnableOverScrollDrag(true);
+ binding.refreshLayout.setOnLoadMoreListener(refreshLayout -> {
+ viewModel.loadMoreHonorCollections();
+ });
+ //recyclerView閫傞厤鍣�
adapter = new HonorCollectionRvAdapter(this);
LinearItemDecoration itemDecoration = new LinearItemDecoration();
itemDecoration.setBottomSpace((int) getResources().getDimension(com.android.app_base.R.dimen.dp_12));
@@ -41,6 +60,167 @@
itemDecoration.setFirstTop((int) getResources().getDimension(com.android.app_base.R.dimen.dp_20));
binding.recyclerView.addItemDecoration(itemDecoration);
binding.recyclerView.setAdapter(adapter);
+ //鍙充笂瑙掓搷浣滃脊绐�
+ mOperatePopupWindow = initPopUpWindow(View.inflate(this,R.layout.pop_operate,null));
+ mOperatePopupWindow.getContentView().findViewById(R.id.layout_add).setVisibility(View.GONE);
+ mOperatePopupWindow.getContentView().findViewById(R.id.layout_select).setVisibility(View.GONE);
+ mOperatePopupWindow.getContentView().findViewById(R.id.tv_from_new_to_old).setOnClickListener(v -> {
+ viewModel.sortDataList(0);
+ mOperatePopupWindow.dismiss();
+ });
+ mOperatePopupWindow.getContentView().findViewById(R.id.tv_from_old_to_new).setOnClickListener(v -> {
+ viewModel.sortDataList(1);
+ mOperatePopupWindow.dismiss();
+ });
+ //鐐瑰嚮寮瑰嚭鎿嶄綔寮圭獥
+ binding.ivOperate.setOnClickListener(v -> {
+ mOperatePopupWindow.showAsDropDown(binding.ivOperate,-ScreenSizeUtils.dip2px(this,85) +binding.ivOperate.getWidth(),0);
+ });
+ //鐐瑰嚮鏀惧ぇ闀滄寜閽樉绀哄嚭鎼滅储妗�
+ binding.ivSearchDefault.setOnClickListener(v -> {
+ binding.layoutSearch.setVisibility(View.VISIBLE);
+ binding.layoutDefault.setVisibility(View.GONE);
+ });
+ //鐐瑰嚮鎼滅储妗嗚彍鍗曚笅鎷夊嚭 鎼滅储鍙傛暟
+ binding.ivSearchType.setOnClickListener(v -> {
+ if (!isSearchLayoutVisible){
+ binding.layoutSearchParameter.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED);
+ int targetHeight = binding.layoutSearchParameter.getMeasuredHeight();
+ Utils.pullCollapse(binding.containerSearchParameter,0,targetHeight);
+ isSearchLayoutVisible = true;
+ }
+ });
+ //鎼滅储鍙傛暟layout娣诲姞绌虹偣鍑讳簨浠讹紝闃叉鐐瑰嚮瀹冨唴閮╲iew鏃跺畠鍚庨潰鐨剅ecycler杩樿兘鍝嶅簲鐐瑰嚮浜嬩欢
+ binding.layoutSearchParameter.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ }
+ });
+ //鐐瑰嚮鎼滅储鎸夐挳杩涜鎼滅储
+ binding.ivSearch.setOnClickListener(v -> {
+ viewModel.getHonorCollections();
+ binding.layoutSearch.setVisibility(View.GONE);
+ binding.layoutDefault.setVisibility(View.VISIBLE);
+ binding.tvTitle.setText("鎼滅储缁撴灉");
+ hideSoftKeyboard();
+ });
+ binding.etStartTime.addTextChangedListener(new TextWatcher() {
+ @Override
+ public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+ }
+
+ @Override
+ public void onTextChanged(CharSequence s, int start, int before, int count) {
+ if (!TextUtils.isEmpty(s)) {
+ binding.ivTimeClear.setVisibility(View.VISIBLE);
+ } else {
+ if (TextUtils.isEmpty(binding.etEndTime.getText().toString())) {
+ binding.ivTimeClear.setVisibility(View.INVISIBLE);
+ }
+ }
+ }
+
+ @Override
+ public void afterTextChanged(Editable s) {
+
+ }
+ });
+ binding.etEndTime.addTextChangedListener(new TextWatcher() {
+ @Override
+ public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+ }
+
+ @Override
+ public void onTextChanged(CharSequence s, int start, int before, int count) {
+ if (!TextUtils.isEmpty(s)) {
+ binding.ivTimeClear.setVisibility(View.VISIBLE);
+ } else {
+ if (TextUtils.isEmpty(binding.etStartTime.getText().toString())) {
+ binding.ivTimeClear.setVisibility(View.INVISIBLE);
+ }
+ }
+ }
+
+ @Override
+ public void afterTextChanged(Editable s) {
+
+ }
+ });
+ binding.etStartTime.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ hideSoftKeyboard();
+ DatePicker datePicker = getDatePicker();
+ datePicker.setTitle("璇烽�夋嫨寮�濮嬫椂闂�");
+ datePicker.setOnDatePickedListener(new OnDatePickedListener() {
+ @Override
+ public void onDatePicked(int year, int month, int day) {
+ //浠yyy-MM-dd鐨勬牸寮忔樉绀猴紝鏈堟棩灏忎簬10鏃跺墠闈㈣ˉ0
+ binding.etStartTime.setText(String.format("%d-%02d-%02d", year, month, day));
+ if (binding.etEndTime.getText().toString().isEmpty()){
+ binding.etEndTime.setText(String.format("%d-%02d-%02d", year, month, day));
+ }else {
+ //姣旇緝寮�濮嬫椂闂村拰缁撴潫鏃堕棿鐨勫ぇ灏�
+ String startTime = binding.etStartTime.getText().toString();
+ String endTime = binding.etEndTime.getText().toString();
+ if (Utils.compareDate(startTime,endTime) > 0){
+ //浜ゆ崲
+ binding.etStartTime.setText(endTime);
+ binding.etEndTime.setText(startTime);
+ }
+ }
+ }
+ });
+ datePicker.show();
+ }
+ });
+ binding.etEndTime.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ hideSoftKeyboard();
+ DatePicker datePicker = getDatePicker();
+ datePicker.setTitle("璇烽�夋嫨缁撴潫鏃堕棿");
+ datePicker.setOnDatePickedListener(new OnDatePickedListener() {
+ @Override
+ public void onDatePicked(int year, int month, int day) {
+ binding.etEndTime.setText(String.format("%d-%02d-%02d", year, month, day));
+ if (binding.etStartTime.getText().toString().isEmpty()){
+ binding.etStartTime.setText(String.format("%d-%02d-%02d", year, month, day));
+ }else {
+ //姣旇緝寮�濮嬫椂闂村拰缁撴潫鏃堕棿鐨勫ぇ灏�
+ String startTime = binding.etStartTime.getText().toString();
+ String endTime = binding.etEndTime.getText().toString();
+ if (Utils.compareDate(startTime,endTime) > 0){
+ //浜ゆ崲
+ binding.etStartTime.setText(endTime);
+ binding.etEndTime.setText(startTime);
+ }
+ }
+ }
+ });
+ datePicker.show();
+ }
+ });
+ binding.ivTimeClear.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ binding.etStartTime.setText("");
+ binding.etEndTime.setText("");
+ }
+ });
+ }
+ @Override
+ public boolean dispatchTouchEvent(MotionEvent event) {
+ float x = event.getX();
+ float y = event.getY();
+ if (isSearchLayoutVisible){
+ if (!Utils.isPointInsideView(x, y, binding.layoutSearchParameter)) {
+ Utils.pullCollapse(binding.containerSearchParameter, binding.layoutSearchParameter.getMeasuredHeight(),0);
+ isSearchLayoutVisible = false;
+ return true;
+ }
+ }
+ return super.dispatchTouchEvent(event);
}
@Override
@@ -50,8 +230,31 @@
@Override
public void initLiveDataObserve() {
- viewModel.getDataListLiveData().observe(this, homeDevices -> {
- adapter.setData(homeDevices);
+ viewModel.getDataListLiveData().observe(this, list -> {
+ adapter.setData(list);
});
+ viewModel.getMoreListLiveData().observe(this, list -> {
+ adapter.addData(list);
+ });
+ }
+ @Override
+ protected void dataNull() {
+ super.dataNull();
+ binding.layoutDataNull.setVisibility(View.VISIBLE);
+ binding.refreshLayout.setVisibility(View.GONE);
+ }
+
+ @Override
+ protected void dataFinish() {
+ super.dataFinish();
+ binding.refreshLayout.finishLoadMore();
+ }
+
+ @Override
+ protected void hide() {
+ super.hide();
+ binding.layoutDataNull.setVisibility(View.GONE);
+ binding.refreshLayout.setVisibility(View.VISIBLE);
+ binding.refreshLayout.finishLoadMore();
}
}
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
index d12ded7..f463614 100644
--- 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
@@ -3,6 +3,7 @@
import static com.android.app_base.base.BaseConfig.CODE_SUCCESS;
import android.app.Application;
+import android.text.TextUtils;
import androidx.annotation.NonNull;
import androidx.lifecycle.LiveData;
@@ -12,18 +13,24 @@
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.android.app_base.utils.Utils;
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.text.ParseException;
+import java.text.SimpleDateFormat;
import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.Date;
import java.util.HashMap;
import java.util.List;
import io.reactivex.Observer;
import io.reactivex.disposables.Disposable;
+import io.reactivex.functions.Action;
/**
* @author Ljj
@@ -31,9 +38,10 @@
* @desc 鑽h獕鏀惰棌 ViewModel
*/
public class HonorCollectionActivityViewModel extends BaseViewModel<DataRepository> {
+ private MutableLiveData<List<HonorCollectionBean>> dataListLiveData;//鎵�鏈夋暟鎹�
+ private MutableLiveData<List<HonorCollectionBean>> moreListLiveData;//鍔犺浇鏇村鏁版嵁
- private MutableLiveData<List<HonorCollectionBean>> dataListLiveData;
- private HonorCollectionRequestBean requestBean = new HonorCollectionRequestBean();
+ private MutableLiveData<HonorCollectionRequestBean> requestBeanLiveData;//璇锋眰鍙傛暟
public HonorCollectionActivityViewModel(@NonNull Application application) {
super(application);
@@ -44,19 +52,16 @@
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;
- }
-
+ /**
+ * 鑾峰彇鑽h獕鏀惰棌
+ */
public void getHonorCollections() {
- model.getHonorCollections(requestBean.toMap())
+ if (getRequestBeanLiveData().getValue() == null){
+ getRequestBeanLiveData().setValue(new HonorCollectionRequestBean());
+ }
+ getRequestBeanLiveData().getValue().setPageNum(1);
+ model.getHonorCollections(getRequestBeanLiveData().getValue().toMap())
.compose(RxUtils.schedulersTransformer())
.subscribe(new Observer<ResultData<HonorCollectionResponseBean>>() {
@Override
@@ -89,4 +94,139 @@
}
});
}
+ /**
+ * 鍔犺浇鏇村
+ */
+ public void loadMoreHonorCollections(){
+ if (getRequestBeanLiveData().getValue() == null){
+ getRequestBeanLiveData().setValue(new HonorCollectionRequestBean());
+ }
+ getRequestBeanLiveData().getValue().setPageNum(getRequestBeanLiveData().getValue().getPageNum() + 1);
+ model.getHonorCollections(getRequestBeanLiveData().getValue().toMap())
+ .compose(RxUtils.schedulersTransformer())
+ .doFinally(new Action() {
+ @Override
+ public void run() throws Exception {
+ changeStateView(StateViewEnum.DATA_FINISH);
+ }
+ })
+ .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()){
+ messageLiveData.postValue("娌℃湁鏇村鏁版嵁浜�");
+ }else {
+ changeStateView(StateViewEnum.HIDE);
+ moreListLiveData.postValue(data.getData().getData());
+ }
+ }else {
+ messageLiveData.postValue(data.getMsg());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+ public MutableLiveData<List<HonorCollectionBean>> getDataListLiveData() {
+ if (dataListLiveData == null){
+ dataListLiveData = new MutableLiveData<>();
+ }
+ return dataListLiveData;
+ }
+ public void setDataListLiveData(MutableLiveData<List<HonorCollectionBean>> dataListLiveData) {
+ this.dataListLiveData = dataListLiveData;
+ }
+ public MutableLiveData<HonorCollectionRequestBean> getRequestBeanLiveData() {
+ if (requestBeanLiveData == null){
+ requestBeanLiveData = new MutableLiveData<>();
+ }
+ if (requestBeanLiveData.getValue() == null){
+ requestBeanLiveData.setValue(new HonorCollectionRequestBean());
+ }
+ return requestBeanLiveData;
+ }
+
+ public void setRequestBeanLiveData(MutableLiveData<HonorCollectionRequestBean> requestBeanLiveData) {
+ this.requestBeanLiveData = requestBeanLiveData;
+ }
+
+
+
+ public MutableLiveData<List<HonorCollectionBean>> getMoreListLiveData() {
+ if (moreListLiveData == null){
+ moreListLiveData = new MutableLiveData<>();
+ }
+ return moreListLiveData;
+ }
+
+ public void setMoreListLiveData(MutableLiveData<List<HonorCollectionBean>> moreListLiveData) {
+ this.moreListLiveData = moreListLiveData;
+ }
+
+ /**
+ * 鎺掑簭
+ * @param type 0 浠庢柊鍒版棫 1 浠庢棫鍒版柊
+ */
+ public void sortDataList(int type){
+ List<HonorCollectionBean> list = dataListLiveData.getValue();
+ if (list == null || list.isEmpty()){
+ return;
+ }
+ if (type == 0) {
+ // 浠庢柊鍒版棫锛宯ull鎺掓渶鍚�
+ list.sort((o1, o2) -> {
+ String happenTime1 = o1.getHappenTime();
+ String happenTime2 = o2.getHappenTime();
+ if (TextUtils.isEmpty(happenTime1) && TextUtils.isEmpty(happenTime2)) {
+ return 0;
+ } else if (TextUtils.isEmpty(happenTime1)) {
+ return 1;
+ } else if (TextUtils.isEmpty(happenTime2)) {
+ return -1;
+ } else {
+ Date date1 = Utils.parseDate(happenTime1);
+ Date date2 = Utils.parseDate(happenTime2);
+ if (date1 != null && date2 != null) {
+ return date2.compareTo(date1);
+ }
+ return 0;
+ }
+ });
+ } else if (type == 1) {
+ // 浠庢棫鍒版柊锛宯ull鎺掓渶鍓�
+ list.sort((o1, o2) -> {
+ String happenTime1 = o1.getHappenTime();
+ String happenTime2 = o2.getHappenTime();
+ if (TextUtils.isEmpty(happenTime1) && TextUtils.isEmpty(happenTime2)) {
+ return 0;
+ } else if (TextUtils.isEmpty(happenTime1)) {
+ return -1;
+ } else if (TextUtils.isEmpty(happenTime2)) {
+ return 1;
+ } else {
+ Date date1 = Utils.parseDate(happenTime1);
+ Date date2 = Utils.parseDate(happenTime2);
+ if (date1 != null && date2 != null) {
+ return date1.compareTo(date2);
+ }
+ return 0;
+ }
+ });
+ }
+ dataListLiveData.setValue(list);
+ }
}
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
index 96263f0..583ed8c 100644
--- 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
@@ -6,13 +6,18 @@
import androidx.recyclerview.widget.GridLayoutManager;
+import com.android.app_base.manager.UserManager;
+import com.android.app_base.utils.Utils;
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 com.luck.picture.lib.entity.LocalMedia;
+import com.luck.picture.lib.interfaces.OnResultCallbackListener;
+import java.io.File;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@@ -48,6 +53,7 @@
GridLayoutManager gridLayoutManager = new GridLayoutManager(this, 3);
binding.rvImage.setLayoutManager(gridLayoutManager);
binding.rvImage.setNestedScrollingEnabled(false);
+ binding.rvImage.setAdapter(adapter);
setIsEdited(false);
}
@@ -60,18 +66,7 @@
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);
- }
+ List<String> list = Utils.splitString2List(bean.getUrl(),",");
adapter.setData(list);
}
});
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
index d632efd..4ae256c 100644
--- 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
@@ -1,13 +1,22 @@
package com.application.zhangshi_app_android.ui.function;
+import android.text.Editable;
+import android.text.TextUtils;
+import android.text.TextWatcher;
+import android.view.MotionEvent;
+import android.view.View;
+import android.widget.PopupWindow;
+
+import com.android.app_base.utils.ScreenSizeUtils;
+import com.android.app_base.utils.Utils;
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;
+import com.github.gzuliyujiang.wheelpicker.DatePicker;
+import com.github.gzuliyujiang.wheelpicker.contract.OnDatePickedListener;
/**
* @author Ljj
@@ -17,7 +26,8 @@
public class HundredWishActivity extends DLBaseActivity<ActivityHundredWishBinding, HundredWishActivityViewModel> {
private HundredWishRvAdapter adapter;
-
+ private PopupWindow mOperatePopupWindow;
+ private boolean isSearchLayoutVisible;
@Override
public int getLayoutId() {
return R.layout.activity_hundred_wish;
@@ -35,6 +45,14 @@
@Override
public void initView() {
+ //涓嬫媺鍒锋柊甯冨眬
+ binding.refreshLayout.setEnableRefresh(false);
+ binding.refreshLayout.setEnableLoadMore(true);
+ binding.refreshLayout.setEnableOverScrollDrag(true);
+ binding.refreshLayout.setOnLoadMoreListener(refreshLayout -> {
+ viewModel.getMoreProperty();
+ });
+ //recyclerView閫傞厤鍣�
adapter = new HundredWishRvAdapter(this);
LinearItemDecoration itemDecoration = new LinearItemDecoration();
itemDecoration.setBottomSpace((int) getResources().getDimension(com.android.app_base.R.dimen.dp_12));
@@ -42,11 +60,164 @@
itemDecoration.setFirstTop((int) getResources().getDimension(com.android.app_base.R.dimen.dp_20));
binding.recyclerView.addItemDecoration(itemDecoration);
binding.recyclerView.setAdapter(adapter);
+ //鍙充笂瑙掓搷浣滃脊绐�
+ mOperatePopupWindow = initPopUpWindow(View.inflate(this,R.layout.pop_operate,null));
+ mOperatePopupWindow.getContentView().findViewById(R.id.layout_add).setVisibility(View.GONE);
+ mOperatePopupWindow.getContentView().findViewById(R.id.layout_select).setVisibility(View.GONE);
+ mOperatePopupWindow.getContentView().findViewById(R.id.tv_from_new_to_old).setOnClickListener(v -> {
+ viewModel.sortDataList(0);
+ mOperatePopupWindow.dismiss();
+ });
+ mOperatePopupWindow.getContentView().findViewById(R.id.tv_from_old_to_new).setOnClickListener(v -> {
+ viewModel.sortDataList(1);
+ mOperatePopupWindow.dismiss();
+ });
+ //鐐瑰嚮寮瑰嚭鎿嶄綔寮圭獥
+ binding.ivOperate.setOnClickListener(v -> {
+ mOperatePopupWindow.showAsDropDown(binding.ivOperate,-ScreenSizeUtils.dip2px(this,85) +binding.ivOperate.getWidth(),0);
+ });
+ //鐐瑰嚮鏀惧ぇ闀滄寜閽樉绀哄嚭鎼滅储妗�
+ binding.ivSearchDefault.setOnClickListener(v -> {
+ binding.layoutSearch.setVisibility(View.VISIBLE);
+ binding.layoutDefault.setVisibility(View.GONE);
+ });
+ //鐐瑰嚮鎼滅储妗嗚彍鍗曚笅鎷夊嚭 鎼滅储鍙傛暟
+ binding.ivSearchType.setOnClickListener(v -> {
+ if (!isSearchLayoutVisible){
+ binding.layoutSearchParameter.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED);
+ int targetHeight = binding.layoutSearchParameter.getMeasuredHeight();
+ Utils.pullCollapse(binding.containerSearchParameter,0,targetHeight);
+ isSearchLayoutVisible = true;
+ }
+ });
+ //鎼滅储鍙傛暟layout娣诲姞绌虹偣鍑讳簨浠讹紝闃叉鐐瑰嚮瀹冨唴閮╲iew鏃跺畠鍚庨潰鐨剅ecycler杩樿兘鍝嶅簲鐐瑰嚮浜嬩欢
+ binding.layoutSearchParameter.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ }
+ });
+ //鐐瑰嚮鎼滅储鎸夐挳杩涜鎼滅储
+ binding.ivSearch.setOnClickListener(v -> {
+ viewModel.getProperty();
+ binding.layoutSearch.setVisibility(View.GONE);
+ binding.layoutDefault.setVisibility(View.VISIBLE);
+ binding.tvTitle.setText("鎼滅储缁撴灉");
+ hideSoftKeyboard();
+ });
+ binding.etStartTime.addTextChangedListener(new TextWatcher() {
+ @Override
+ public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+ }
+
+ @Override
+ public void onTextChanged(CharSequence s, int start, int before, int count) {
+ if (!TextUtils.isEmpty(s)) {
+ binding.ivTimeClear.setVisibility(View.VISIBLE);
+ } else {
+ if (TextUtils.isEmpty(binding.etEndTime.getText().toString())) {
+ binding.ivTimeClear.setVisibility(View.INVISIBLE);
+ }
+ }
+ }
+
+ @Override
+ public void afterTextChanged(Editable s) {
+
+ }
+ });
+ binding.etEndTime.addTextChangedListener(new TextWatcher() {
+ @Override
+ public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+ }
+
+ @Override
+ public void onTextChanged(CharSequence s, int start, int before, int count) {
+ if (!TextUtils.isEmpty(s)) {
+ binding.ivTimeClear.setVisibility(View.VISIBLE);
+ } else {
+ if (TextUtils.isEmpty(binding.etStartTime.getText().toString())) {
+ binding.ivTimeClear.setVisibility(View.INVISIBLE);
+ }
+ }
+ }
+
+ @Override
+ public void afterTextChanged(Editable s) {
+
+ }
+ });
+ binding.etStartTime.setOnClickListener(v -> {
+ hideSoftKeyboard();
+ DatePicker datePicker = getDatePicker();
+ datePicker.setTitle("璇烽�夋嫨寮�濮嬫椂闂�");
+ datePicker.setOnDatePickedListener(new OnDatePickedListener() {
+ @Override
+ public void onDatePicked(int year, int month, int day) {
+ //浠yyy-MM-dd鐨勬牸寮忔樉绀猴紝鏈堟棩灏忎簬10鏃跺墠闈㈣ˉ0
+ binding.etStartTime.setText(String.format("%d-%02d-%02d", year, month, day));
+ if (binding.etEndTime.getText().toString().isEmpty()){
+ binding.etEndTime.setText(String.format("%d-%02d-%02d", year, month, day));
+ }else {
+ //姣旇緝寮�濮嬫椂闂村拰缁撴潫鏃堕棿鐨勫ぇ灏�
+ String startTime = binding.etStartTime.getText().toString();
+ String endTime = binding.etEndTime.getText().toString();
+ if (Utils.compareDate(startTime,endTime) > 0){
+ //浜ゆ崲
+ binding.etStartTime.setText(endTime);
+ binding.etEndTime.setText(startTime);
+ }
+ }
+ }
+ });
+ datePicker.show();
+ });
+ binding.etEndTime.setOnClickListener(v -> {
+ hideSoftKeyboard();
+ DatePicker datePicker = getDatePicker();
+ datePicker.setTitle("璇烽�夋嫨缁撴潫鏃堕棿");
+ datePicker.setOnDatePickedListener(new OnDatePickedListener() {
+ @Override
+ public void onDatePicked(int year, int month, int day) {
+ binding.etEndTime.setText(String.format("%d-%02d-%02d", year, month, day));
+ if (binding.etStartTime.getText().toString().isEmpty()){
+ binding.etStartTime.setText(String.format("%d-%02d-%02d", year, month, day));
+ }else {
+ //姣旇緝寮�濮嬫椂闂村拰缁撴潫鏃堕棿鐨勫ぇ灏�
+ String startTime = binding.etStartTime.getText().toString();
+ String endTime = binding.etEndTime.getText().toString();
+ if (Utils.compareDate(startTime,endTime) > 0){
+ //浜ゆ崲
+ binding.etStartTime.setText(endTime);
+ binding.etEndTime.setText(startTime);
+ }
+ }
+ }
+ });
+ datePicker.show();
+ });
+ binding.ivTimeClear.setOnClickListener(v -> {
+ binding.etStartTime.setText("");
+ binding.etEndTime.setText("");
+ });
}
+ @Override
+ public boolean dispatchTouchEvent(MotionEvent event) {
+ float x = event.getX();
+ float y = event.getY();
+ if (isSearchLayoutVisible){
+ if (!Utils.isPointInsideView(x, y, binding.layoutSearchParameter)) {
+ Utils.pullCollapse(binding.containerSearchParameter, binding.layoutSearchParameter.getMeasuredHeight(),0);
+ isSearchLayoutVisible = false;
+ return true;
+ }
+ }
+ return super.dispatchTouchEvent(event);
+ }
+
@Override
public void initData() {
- viewModel.getHundredWish();
+ viewModel.getProperty();
}
@Override
@@ -54,5 +225,28 @@
viewModel.getDataListLiveData().observe(this, dataList -> {
adapter.setData(dataList);
});
+ viewModel.getMoreListLiveData().observe(this, list -> {
+ adapter.addData(list);
+ });
+ }
+ @Override
+ protected void dataNull() {
+ super.dataNull();
+ binding.layoutDataNull.setVisibility(View.VISIBLE);
+ binding.refreshLayout.setVisibility(View.GONE);
+ }
+
+ @Override
+ protected void dataFinish() {
+ super.dataFinish();
+ binding.refreshLayout.finishLoadMore();
+ }
+
+ @Override
+ protected void hide() {
+ super.hide();
+ binding.layoutDataNull.setVisibility(View.GONE);
+ binding.refreshLayout.setVisibility(View.VISIBLE);
+ binding.refreshLayout.finishLoadMore();
}
}
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
index 831bd6f..4e7ea82 100644
--- 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
@@ -1,17 +1,30 @@
package com.application.zhangshi_app_android.ui.function;
+import static com.android.app_base.base.BaseConfig.CODE_SUCCESS;
+
import android.app.Application;
+import android.text.TextUtils;
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.android.app_base.utils.Utils;
import com.application.zhangshi_app_android.bean.HundredWishBean;
-import com.application.zhangshi_app_android.bean.PropertyBean;
+import com.application.zhangshi_app_android.bean.HundredWishRequestBean;
+import com.application.zhangshi_app_android.bean.PageResponseBean;
import com.application.zhangshi_app_android.data.DataRepository;
import java.util.ArrayList;
+import java.util.Date;
import java.util.List;
+
+import io.reactivex.Observer;
+import io.reactivex.disposables.Disposable;
+import io.reactivex.functions.Action;
/**
* @author Ljj
@@ -20,6 +33,8 @@
*/
public class HundredWishActivityViewModel extends BaseViewModel<DataRepository> {
private MutableLiveData<List<HundredWishBean>> dataListLiveData;
+ private MutableLiveData<List<HundredWishBean>> moreListLiveData;//鍔犺浇鏇村鏁版嵁
+ private MutableLiveData<HundredWishRequestBean> requestBeanLiveData;//璇锋眰鍙傛暟
public HundredWishActivityViewModel(@NonNull Application application) {
super(application);
@@ -29,42 +44,180 @@
protected DataRepository initModel() {
return DataRepository.getInstance();
}
+ /**
+ * 鑾峰彇鏁版嵁
+ */
+ public void getProperty() {
+ if (getRequestBeanLiveData().getValue() == null){
+ getRequestBeanLiveData().setValue(new HundredWishRequestBean());
+ }
+ getRequestBeanLiveData().getValue().setPageNum(1);
+ model.getHundredWish(getRequestBeanLiveData().getValue().toMap())
+ .compose(RxUtils.schedulersTransformer())
+ .subscribe(new Observer<ResultData<PageResponseBean<HundredWishBean>>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+ @Override
+ public void onNext(ResultData<PageResponseBean<HundredWishBean>> 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() {
+
+ }
+ });
+ }
+ /**
+ * 鍔犺浇鏇村
+ */
+ public void getMoreProperty(){
+ if (getRequestBeanLiveData().getValue() == null){
+ getRequestBeanLiveData().setValue(new HundredWishRequestBean());
+ }
+ getRequestBeanLiveData().getValue().setPageNum(getRequestBeanLiveData().getValue().getPageNum() + 1);
+ model.getHundredWish(getRequestBeanLiveData().getValue().toMap())
+ .compose(RxUtils.schedulersTransformer())
+ .doFinally(new Action() {
+ @Override
+ public void run() throws Exception {
+ changeStateView(StateViewEnum.DATA_FINISH);
+ }
+ })
+ .subscribe(new Observer<ResultData<PageResponseBean<HundredWishBean>>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<PageResponseBean<HundredWishBean>> 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());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
public MutableLiveData<List<HundredWishBean>> getDataListLiveData() {
- if (dataListLiveData == null) {
+ 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);
+ public MutableLiveData<HundredWishRequestBean> getRequestBeanLiveData() {
+ if (requestBeanLiveData == null){
+ requestBeanLiveData = new MutableLiveData<>();
}
- 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);
+ if (requestBeanLiveData.getValue() == null){
+ requestBeanLiveData.setValue(new HundredWishRequestBean());
+ }
+ return requestBeanLiveData;
+ }
+
+ public void setRequestBeanLiveData(MutableLiveData<HundredWishRequestBean> requestBeanLiveData) {
+ this.requestBeanLiveData = requestBeanLiveData;
+ }
+
+
+
+ public MutableLiveData<List<HundredWishBean>> getMoreListLiveData() {
+ if (moreListLiveData == null){
+ moreListLiveData = new MutableLiveData<>();
+ }
+ return moreListLiveData;
+ }
+
+ public void setMoreListLiveData(MutableLiveData<List<HundredWishBean>> moreListLiveData) {
+ this.moreListLiveData = moreListLiveData;
+ }
+
+ /**
+ * 鎺掑簭
+ * @param type 0 浠庢柊鍒版棫 1 浠庢棫鍒版柊
+ */
+ public void sortDataList(int type){
+ List<HundredWishBean> list = dataListLiveData.getValue();
+ if (list == null || list.isEmpty()){
+ return;
+ }
+ if (type == 0) {
+ // 浠庢柊鍒版棫锛宯ull鎺掓渶鍚�
+ list.sort((o1, o2) -> {
+ String happenTime1 = o1.getHappenTime();
+ String happenTime2 = o2.getHappenTime();
+ if (TextUtils.isEmpty(happenTime1) && TextUtils.isEmpty(happenTime2)) {
+ return 0;
+ } else if (TextUtils.isEmpty(happenTime1)) {
+ return 1;
+ } else if (TextUtils.isEmpty(happenTime2)) {
+ return -1;
+ } else {
+ Date date1 = Utils.parseDate(happenTime1);
+ Date date2 = Utils.parseDate(happenTime2);
+ if (date1 != null && date2 != null) {
+ return date2.compareTo(date1);
+ }
+ return 0;
+ }
+ });
+ } else if (type == 1) {
+ // 浠庢棫鍒版柊锛宯ull鎺掓渶鍓�
+ list.sort((o1, o2) -> {
+ String happenTime1 = o1.getHappenTime();
+ String happenTime2 = o2.getHappenTime();
+ if (TextUtils.isEmpty(happenTime1) && TextUtils.isEmpty(happenTime2)) {
+ return 0;
+ } else if (TextUtils.isEmpty(happenTime1)) {
+ return -1;
+ } else if (TextUtils.isEmpty(happenTime2)) {
+ return 1;
+ } else {
+ Date date1 = Utils.parseDate(happenTime1);
+ Date date2 = Utils.parseDate(happenTime2);
+ if (date1 != null && date2 != null) {
+ return date1.compareTo(date2);
+ }
+ return 0;
+ }
+ });
+ }
+ dataListLiveData.setValue(list);
}
}
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
index 8fda651..304b90d 100644
--- 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
@@ -6,6 +6,7 @@
import androidx.recyclerview.widget.GridLayoutManager;
+import com.android.app_base.utils.Utils;
import com.application.zhangshi_app_android.BR;
import com.application.zhangshi_app_android.R;
import com.application.zhangshi_app_android.adapter.ImageRvAdapter;
@@ -51,6 +52,7 @@
GridLayoutManager gridLayoutManager = new GridLayoutManager(this, 3);
binding.rvImage.setLayoutManager(gridLayoutManager);
binding.rvImage.setNestedScrollingEnabled(false);
+ binding.rvImage.setAdapter(adapter);
setIsEdited(false);
}
@@ -63,19 +65,7 @@
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);
+ adapter.setData(Utils.splitString2List(bean.getUrl(),","));
}
});
}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/ImageCarouselFragment.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/ImageCarouselFragment.java
new file mode 100644
index 0000000..8eec0b0
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/ImageCarouselFragment.java
@@ -0,0 +1,120 @@
+package com.application.zhangshi_app_android.ui.function;
+
+import android.os.Bundle;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.FrameLayout;
+import android.widget.ImageView;
+
+import com.android.app_base.base.view.BaseFragment;
+import com.android.app_base.base.viewmodel.BaseViewModel;
+import com.android.app_base.utils.GlideUtil;
+import com.application.zhangshi_app_android.R;
+import com.application.zhangshi_app_android.databinding.FragmentImageCarouselBinding;
+import com.youth.banner.adapter.BannerImageAdapter;
+import com.youth.banner.holder.BannerImageHolder;
+import com.youth.banner.indicator.CircleIndicator;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author Ljj
+ * @date 2023.07.16. 23:23
+ * @desc 鍔熻兘涓婚〉鐨勫浘鐗囪疆鎾� Fragment
+ */
+public class ImageCarouselFragment extends BaseFragment<FragmentImageCarouselBinding, ImageCarouselFragmentViewModel> {
+
+ private List<String> imageList;
+ private BannerImageAdapter<String> adapter;
+ private ImageCarouselFragment() {
+ }
+
+ public static ImageCarouselFragment newInstance() {
+ ImageCarouselFragment fragment = new ImageCarouselFragment();
+ Bundle args = new Bundle();
+ fragment.setArguments(args);
+ return fragment;
+ }
+
+ public void setImageList(List<String> imageList) {
+ this.imageList = imageList;
+ Bundle args = new Bundle();
+ args.putSerializable("imgList", (Serializable) imageList);
+ setArguments(args);
+ if (imageList == null || imageList.size() == 0) {
+ binding.layoutDataNull.setVisibility(View.VISIBLE);
+ binding.banner.setVisibility(View.GONE);
+ } else {
+ binding.layoutDataNull.setVisibility(View.GONE);
+ binding.banner.setVisibility(View.VISIBLE);
+ if (adapter != null) {
+ adapter.setDatas(imageList);
+ }
+ }
+
+ }
+
+ @Override
+ protected int getLayoutId() {
+ return R.layout.fragment_image_carousel;
+ }
+
+ @Override
+ protected int getVariableId() {
+ return 0;
+ }
+
+ @Override
+ protected void initParam() {
+ if (getArguments() != null) {
+ imageList = (List<String>) getArguments().getSerializable("imgList");
+ }
+ }
+
+ @Override
+ protected void initView() {
+ adapter = new BannerImageAdapter<String>(imageList) {
+ @Override
+ public void onBindView(BannerImageHolder holder, String data, int position, int size) {
+ GlideUtil.loadImage(data, holder.imageView);
+ }
+
+ @Override
+ public BannerImageHolder onCreateHolder(ViewGroup parent, int viewType) {
+ ImageView imageView = new ImageView(parent.getContext());
+ //娉ㄦ剰锛屽繀椤昏缃负match_parent锛岃繖涓槸viewpager2寮哄埗瑕佹眰鐨�
+ ViewGroup.LayoutParams params = new ViewGroup.LayoutParams(
+ ViewGroup.LayoutParams.MATCH_PARENT,
+ ViewGroup.LayoutParams.MATCH_PARENT);
+ imageView.setLayoutParams(params);
+ return new BannerImageHolder(imageView); }
+ };
+ binding.banner.setAdapter(adapter)
+ .addBannerLifecycleObserver(this)//娣诲姞鐢熷懡鍛ㄦ湡瑙傚療鑰�
+ .setIndicator(new CircleIndicator(getSelfActivity()));
+
+ if (imageList == null || imageList.size() == 0) {
+ binding.layoutDataNull.setVisibility(View.VISIBLE);
+ binding.banner.setVisibility(View.GONE);
+ } else {
+ binding.layoutDataNull.setVisibility(View.GONE);
+ binding.banner.setVisibility(View.VISIBLE);
+ if (adapter != null) {
+ adapter.setDatas(imageList);
+ }
+ }
+
+
+ }
+
+ @Override
+ protected void initData() {
+ }
+
+ @Override
+ protected void initLiveDataObserve() {
+
+ }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/ImageCarouselFragmentViewModel.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/ImageCarouselFragmentViewModel.java
new file mode 100644
index 0000000..f11943d
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/ImageCarouselFragmentViewModel.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.07.17. 19:52
+ * @desc
+ */
+public class ImageCarouselFragmentViewModel extends BaseViewModel<DataRepository> {
+ public ImageCarouselFragmentViewModel(@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/IncomeAndExpensesActivity.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/IncomeAndExpensesActivity.java
index df52eb5..81b6c5e 100644
--- 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
@@ -1,13 +1,29 @@
package com.application.zhangshi_app_android.ui.function;
+import android.content.Intent;
+import android.text.Editable;
+import android.text.TextUtils;
+import android.text.TextWatcher;
+import android.view.MotionEvent;
+import android.view.View;
+import android.widget.PopupWindow;
+
+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.manager.AppManager;
+import com.android.app_base.utils.ScreenSizeUtils;
+import com.android.app_base.utils.Utils;
+import com.android.app_base.utils.rxbus.RxBus;
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.bean.IncomeAndExpensesBean;
import com.application.zhangshi_app_android.databinding.ActivityIncomeAndExpensesBinding;
import com.application.zhangshi_app_android.ui.DLBaseActivity;
+import com.github.gzuliyujiang.wheelpicker.DatePicker;
+import com.github.gzuliyujiang.wheelpicker.contract.OnDatePickedListener;
/**
* @author Ljj
@@ -17,7 +33,8 @@
public class IncomeAndExpensesActivity extends DLBaseActivity<ActivityIncomeAndExpensesBinding, IncomeAndExpensesActivityViewModel> {
private IncomeAndExpensesRvAdapter adapter;
-
+ private boolean isSearchLayoutVisible;
+ private PopupWindow mOperatePopupWindow;
@Override
public int getLayoutId() {
return R.layout.activity_income_and_expenses;
@@ -35,14 +52,161 @@
@Override
public void initView() {
- adapter = new IncomeAndExpensesRvAdapter(this);
+ //涓嬫媺鍒锋柊甯冨眬
+ binding.refreshLayout.setEnableRefresh(false);
+ binding.refreshLayout.setEnableLoadMore(true);
+ binding.refreshLayout.setEnableOverScrollDrag(true);
+ binding.refreshLayout.setOnLoadMoreListener(refreshLayout -> {
+ viewModel.getMoreIncomeAndExpenses();
+ });
+ //recyclerView閫傞厤鍣�
+ adapter = new IncomeAndExpensesRvAdapter(this,viewModel);
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);
+ //鍙充笂瑙掓搷浣滃脊绐�
+ mOperatePopupWindow = initPopUpWindow(View.inflate(this,R.layout.pop_operate,null));
+ setOnClickListener(
+ mOperatePopupWindow.getContentView().findViewById(R.id.tv_add),
+ mOperatePopupWindow.getContentView().findViewById(R.id.tv_select),
+ mOperatePopupWindow.getContentView().findViewById(R.id.tv_from_new_to_old),
+ mOperatePopupWindow.getContentView().findViewById(R.id.tv_from_old_to_new)
+ );
+ //鐐瑰嚮鏀惧ぇ闀滄寜閽樉绀哄嚭鎼滅储妗�
+ binding.ivSearchDefault.setOnClickListener(v -> {
+ binding.layoutSearch.setVisibility(View.VISIBLE);
+ binding.layoutDefault.setVisibility(View.GONE);
+ });
+ //鐐瑰嚮鎼滅储妗嗚彍鍗曚笅鎷夊嚭 鎼滅储鍙傛暟
+ binding.ivSearchType.setOnClickListener(v -> {
+ if (!isSearchLayoutVisible){
+ binding.layoutSearchParameter.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED);
+ int targetHeight = binding.layoutSearchParameter.getMeasuredHeight();
+ Utils.dropExpand(binding.containerSearchParameter,0,targetHeight);
+ isSearchLayoutVisible = true;
+ }
+ });
+ //鎼滅储鍙傛暟layout娣诲姞绌虹偣鍑讳簨浠讹紝闃叉鐐瑰嚮瀹冨唴閮╲iew鏃跺畠鍚庨潰鐨剅ecycler杩樿兘鍝嶅簲鐐瑰嚮浜嬩欢
+ binding.layoutSearchParameter.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ }
+ });
+ //鐐瑰嚮鎼滅储鎸夐挳杩涜鎼滅储
+ binding.ivSearch.setOnClickListener(v -> {
+ viewModel.getIncomeAndExpenses();
+ binding.layoutSearch.setVisibility(View.GONE);
+ binding.layoutDefault.setVisibility(View.VISIBLE);
+ binding.tvTitle.setText("鎼滅储缁撴灉");
+ hideSoftKeyboard();
+ });
+ //鐐瑰嚮娣诲姞鎸夐挳璺宠浆鍒板垱寤哄澶т簨璁伴〉闈�
+ binding.fabAdd.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ AppManager.getAppManager().startActivity(new Intent(getSelfActivity(), IncomeAndExpensesDetailActivity.class).putExtra(BaseConfig.EXTRA_TYPE,1));
+ }
+ });
+ binding.etStartTime.addTextChangedListener(new TextWatcher() {
+ @Override
+ public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+ }
+
+ @Override
+ public void onTextChanged(CharSequence s, int start, int before, int count) {
+ if (!TextUtils.isEmpty(s)) {
+ binding.ivTimeClear.setVisibility(View.VISIBLE);
+ } else {
+ if (TextUtils.isEmpty(binding.etEndTime.getText().toString())) {
+ binding.ivTimeClear.setVisibility(View.INVISIBLE);
+ }
+ }
+ }
+
+ @Override
+ public void afterTextChanged(Editable s) {
+
+ }
+ });
+ binding.etEndTime.addTextChangedListener(new TextWatcher() {
+ @Override
+ public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+ }
+
+ @Override
+ public void onTextChanged(CharSequence s, int start, int before, int count) {
+ if (!TextUtils.isEmpty(s)) {
+ binding.ivTimeClear.setVisibility(View.VISIBLE);
+ } else {
+ if (TextUtils.isEmpty(binding.etStartTime.getText().toString())) {
+ binding.ivTimeClear.setVisibility(View.INVISIBLE);
+ }
+ }
+ }
+
+ @Override
+ public void afterTextChanged(Editable s) {
+
+ }
+ });
+ binding.etStartTime.setOnClickListener(v -> {
+ hideSoftKeyboard();
+ DatePicker datePicker = getDatePicker();
+ datePicker.setTitle("璇烽�夋嫨寮�濮嬫椂闂�");
+ datePicker.setOnDatePickedListener(new OnDatePickedListener() {
+ @Override
+ public void onDatePicked(int year, int month, int day) {
+ //浠yyy-MM-dd鐨勬牸寮忔樉绀猴紝鏈堟棩灏忎簬10鏃跺墠闈㈣ˉ0
+ binding.etStartTime.setText(String.format("%d-%02d-%02d", year, month, day));
+ if (binding.etEndTime.getText().toString().isEmpty()){
+ binding.etEndTime.setText(String.format("%d-%02d-%02d", year, month, day));
+ }else {
+ //姣旇緝寮�濮嬫椂闂村拰缁撴潫鏃堕棿鐨勫ぇ灏�
+ String startTime = binding.etStartTime.getText().toString();
+ String endTime = binding.etEndTime.getText().toString();
+ if (Utils.compareDate(startTime,endTime) > 0){
+ //浜ゆ崲
+ binding.etStartTime.setText(endTime);
+ binding.etEndTime.setText(startTime);
+ }
+ }
+ }
+ });
+ datePicker.show();
+ });
+ binding.etEndTime.setOnClickListener(v -> {
+ hideSoftKeyboard();
+ DatePicker datePicker = getDatePicker();
+ datePicker.setTitle("璇烽�夋嫨缁撴潫鏃堕棿");
+ datePicker.setOnDatePickedListener(new OnDatePickedListener() {
+ @Override
+ public void onDatePicked(int year, int month, int day) {
+ binding.etEndTime.setText(String.format("%d-%02d-%02d", year, month, day));
+ if (binding.etStartTime.getText().toString().isEmpty()){
+ binding.etStartTime.setText(String.format("%d-%02d-%02d", year, month, day));
+ }else {
+ //姣旇緝寮�濮嬫椂闂村拰缁撴潫鏃堕棿鐨勫ぇ灏�
+ String startTime = binding.etStartTime.getText().toString();
+ String endTime = binding.etEndTime.getText().toString();
+ if (Utils.compareDate(startTime,endTime) > 0){
+ //浜ゆ崲
+ binding.etStartTime.setText(endTime);
+ binding.etEndTime.setText(startTime);
+ }
+ }
+ }
+ });
+ datePicker.show();
+ });
+ binding.ivTimeClear.setOnClickListener(v -> {
+ binding.etStartTime.setText("");
+ binding.etEndTime.setText("");
+ });
}
+
@Override
public void initData() {
@@ -54,5 +218,121 @@
viewModel.getDataListLiveData().observe(this, dataList -> {
adapter.setData(dataList);
});
+ viewModel.getCheckListLiveData().observe(this, checkList -> {
+ if (0 == viewModel.getOperateTypeLiveData().getValue()){
+ return;
+ }
+ if (checkList.isEmpty()){
+ viewModel.getOperateTypeLiveData().setValue(1);
+ }else{
+ viewModel.getOperateTypeLiveData().setValue(2);
+ }
+ });
+ viewModel.getMoreListLiveData().observe(this, moreList -> {
+ adapter.addData(moreList);
+ });
+ viewModel.getOperateTypeLiveData().observe(this, integer -> {
+ if (integer == 0){
+ binding.ivOperate.setBackgroundResource(R.drawable.ic_operate);
+ binding.ivOperate.setOnClickListener(v -> {
+ mOperatePopupWindow.showAsDropDown(binding.ivOperate,-ScreenSizeUtils.dip2px(this,85) +binding.ivOperate.getWidth(),0);
+ });
+ adapter.setCheckable(false);
+ }else if (integer == 1){
+ binding.ivOperate.setBackgroundResource(R.drawable.ic_operate_finish);
+ binding.ivOperate.setOnClickListener(v -> {
+ viewModel.getOperateTypeLiveData().postValue(0);
+ });
+ adapter.setCheckable(true);
+ }else if (integer == 2){
+ binding.ivOperate.setBackgroundResource(R.drawable.ic_delete_white);
+ binding.ivOperate.setOnClickListener(v -> {
+ new UIDialog.Builder(this)
+ .setTitle("鎮ㄧ‘瀹氳鍒犻櫎閫変腑鐨勯」鐩悧")
+ .setContent("椤圭洰鍒犻櫎鍚庡皢鏃犳硶鎭㈠")
+ .setConfirm("纭畾")
+ .setCancel("鍙栨秷")
+ .setListener(new UIDialog.OnListener() {
+ @Override
+ public void onConfirm(BaseDialog dialog) {
+ viewModel.deleteCheckList();
+ }
+ })
+ .show();
+ });
+ }
+ });
+
+ viewModel.getFinishDeleteListLiveData().observe(this, beans -> {
+ for (IncomeAndExpensesBean bean : beans) {
+ adapter.removeItem(bean);
+ }
+ });
+
+ //瑙傚療鏁版嵁鐨勫彉鍖栵紝鏈夊彉鍖栧寘鎷坊鍔犮�佷慨鏀广�佸垹闄ら兘浼氬彂閫佹秷鎭紝鎺ユ敹鍒版秷鎭悗閲嶆柊鑾峰彇鏁版嵁杩涜鍒锋柊
+ RxBus.getInstance().toObservable(this, IncomeAndExpensesBean.class)
+ .subscribe(bean -> {
+ viewModel.getIncomeAndExpenses();
+ });
+ }
+ @Override
+ protected void dataNull() {
+ super.dataNull();
+ binding.layoutDataNull.setVisibility(View.VISIBLE);
+ binding.refreshLayout.setVisibility(View.GONE);
+ }
+
+ @Override
+ protected void dataFinish() {
+ super.dataFinish();
+ binding.refreshLayout.finishLoadMore();
+ }
+
+ @Override
+ protected void hide() {
+ super.hide();
+ binding.layoutDataNull.setVisibility(View.GONE);
+ binding.refreshLayout.setVisibility(View.VISIBLE);
+ binding.refreshLayout.finishLoadMore();
+ }
+
+ @Override
+ public void onClick(View v) {
+ int id = v.getId();
+ if (id == R.id.tv_add){
+ AppManager.getAppManager().startActivity(new Intent(this, IncomeAndExpensesDetailActivity.class).putExtra(BaseConfig.EXTRA_TYPE,1));
+ mOperatePopupWindow.dismiss();
+ }else if (id == R.id.tv_select){
+ viewModel.getOperateTypeLiveData().postValue(1);
+ mOperatePopupWindow.dismiss();
+ }else if (id == R.id.tv_from_new_to_old) {
+ viewModel.changeOrder(true);
+ mOperatePopupWindow.dismiss();
+ } else if (id == R.id.tv_from_old_to_new) {
+ viewModel.changeOrder(false);
+ mOperatePopupWindow.dismiss();
+ }
+ }
+
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+ if (mOperatePopupWindow != null){
+ mOperatePopupWindow.dismiss();
+ }
+ }
+
+ @Override
+ public boolean dispatchTouchEvent(MotionEvent event) {
+ float x = event.getX();
+ float y = event.getY();
+ if (isSearchLayoutVisible){
+ if (!Utils.isPointInsideView(x, y, binding.layoutSearchParameter)) {
+ Utils.pullCollapse(binding.containerSearchParameter, binding.layoutSearchParameter.getMeasuredHeight(),0);
+ isSearchLayoutVisible = false;
+ return true;
+ }
+ }
+ return super.dispatchTouchEvent(event);
}
}
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
index 6d68d42..697bedc 100644
--- 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
@@ -3,26 +3,30 @@
import static com.android.app_base.base.BaseConfig.CODE_SUCCESS;
import android.app.Application;
+import android.text.TextUtils;
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.CleanStorageBean;
-import com.application.zhangshi_app_android.bean.HomeDevicesResponseBean;
+import com.android.app_base.utils.Utils;
+import com.application.zhangshi_app_android.bean.FamilyMemorabiliaBean;
import com.application.zhangshi_app_android.bean.IncomeAndExpensesBean;
-import com.application.zhangshi_app_android.bean.IncomeAndExpensesResponseBean;
+import com.application.zhangshi_app_android.bean.IncomeAndExpensesRequestBean;
+import com.application.zhangshi_app_android.bean.PageResponseBean;
import com.application.zhangshi_app_android.data.DataRepository;
import java.util.ArrayList;
-import java.util.HashMap;
+import java.util.Date;
import java.util.List;
import io.reactivex.Observer;
import io.reactivex.disposables.Disposable;
+import io.reactivex.functions.Action;
/**
* @author Ljj
@@ -30,7 +34,13 @@
* @desc
*/
public class IncomeAndExpensesActivityViewModel extends BaseViewModel<DataRepository> {
- private MutableLiveData<List<IncomeAndExpensesBean>> dataListLiveData;
+ private MutableLiveData<List<IncomeAndExpensesBean>> dataListLiveData;//鍒楄〃鏁版嵁
+ private MutableLiveData<List<IncomeAndExpensesBean>> checkListLiveData;//閫変腑鐨勬暟鎹�
+ private MutableLiveData<List<IncomeAndExpensesBean>> moreListLiveData;//涓嬫媺鍔犺浇鏁版嵁
+ private MutableLiveData<IncomeAndExpensesRequestBean> requestBeanLiveData;//璇锋眰鍙傛暟
+ private MutableLiveData<List<IncomeAndExpensesBean>> finishDeleteListLiveData;//宸茬粡瀹屾垚鍒犻櫎鐨勬暟鎹紝鐢ㄤ簬adapter鐨剅emove鎿嶄綔
+
+ private MutableLiveData<Integer> operateTypeLiveData;//鎿嶄綔绫诲瀷 0 閫夋嫨鎿嶄綔 1.瀹屾垚 2.鍒犻櫎
public IncomeAndExpensesActivityViewModel(@NonNull Application application) {
super(application);
@@ -41,36 +51,32 @@
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<>())
+ if (getRequestBeanLiveData().getValue() == null) {
+ getRequestBeanLiveData().setValue(new IncomeAndExpensesRequestBean());
+ }
+ getRequestBeanLiveData().getValue().setPageNum(1);
+ model.getIncomeAndExpenses(getRequestBeanLiveData().getValue().toMap())
.compose(RxUtils.schedulersTransformer())
- .subscribe(new Observer<ResultData<IncomeAndExpensesResponseBean>>() {
+ .subscribe(new Observer<ResultData<PageResponseBean<IncomeAndExpensesBean>>>() {
@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()){
+ public void onNext(ResultData<PageResponseBean<IncomeAndExpensesBean>> data) {
+ if (data.getCode() == CODE_SUCCESS) {
+ if (data.getData().getData().isEmpty()) {
changeStateView(StateViewEnum.DATA_NULL);
- }else {
+ } else {
changeStateView(StateViewEnum.HIDE);
dataListLiveData.postValue(data.getData().getData());
}
- }else {
+ } else {
messageLiveData.postValue(data.getMsg());
}
}
@@ -86,4 +92,261 @@
}
});
}
+
+ /**
+ * 鍔犺浇鏇村
+ */
+ public void getMoreIncomeAndExpenses() {
+ if (getRequestBeanLiveData().getValue() == null) {
+ getRequestBeanLiveData().setValue(new IncomeAndExpensesRequestBean());
+ }
+ getRequestBeanLiveData().getValue().setPageNum(getRequestBeanLiveData().getValue().getPageNum() + 1);
+ model.getIncomeAndExpenses(getRequestBeanLiveData().getValue().toMap())
+ .compose(RxUtils.schedulersTransformer())
+ .doFinally(new Action() {
+ @Override
+ public void run() throws Exception {
+ changeStateView(StateViewEnum.DATA_FINISH);
+ }
+ })
+ .subscribe(new Observer<ResultData<PageResponseBean<IncomeAndExpensesBean>>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<PageResponseBean<IncomeAndExpensesBean>> 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());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+
+ /**
+ * 鍒犻櫎澶氶�夐�変腑鐨勬暟鎹�
+ */
+ public void deleteCheckList() {
+ List<IncomeAndExpensesBean> deleteList = getCheckListLiveData().getValue();
+ if (deleteList == null) {
+ return;
+ }
+ StringBuffer sb = new StringBuffer();
+ deleteList.forEach(IncomeAndExpensesBean -> sb.append(IncomeAndExpensesBean.getId()).append(","));
+ sb.deleteCharAt(sb.length() - 1);
+ model.deleteIncomeAndExpenses(sb.toString())
+ .compose(RxUtils.schedulersTransformer())
+ .subscribe(new Observer<ResultData<String>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<String> stringResultData) {
+ if (stringResultData.getCode() == CODE_SUCCESS) {
+ finishDeleteListLiveData.postValue(checkListLiveData.getValue());
+ messageLiveData.postValue("鍒犻櫎鎴愬姛");
+ getCheckListLiveData().postValue(new ArrayList<>());
+ } else {
+ messageLiveData.postValue(stringResultData.getMsg());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+
+ /**
+ * 鍒犻櫎鍗曚釜鏁版嵁
+ */
+ public void deleteItem(IncomeAndExpensesBean IncomeAndExpensesBean) {
+ model.deleteIncomeAndExpenses(String.valueOf(IncomeAndExpensesBean.getId()))
+ .compose(RxUtils.schedulersTransformer())
+ .subscribe(new Observer<ResultData<String>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<String> stringResultData) {
+ if (stringResultData.getCode() == CODE_SUCCESS) {
+ List<IncomeAndExpensesBean> list = new ArrayList<>();
+ list.add(IncomeAndExpensesBean);
+ finishDeleteListLiveData.postValue(list);
+ messageLiveData.postValue("鍒犻櫎鎴愬姛");
+ } else {
+ messageLiveData.postValue(stringResultData.getMsg());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+
+ public MutableLiveData<List<IncomeAndExpensesBean>> getCheckListLiveData() {
+ if (checkListLiveData == null) {
+ checkListLiveData = new MutableLiveData<>();
+ checkListLiveData.postValue(new ArrayList<>());
+ }
+ if (checkListLiveData.getValue() == null) {
+ checkListLiveData.postValue(new ArrayList<>());
+ }
+ return checkListLiveData;
+ }
+
+ public void setCheckListLiveData(MutableLiveData<List<IncomeAndExpensesBean>> checkListLiveData) {
+ this.checkListLiveData = checkListLiveData;
+ }
+
+ @NonNull
+ public MutableLiveData<IncomeAndExpensesRequestBean> getRequestBeanLiveData() {
+ if (requestBeanLiveData == null) {
+ requestBeanLiveData = new MutableLiveData<>();
+ }
+ if (requestBeanLiveData.getValue() == null) {
+ requestBeanLiveData.setValue(new IncomeAndExpensesRequestBean());
+ }
+ return requestBeanLiveData;
+ }
+
+ public void setRequestBeanLiveData(MutableLiveData<IncomeAndExpensesRequestBean> requestBeanLiveData) {
+ this.requestBeanLiveData = requestBeanLiveData;
+ }
+
+ public MutableLiveData<List<IncomeAndExpensesBean>> getDataListLiveData() {
+ if (dataListLiveData == null) {
+ dataListLiveData = new MutableLiveData<>();
+ }
+ return dataListLiveData;
+ }
+
+ public void setDataListLiveData(MutableLiveData<List<IncomeAndExpensesBean>> dataListLiveData) {
+ this.dataListLiveData = dataListLiveData;
+ }
+
+ @NonNull
+ public MutableLiveData<List<IncomeAndExpensesBean>> getMoreListLiveData() {
+ if (moreListLiveData == null) {
+ moreListLiveData = new MutableLiveData<>();
+ }
+ return moreListLiveData;
+ }
+
+ public void setMoreListLiveData(MutableLiveData<List<IncomeAndExpensesBean>> moreListLiveData) {
+ this.moreListLiveData = moreListLiveData;
+ }
+
+ @NonNull
+ public MutableLiveData<Integer> getOperateTypeLiveData() {
+ if (operateTypeLiveData == null) {
+ operateTypeLiveData = new MutableLiveData<>();
+ operateTypeLiveData.setValue(0);
+ }
+ return operateTypeLiveData;
+ }
+
+ public void setOperateTypeLiveData(MutableLiveData<Integer> operateTypeLiveData) {
+ this.operateTypeLiveData = operateTypeLiveData;
+ }
+
+ public LiveData<List<IncomeAndExpensesBean>> getFinishDeleteListLiveData() {
+ if (finishDeleteListLiveData == null) {
+ finishDeleteListLiveData = new MutableLiveData<>();
+ }
+ return finishDeleteListLiveData;
+ }
+
+ public void setFinishDeleteListLiveData(MutableLiveData<List<IncomeAndExpensesBean>> finishDeleteListLiveData) {
+ this.finishDeleteListLiveData = finishDeleteListLiveData;
+ }
+
+ /**
+ * 鏀瑰彉鎺掑簭
+ *
+ * @param b true 闄嶅簭 false 鍗囧簭
+ */
+ public void changeOrder(boolean b) {
+ List<IncomeAndExpensesBean> list = getDataListLiveData().getValue();
+ if (list == null || list.isEmpty()) {
+ return;
+ }
+ if (b) {
+ // 浠庢柊鍒版棫锛宯ull鎺掓渶鍚�
+ list.sort((o1, o2) -> {
+ String happenTime1 = o1.getHappenTime();
+ String happenTime2 = o2.getHappenTime();
+ if (TextUtils.isEmpty(happenTime1) && TextUtils.isEmpty(happenTime2)) {
+ return 0;
+ } else if (TextUtils.isEmpty(happenTime1)) {
+ return 1;
+ } else if (TextUtils.isEmpty(happenTime2)) {
+ return -1;
+ } else {
+ Date date1 = Utils.parseDate(happenTime1);
+ Date date2 = Utils.parseDate(happenTime2);
+ if (date1 != null && date2 != null) {
+ return date2.compareTo(date1);
+ }
+ return 0;
+ }
+ });
+ } else {
+ // 浠庢棫鍒版柊锛宯ull鎺掓渶鍓�
+ list.sort((o1, o2) -> {
+ String happenTime1 = o1.getHappenTime();
+ String happenTime2 = o2.getHappenTime();
+ if (TextUtils.isEmpty(happenTime1) && TextUtils.isEmpty(happenTime2)) {
+ return 0;
+ } else if (TextUtils.isEmpty(happenTime1)) {
+ return -1;
+ } else if (TextUtils.isEmpty(happenTime2)) {
+ return 1;
+ } else {
+ Date date1 = Utils.parseDate(happenTime1);
+ Date date2 = Utils.parseDate(happenTime2);
+ if (date1 != null && date2 != null) {
+ return date1.compareTo(date2);
+ }
+ return 0;
+ }
+ });
+ }
+ getDataListLiveData().setValue(list);
+ }
}
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
index b6eaec8..8fd9e61 100644
--- 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
@@ -3,9 +3,18 @@
import android.view.View;
import android.view.ViewGroup;
import android.widget.EditText;
+import android.widget.PopupWindow;
import androidx.recyclerview.widget.GridLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+import com.android.app_base.base.BaseConfig;
+import com.android.app_base.base.adapter.BaseRVAdapter;
+import com.android.app_base.base.dialog.BaseDialog;
+import com.android.app_base.base.dialog.UIDialog;
+import com.android.app_base.manager.UserManager;
+import com.android.app_base.utils.ScreenSizeUtils;
+import com.android.app_base.utils.Utils;
import com.application.zhangshi_app_android.BR;
import com.application.zhangshi_app_android.R;
import com.application.zhangshi_app_android.adapter.ImageRvAdapter;
@@ -15,10 +24,18 @@
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 com.github.gzuliyujiang.wheelpicker.DatePicker;
+import com.github.gzuliyujiang.wheelpicker.OptionPicker;
+import com.github.gzuliyujiang.wheelpicker.contract.OnDatePickedListener;
+import com.github.gzuliyujiang.wheelpicker.contract.OnOptionPickedListener;
+import com.luck.picture.lib.entity.LocalMedia;
+import com.luck.picture.lib.interfaces.OnResultCallbackListener;
+import java.io.File;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
+import java.util.function.Consumer;
/**
* @author Ljj
@@ -27,6 +44,8 @@
*/
public class IncomeAndExpensesDetailActivity extends DLBaseActivity<ActivityIncomeAndExpensesDetailBinding, IncomeAndExpensesDetailActivityViewModel> {
+ private int type;// 0 鏌ョ湅鍙慨鏀瑰垹闄� 1 鏂板 2 鐩存帴淇敼
+ private PopupWindow popupWindow;
private ImageRvAdapter adapter;
@Override
@@ -41,8 +60,12 @@
@Override
public void initParam() {
- if (getIntent().hasExtra("bean")){
- viewModel.getBeanLiveData().setValue((IncomeAndExpensesBean) getIntent().getSerializableExtra("bean"));
+ type = getIntent().getIntExtra(BaseConfig.EXTRA_TYPE,0);
+ if (type == 0 || type == 2){
+ IncomeAndExpensesBean bean = (IncomeAndExpensesBean) getIntent().getSerializableExtra("bean");
+ if (bean !=null){
+ viewModel.getBeanLiveData().setValue(bean);
+ }
}
}
@@ -52,7 +75,108 @@
GridLayoutManager gridLayoutManager = new GridLayoutManager(this, 3);
binding.rvImage.setLayoutManager(gridLayoutManager);
binding.rvImage.setNestedScrollingEnabled(false);
- setIsEdited(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) {
+ UserManager.getInstance().selectImage(getSelfActivity(), 9, new OnResultCallbackListener<LocalMedia>() {
+ @Override
+ public void onResult(ArrayList<LocalMedia> result) {
+ if (result.size() == 0) return;
+ for (LocalMedia media : result) {
+ String path = media.getRealPath();
+ File file = new File(path);
+ if (file.exists()) {
+ viewModel.uploadFile(file);
+ }
+ }
+ }
+
+ @Override
+ public void onCancel() {
+
+ }
+ });
+ }
+ });
+ adapter.setOnChildClickListener(R.id.iv_delete, new BaseRVAdapter.OnChildClickListener() {
+ @Override
+ public void onChildClick(RecyclerView recyclerView, View childView, int position) {
+ IncomeAndExpensesBean bean = viewModel.getBeanLiveData().getValue();
+ if (bean !=null){
+ List<String> urlList = Utils.splitString2List(bean.getUrl(),",");
+ urlList.remove(adapter.getItem(position));
+ bean.setUrl(Utils.appendList2String(urlList,","));
+ }
+ adapter.removeItem(position);
+ viewModel.getBeanLiveData().setValue(bean);
+ }
+ });
+ binding.rvImage.setAdapter(adapter);
+
+ if (type == 1){
+ viewModel.getTypeLiveData().postValue(true);
+ binding.ivOperate.setOnClickListener(v -> {
+ viewModel.add();
+ });
+ }else if (type == 0){
+ popupWindow = initPopUpWindow(View.inflate(this,R.layout.pop_operate_delete,null));
+ popupWindow.getContentView().findViewById(R.id.tv_modify).setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ viewModel.getTypeLiveData().postValue(true);
+ popupWindow.dismiss();
+ }
+ });
+ popupWindow.getContentView().findViewById(R.id.tv_delete).setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ popupWindow.dismiss();
+ new UIDialog.Builder(getSelfActivity())
+ .setTitle("鎮ㄧ‘瀹氳鍒犻櫎椤圭洰鍚�")
+ .setContent("椤圭洰鍒犻櫎鍚庡皢鏃犳硶鎭㈠")
+ .setConfirm("纭畾")
+ .setCancel("鍙栨秷")
+ .setListener(new UIDialog.OnListener() {
+ @Override
+ public void onConfirm(BaseDialog dialog) {
+ viewModel.delete();
+ }
+ })
+ .show();
+ }
+ });
+ viewModel.getTypeLiveData().postValue(false);
+ }else if (type == 2){
+ viewModel.getTypeLiveData().postValue(true);
+ }
+ binding.etTime.setOnClickListener(v -> {
+ DatePicker picker = getDatePicker();
+ picker.setTitle("閫夋嫨鏃堕棿");
+ picker.setOnDatePickedListener(new OnDatePickedListener() {
+ @Override
+ public void onDatePicked(int year, int month, int day) {
+ binding.etTime.setText(String.format("%d-%02d-%02d", year, month, day));
+ }
+ });
+ picker.show();
+ });
+ binding.etPrice.setOnClickListener(v -> {
+ List<String> list = Arrays.asList("鏀跺叆","鏀嚭");
+ OptionPicker picker = getOptionPicker(list);
+ picker.setTitle("閫夋嫨鏀舵敮绫诲瀷");
+ picker.setDefaultValue(binding.etPrice.getText().toString());
+ picker.setOnOptionPickedListener(new OnOptionPickedListener() {
+ @Override
+ public void onOptionPicked(int position, Object item) {
+ binding.etPrice.setText((String) item);
+ }
+ });
+ picker.show();
+ });
+
}
@Override
@@ -64,40 +188,40 @@
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));
+ adapter.setData(Utils.splitString2List(bean.getUrl(),","));
+ }
+ });
+ viewModel.getTypeLiveData().observe(this,operateType -> {
+ if (operateType){
+ if (type == 1) {
+ binding.ivOperate.setOnClickListener(v -> {
+ viewModel.add();
+ });
}else {
- list = new ArrayList<>();
- list.add(url);
+ binding.ivOperate.setOnClickListener(v -> {
+ viewModel.update();
+ });
}
- adapter.setData(list);
+ binding.rvImage.getFooterViews().forEach(new Consumer<View>() {
+ @Override
+ public void accept(View view) {
+ view.setVisibility(View.VISIBLE);
+ }
+ });
+ adapter.setIsEdited(true);
+ }else {
+ binding.ivOperate.setOnClickListener(v -> {
+ popupWindow.showAsDropDown(binding.ivOperate,-ScreenSizeUtils.dip2px(this,85) +binding.ivOperate.getWidth(),0);
+ });
+ binding.rvImage.getFooterViews().forEach(new Consumer<View>() {
+ @Override
+ public void accept(View view) {
+ view.setVisibility(View.GONE);
+ }
+ });
+ adapter.setIsEdited(false);
}
});
}
- 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
index d059b9c..d8c576e 100644
--- 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
@@ -1,13 +1,28 @@
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.viewmodel.BaseViewModel;
+import com.android.app_base.http.ResultData;
+import com.android.app_base.manager.AppManager;
+import com.android.app_base.utils.RxUtils;
+import com.android.app_base.utils.rxbus.RxBus;
import com.application.zhangshi_app_android.bean.IncomeAndExpensesBean;
+import com.application.zhangshi_app_android.bean.UploadFileResponseBean;
import com.application.zhangshi_app_android.data.DataRepository;
+
+import java.io.File;
+
+import io.reactivex.Observer;
+import io.reactivex.disposables.Disposable;
+import okhttp3.MediaType;
+import okhttp3.MultipartBody;
+import okhttp3.RequestBody;
/**
* @author Ljj
@@ -17,6 +32,7 @@
public class IncomeAndExpensesDetailActivityViewModel extends BaseViewModel<DataRepository> {
private MutableLiveData<IncomeAndExpensesBean> beanLiveData;
+ private MutableLiveData<Boolean> typeLiveData;//true 缂栬緫鐘舵�� false 灞曠ず鐘舵��
public IncomeAndExpensesDetailActivityViewModel(@NonNull Application application) {
super(application);
@@ -27,14 +43,180 @@
return DataRepository.getInstance();
}
+ /**
+ * 娣诲姞 鏀舵敮鍙拌处
+ */
+ public void add() {
+ System.out.println(beanLiveData.getValue());
+ model.addIncomeAndExpenses(beanLiveData.getValue())
+ .compose(RxUtils.schedulersTransformer())
+ .subscribe(new Observer<ResultData<String>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<String> stringResultData) {
+ if (stringResultData.getCode() == CODE_SUCCESS){
+ AppManager.getAppManager().finishCurrentActivity();
+ RxBus.getInstance().post(beanLiveData.getValue());
+ messageLiveData.postValue("娣诲姞鎴愬姛");
+ }else {
+ messageLiveData.postValue(stringResultData.getMsg());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+ /**
+ * 鍒犻櫎 鏀舵敮鍙拌处
+ */
+ public void delete() {
+ if (beanLiveData.getValue() == null){
+ return;
+ }
+ model.deleteIncomeAndExpenses(String.valueOf(beanLiveData.getValue().getId()))
+ .compose(RxUtils.schedulersTransformer())
+ .subscribe(new Observer<ResultData<String>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<String> stringResultData) {
+ if (stringResultData.getCode() == CODE_SUCCESS){
+ AppManager.getAppManager().finishCurrentActivity();
+ RxBus.getInstance().post(beanLiveData.getValue());
+ messageLiveData.postValue("鍒犻櫎鎴愬姛");
+ }else {
+ messageLiveData.postValue(stringResultData.getMsg());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+ /**
+ * 淇敼灏忓尰鐢�
+ */
+ public void update() {
+ model.updateIncomeAndExpenses(beanLiveData.getValue())
+ .compose(RxUtils.schedulersTransformer())
+ .subscribe(new Observer<ResultData<String>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<String> stringResultData) {
+ if (stringResultData.getCode() == CODE_SUCCESS){
+ AppManager.getAppManager().finishCurrentActivity();
+ RxBus.getInstance().post(beanLiveData.getValue());
+ messageLiveData.postValue("淇敼鎴愬姛");
+ }else {
+ messageLiveData.postValue(stringResultData.getMsg());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+
+ /**
+ * 涓婁紶鐢靛瓙鏂囦欢
+ */
+ public void uploadFile(File file) {
+ RequestBody requestBody = RequestBody.create(MediaType.parse("multipart/form-data"), file);
+ MultipartBody.Part body = MultipartBody.Part.createFormData("uploadFile", file.getName(), requestBody);
+ model.uploadFile(body)
+ .compose(RxUtils.schedulersTransformer())
+ .subscribe(new Observer<ResultData<UploadFileResponseBean>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<UploadFileResponseBean> resultData) {
+ if (resultData.getCode() == CODE_SUCCESS){
+ IncomeAndExpensesBean bean = beanLiveData.getValue();
+ String url;
+ if (bean != null){
+ url = bean.getUrl();
+ if (url == null){
+ url = resultData.getData().getUrl();
+ }else {
+ url = url + "," + resultData.getData().getUrl();
+ }
+ bean.setUrl(url);
+ beanLiveData.postValue(bean);
+ }
+ }else {
+ messageLiveData.postValue(resultData.getMsg());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+ public MutableLiveData<Boolean> getTypeLiveData() {
+ if (typeLiveData == null){
+ typeLiveData = new MutableLiveData<>();
+ }
+ return typeLiveData;
+ }
+
+ public void setTypeLiveData(MutableLiveData<Boolean> typeLiveData) {
+ this.typeLiveData = typeLiveData;
+ }
+
+ public void setBeanLiveData(MutableLiveData<IncomeAndExpensesBean> beanLiveData) {
+ this.beanLiveData = beanLiveData;
+ }
+
public MutableLiveData<IncomeAndExpensesBean> getBeanLiveData() {
if (beanLiveData == null){
beanLiveData = new MutableLiveData<>();
}
+ if (beanLiveData.getValue() == null){
+ beanLiveData.setValue(new IncomeAndExpensesBean());
+ }
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
index c0b8fa9..e3f61bc 100644
--- 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
@@ -1,20 +1,40 @@
package com.application.zhangshi_app_android.ui.function;
import androidx.appcompat.app.AppCompatActivity;
+import androidx.lifecycle.Observer;
+import android.content.Intent;
import android.os.Bundle;
+import android.view.MotionEvent;
+import android.view.View;
+import android.widget.PopupWindow;
+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.manager.AppManager;
+import com.android.app_base.utils.ScreenSizeUtils;
+import com.android.app_base.utils.Utils;
+import com.android.app_base.utils.rxbus.RxBus;
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.bean.FamilyMemorabiliaBean;
+import com.application.zhangshi_app_android.bean.LittleDoctorBean;
import com.application.zhangshi_app_android.databinding.ActivityLittleDoctorBinding;
import com.application.zhangshi_app_android.ui.DLBaseActivity;
+
+import java.util.List;
+
+import io.reactivex.functions.Consumer;
public class LittleDoctorActivity extends DLBaseActivity<ActivityLittleDoctorBinding,LittleDoctorActivityViewModel> {
private LittleDoctorRvAdapter adapter;
+ private boolean isSearchLayoutVisible;
+ private PopupWindow mOperatePopupWindow;
+
@Override
public int getLayoutId() {
@@ -33,13 +53,64 @@
@Override
public void initView() {
- adapter = new LittleDoctorRvAdapter(this);
+ //涓嬫媺鍒锋柊甯冨眬
+ binding.refreshLayout.setEnableRefresh(false);
+ binding.refreshLayout.setEnableLoadMore(true);
+ binding.refreshLayout.setEnableOverScrollDrag(true);
+ binding.refreshLayout.setOnLoadMoreListener(refreshLayout -> {
+ viewModel.getMoreLittleDoctors();
+ });
+ //recyclerView閫傞厤鍣�
+ adapter = new LittleDoctorRvAdapter(this,viewModel);
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);
+ //鍙充笂瑙掓搷浣滃脊绐�
+ mOperatePopupWindow = initPopUpWindow(View.inflate(this,R.layout.pop_operate,null));
+ mOperatePopupWindow.getContentView().findViewById(R.id.tv_from_new_to_old).setVisibility(View.GONE);
+ mOperatePopupWindow.getContentView().findViewById(R.id.tv_from_old_to_new).setVisibility(View.GONE);
+ setOnClickListener(
+ mOperatePopupWindow.getContentView().findViewById(R.id.tv_add),
+ mOperatePopupWindow.getContentView().findViewById(R.id.tv_select)
+ );
+ //鐐瑰嚮鏀惧ぇ闀滄寜閽樉绀哄嚭鎼滅储妗�
+ binding.ivSearchDefault.setOnClickListener(v -> {
+ binding.layoutSearch.setVisibility(View.VISIBLE);
+ binding.layoutDefault.setVisibility(View.GONE);
+ });
+ //鐐瑰嚮鎼滅储妗嗚彍鍗曚笅鎷夊嚭 鎼滅储鍙傛暟
+ binding.ivSearchType.setOnClickListener(v -> {
+ if (!isSearchLayoutVisible){
+ binding.layoutSearchParameter.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED);
+ int targetHeight = binding.layoutSearchParameter.getMeasuredHeight();
+ Utils.dropExpand(binding.containerSearchParameter,0,targetHeight);
+ isSearchLayoutVisible = true;
+ }
+ });
+ //鎼滅储鍙傛暟layout娣诲姞绌虹偣鍑讳簨浠讹紝闃叉鐐瑰嚮瀹冨唴閮╲iew鏃跺畠鍚庨潰鐨剅ecycler杩樿兘鍝嶅簲鐐瑰嚮浜嬩欢
+ binding.layoutSearchParameter.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ }
+ });
+ //鐐瑰嚮鎼滅储鎸夐挳杩涜鎼滅储
+ binding.ivSearch.setOnClickListener(v -> {
+ viewModel.getLittleDoctors();
+ binding.layoutSearch.setVisibility(View.GONE);
+ binding.layoutDefault.setVisibility(View.VISIBLE);
+ binding.tvTitle.setText("鎼滅储缁撴灉");
+ hideSoftKeyboard();
+ });
+ //鐐瑰嚮娣诲姞鎸夐挳璺宠浆鍒板垱寤哄澶т簨璁伴〉闈�
+ binding.fabAdd.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ AppManager.getAppManager().startActivity(new Intent(getSelfActivity(), LittleDoctorDetailActivity.class).putExtra(BaseConfig.EXTRA_TYPE,1));
+ }
+ });
}
@Override
@@ -49,9 +120,121 @@
@Override
public void initLiveDataObserve() {
- viewModel.getDataListLiveData().observe(this, homeDevices -> {
- adapter.setData(homeDevices);
+ viewModel.getDataListLiveData().observe(this, list -> {
+ adapter.setData(list);
});
+ viewModel.getCheckListLiveData().observe(this, checkList -> {
+ if (0 == viewModel.getOperateTypeLiveData().getValue()){
+ return;
+ }
+ if (checkList.isEmpty()){
+ viewModel.getOperateTypeLiveData().setValue(1);
+ }else{
+ viewModel.getOperateTypeLiveData().setValue(2);
+ }
+ });
+ viewModel.getMoreListLiveData().observe(this, moreList -> {
+ adapter.addData(moreList);
+ });
+ viewModel.getOperateTypeLiveData().observe(this, integer -> {
+ if (integer == 0){
+ binding.ivOperate.setBackgroundResource(R.drawable.ic_operate);
+ binding.ivOperate.setOnClickListener(v -> {
+ mOperatePopupWindow.showAsDropDown(binding.ivOperate,-ScreenSizeUtils.dip2px(this,85) +binding.ivOperate.getWidth(),0);
+ });
+ adapter.setCheckable(false);
+ }else if (integer == 1){
+ binding.ivOperate.setBackgroundResource(R.drawable.ic_operate_finish);
+ binding.ivOperate.setOnClickListener(v -> {
+ viewModel.getOperateTypeLiveData().postValue(0);
+ });
+ adapter.setCheckable(true);
+ }else if (integer == 2){
+ binding.ivOperate.setBackgroundResource(R.drawable.ic_delete_white);
+ binding.ivOperate.setOnClickListener(v -> {
+ new UIDialog.Builder(this)
+ .setTitle("鎮ㄧ‘瀹氳鍒犻櫎閫変腑鐨勯」鐩悧")
+ .setContent("椤圭洰鍒犻櫎鍚庡皢鏃犳硶鎭㈠")
+ .setConfirm("纭畾")
+ .setCancel("鍙栨秷")
+ .setListener(new UIDialog.OnListener() {
+ @Override
+ public void onConfirm(BaseDialog dialog) {
+ viewModel.deleteCheckList();
+ }
+ })
+ .show();
+ });
+ }
+ });
+
+ viewModel.getFinishDeleteListLiveData().observe(this, beans -> {
+ for (LittleDoctorBean bean : beans) {
+ adapter.removeItem(bean);
+ }
+ });
+
+ //瑙傚療鏁版嵁鐨勫彉鍖栵紝鏈夊彉鍖栧寘鎷坊鍔犮�佷慨鏀广�佸垹闄ら兘浼氬彂閫佹秷鎭紝鎺ユ敹鍒版秷鎭悗閲嶆柊鑾峰彇鏁版嵁杩涜鍒锋柊
+ RxBus.getInstance().toObservable(this, LittleDoctorBean.class)
+ .subscribe(bean -> {
+ viewModel.getLittleDoctors();
+ });
+ }
+
+
+ @Override
+ protected void dataNull() {
+ super.dataNull();
+ binding.layoutDataNull.setVisibility(View.VISIBLE);
+ binding.refreshLayout.setVisibility(View.GONE);
+ }
+
+ @Override
+ protected void dataFinish() {
+ super.dataFinish();
+ binding.refreshLayout.finishLoadMore();
+ }
+
+ @Override
+ protected void hide() {
+ super.hide();
+ binding.layoutDataNull.setVisibility(View.GONE);
+ binding.refreshLayout.setVisibility(View.VISIBLE);
+ binding.refreshLayout.finishLoadMore();
+ }
+
+ @Override
+ public void onClick(View v) {
+ int id = v.getId();
+ if (id == R.id.tv_add){
+ AppManager.getAppManager().startActivity(new Intent(this, LittleDoctorDetailActivity.class).putExtra(BaseConfig.EXTRA_TYPE,1));
+ mOperatePopupWindow.dismiss();
+ }else if (id == R.id.tv_select){
+ viewModel.getOperateTypeLiveData().postValue(1);
+ mOperatePopupWindow.dismiss();
+ }
+ }
+
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+ if (mOperatePopupWindow != null){
+ mOperatePopupWindow.dismiss();
+ }
+ }
+
+ @Override
+ public boolean dispatchTouchEvent(MotionEvent event) {
+ float x = event.getX();
+ float y = event.getY();
+ if (isSearchLayoutVisible){
+ if (!Utils.isPointInsideView(x, y, binding.layoutSearchParameter)) {
+ Utils.pullCollapse(binding.containerSearchParameter, binding.layoutSearchParameter.getMeasuredHeight(),0);
+ isSearchLayoutVisible = false;
+ return true;
+ }
+ }
+ return super.dispatchTouchEvent(event);
}
}
\ 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
index 5be8866..fa3bc7d 100644
--- 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
@@ -12,22 +12,20 @@
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.bean.PageResponseBean;
import com.application.zhangshi_app_android.data.DataRepository;
import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Date;
import java.util.HashMap;
import java.util.List;
import io.reactivex.Observer;
import io.reactivex.disposables.Disposable;
+import io.reactivex.functions.Action;
/**
* @author Ljj
@@ -36,9 +34,13 @@
*/
public class LittleDoctorActivityViewModel extends BaseViewModel<DataRepository> {
- private MutableLiveData<List<LittleDoctorBean>> dataListLiveData;
+ private MutableLiveData<List<LittleDoctorBean>> dataListLiveData;//鑾峰彇鐨勬暟鎹�
+ private MutableLiveData<List<LittleDoctorBean>> checkListLiveData;//閫変腑鐨勬暟鎹�
+ private MutableLiveData<List<LittleDoctorBean>> moreListLiveData;//涓嬫媺鍔犺浇鏁版嵁
+ private MutableLiveData<LittleDoctorRequestBean> requestBeanLiveData;//璇锋眰鍙傛暟
+ private MutableLiveData<List<LittleDoctorBean>> finishDeleteListLiveData;//宸茬粡瀹屾垚鍒犻櫎鐨勬暟鎹紝鐢ㄤ簬adapter鐨剅emove鎿嶄綔
- private LittleDoctorRequestBean requestBean = new LittleDoctorRequestBean();
+ private MutableLiveData<Integer> operateTypeLiveData;//鎿嶄綔绫诲瀷 0 閫夋嫨鎿嶄綔 1.瀹屾垚 2.鍒犻櫎
public LittleDoctorActivityViewModel(@NonNull Application application) {
super(application);
@@ -48,29 +50,25 @@
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())
+ if (getRequestBeanLiveData().getValue() == null){
+ getRequestBeanLiveData().setValue(new LittleDoctorRequestBean());
+ }
+ getRequestBeanLiveData().getValue().setPageNum(1);
+ model.getLittleDoctors(getRequestBeanLiveData().getValue().toMap())
.compose(RxUtils.schedulersTransformer())
- .subscribe(new Observer<ResultData<LittleDoctorResponseBean>>() {
+ .subscribe(new Observer<ResultData<PageResponseBean<LittleDoctorBean>>>() {
@Override
public void onSubscribe(Disposable d) {
addSubscribe(d);
}
@Override
- public void onNext(ResultData<LittleDoctorResponseBean> data) {
+ public void onNext(ResultData<PageResponseBean<LittleDoctorBean>> data) {
if (data.getCode() == CODE_SUCCESS){
if (data.getData().getData().isEmpty()){
changeStateView(StateViewEnum.DATA_NULL);
@@ -94,6 +92,206 @@
}
});
}
+ /**
+ * 鍔犺浇鏇村
+ */
+ public void getMoreLittleDoctors() {
+ if (getRequestBeanLiveData().getValue() == null){
+ getRequestBeanLiveData().setValue(new LittleDoctorRequestBean());
+ }
+ getRequestBeanLiveData().getValue().setPageNum(getRequestBeanLiveData().getValue().getPageNum() + 1);
+ model.getLittleDoctors(getRequestBeanLiveData().getValue().toMap())
+ .compose(RxUtils.schedulersTransformer())
+ .doFinally(new Action() {
+ @Override
+ public void run() throws Exception {
+ changeStateView(StateViewEnum.DATA_FINISH);
+ }
+ })
+ .subscribe(new Observer<ResultData<PageResponseBean<LittleDoctorBean>>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<PageResponseBean<LittleDoctorBean>> 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());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+ /**
+ * 鍒犻櫎澶氶�夐�変腑鐨勬暟鎹�
+ */
+ public void deleteCheckList() {
+ List<LittleDoctorBean> deleteList = getCheckListLiveData().getValue();
+ if (deleteList == null){
+ return;
+ }
+ StringBuffer sb = new StringBuffer();
+ deleteList.forEach(LittleDoctorBean -> sb.append(LittleDoctorBean.getId()).append(","));
+ sb.deleteCharAt(sb.length()-1);
+ model.deleteLittleDoctors(sb.toString())
+ .compose(RxUtils.schedulersTransformer())
+ .subscribe(new Observer<ResultData<String>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<String> stringResultData) {
+ if (stringResultData.getCode() == CODE_SUCCESS){
+ finishDeleteListLiveData.postValue(checkListLiveData.getValue());
+ messageLiveData.postValue("鍒犻櫎鎴愬姛");
+ getCheckListLiveData().postValue(new ArrayList<>());
+ }else {
+ messageLiveData.postValue(stringResultData.getMsg());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+ /**
+ * 鍒犻櫎鍗曚釜鏁版嵁
+ */
+ public void deleteItem(LittleDoctorBean littleDoctorBean) {
+ model.deleteLittleDoctors(String.valueOf(littleDoctorBean.getId()))
+ .compose(RxUtils.schedulersTransformer())
+ .subscribe(new Observer<ResultData<String>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<String> stringResultData) {
+ if (stringResultData.getCode() == CODE_SUCCESS){
+ List<LittleDoctorBean> list = new ArrayList<>();
+ list.add(littleDoctorBean);
+ finishDeleteListLiveData.postValue(list);
+ messageLiveData.postValue("鍒犻櫎鎴愬姛");
+ }else {
+ messageLiveData.postValue(stringResultData.getMsg());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+
+ public MutableLiveData<List<LittleDoctorBean>> getCheckListLiveData() {
+ if (checkListLiveData==null){
+ checkListLiveData = new MutableLiveData<>();
+ checkListLiveData.postValue(new ArrayList<>());
+ }
+ if (checkListLiveData.getValue() == null){
+ checkListLiveData.postValue(new ArrayList<>());
+ }
+ return checkListLiveData;
+ }
+
+ public void setCheckListLiveData(MutableLiveData<List<LittleDoctorBean>> checkListLiveData) {
+ this.checkListLiveData = checkListLiveData;
+ }
+
+ @NonNull
+ public MutableLiveData<LittleDoctorRequestBean> getRequestBeanLiveData() {
+ if (requestBeanLiveData == null){
+ requestBeanLiveData = new MutableLiveData<>();
+ }
+ if (requestBeanLiveData.getValue() == null){
+ requestBeanLiveData.setValue(new LittleDoctorRequestBean());
+ }
+ return requestBeanLiveData;
+ }
+
+ public void setRequestBeanLiveData(MutableLiveData<LittleDoctorRequestBean> requestBeanLiveData) {
+ this.requestBeanLiveData = requestBeanLiveData;
+ }
+
+ public MutableLiveData<List<LittleDoctorBean>> getDataListLiveData() {
+ if (dataListLiveData == null){
+ dataListLiveData = new MutableLiveData<>();
+ }
+ return dataListLiveData;
+ }
+
+ public void setDataListLiveData(MutableLiveData<List<LittleDoctorBean>> dataListLiveData) {
+ this.dataListLiveData = dataListLiveData;
+ }
+
+ @NonNull
+ public MutableLiveData<List<LittleDoctorBean>> getMoreListLiveData() {
+ if (moreListLiveData == null){
+ moreListLiveData = new MutableLiveData<>();
+ }
+ return moreListLiveData;
+ }
+
+ public void setMoreListLiveData(MutableLiveData<List<LittleDoctorBean>> moreListLiveData) {
+ this.moreListLiveData = moreListLiveData;
+ }
+
+ @NonNull
+ public MutableLiveData<Integer> getOperateTypeLiveData() {
+ if (operateTypeLiveData == null){
+ operateTypeLiveData = new MutableLiveData<>();
+ operateTypeLiveData.setValue(0);
+ }
+ return operateTypeLiveData;
+ }
+
+ public void setOperateTypeLiveData(MutableLiveData<Integer> operateTypeLiveData) {
+ this.operateTypeLiveData = operateTypeLiveData;
+ }
+
+ public LiveData<List<LittleDoctorBean>> getFinishDeleteListLiveData() {
+ if (finishDeleteListLiveData == null){
+ finishDeleteListLiveData = new MutableLiveData<>();
+ }
+ return finishDeleteListLiveData;
+ }
+
+ public void setFinishDeleteListLiveData(MutableLiveData<List<LittleDoctorBean>> finishDeleteListLiveData) {
+ this.finishDeleteListLiveData = finishDeleteListLiveData;
+ }
}
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
index c10e656..869db9c 100644
--- 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
@@ -3,24 +3,39 @@
import android.view.View;
import android.view.ViewGroup;
import android.widget.EditText;
+import android.widget.PopupWindow;
import androidx.recyclerview.widget.GridLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+import com.android.app_base.base.BaseConfig;
+import com.android.app_base.base.adapter.BaseRVAdapter;
+import com.android.app_base.base.dialog.BaseDialog;
+import com.android.app_base.base.dialog.UIDialog;
+import com.android.app_base.manager.UserManager;
+import com.android.app_base.utils.ScreenSizeUtils;
+import com.android.app_base.utils.Utils;
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.FamilyMemorabiliaBean;
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 com.luck.picture.lib.entity.LocalMedia;
+import com.luck.picture.lib.interfaces.OnResultCallbackListener;
+import java.io.File;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
+import java.util.function.Consumer;
public class LittleDoctorDetailActivity extends DLBaseActivity<ActivityLittleDoctorDetailBinding, LittleDoctorDetailActivityViewModel> {
+ private int type;// 0 鏌ョ湅鍙慨鏀瑰垹闄� 1 鏂板 2 鐩存帴淇敼
+ private PopupWindow popupWindow;
private ImageRvAdapter adapter;
-
@Override
public int getLayoutId() {
return R.layout.activity_little_doctor_detail;
@@ -33,8 +48,13 @@
@Override
public void initParam() {
- if (getIntent().hasExtra("bean")){
- viewModel.getBeanLiveData().setValue((LittleDoctorBean) getIntent().getSerializableExtra("bean"));
+
+ type = getIntent().getIntExtra(BaseConfig.EXTRA_TYPE,0);
+ if (type == 0 || type == 2){
+ LittleDoctorBean bean = (LittleDoctorBean) getIntent().getSerializableExtra("bean");
+ if (bean !=null){
+ viewModel.getBeanLiveData().setValue(bean);
+ }
}
}
@@ -44,7 +64,86 @@
GridLayoutManager gridLayoutManager = new GridLayoutManager(this, 3);
binding.rvImage.setLayoutManager(gridLayoutManager);
binding.rvImage.setNestedScrollingEnabled(false);
- setIsEdited(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) {
+ UserManager.getInstance().selectImage(getSelfActivity(), 9, new OnResultCallbackListener<LocalMedia>() {
+ @Override
+ public void onResult(ArrayList<LocalMedia> result) {
+ if (result.size() == 0) return;
+ for (LocalMedia media : result) {
+ String path = media.getRealPath();
+ File file = new File(path);
+ if (file.exists()) {
+ viewModel.uploadFile(file);
+ }
+ }
+ }
+
+ @Override
+ public void onCancel() {
+
+ }
+ });
+ }
+ });
+ adapter.setOnChildClickListener(R.id.iv_delete, new BaseRVAdapter.OnChildClickListener() {
+ @Override
+ public void onChildClick(RecyclerView recyclerView, View childView, int position) {
+ LittleDoctorBean bean = viewModel.getBeanLiveData().getValue();
+ if (bean !=null){
+ List<String> urlList = Utils.splitString2List(bean.getUrl(),",");
+ urlList.remove(adapter.getItem(position));
+ bean.setUrl(Utils.appendList2String(urlList,","));
+ }
+ adapter.removeItem(position);
+ viewModel.getBeanLiveData().setValue(bean);
+ }
+ });
+ binding.rvImage.setAdapter(adapter);
+
+ if (type == 1){
+ viewModel.getTypeLiveData().postValue(true);
+ binding.titleBar.setTitle("鏂板灏忓尰鐢�");
+ binding.ivOperate.setOnClickListener(v -> {
+ viewModel.add();
+ });
+ }else if (type == 0){
+ popupWindow = initPopUpWindow(View.inflate(this,R.layout.pop_operate_delete,null));
+ popupWindow.getContentView().findViewById(R.id.tv_modify).setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ viewModel.getTypeLiveData().postValue(true);
+ popupWindow.dismiss();
+ }
+ });
+ popupWindow.getContentView().findViewById(R.id.tv_delete).setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ popupWindow.dismiss();
+ new UIDialog.Builder(getSelfActivity())
+ .setTitle("鎮ㄧ‘瀹氳鍒犻櫎椤圭洰鍚�")
+ .setContent("椤圭洰鍒犻櫎鍚庡皢鏃犳硶鎭㈠")
+ .setConfirm("纭畾")
+ .setCancel("鍙栨秷")
+ .setListener(new UIDialog.OnListener() {
+ @Override
+ public void onConfirm(BaseDialog dialog) {
+ viewModel.delete();
+ }
+ })
+ .show();
+ }
+ });
+ viewModel.getTypeLiveData().postValue(false);
+ }else if (type == 2){
+ viewModel.getTypeLiveData().postValue(true);
+
+ }
+
}
@Override
@@ -56,19 +155,38 @@
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));
+ adapter.setData(Utils.splitString2List(bean.getUrl(),","));
+ }
+ });
+ viewModel.getTypeLiveData().observe(this,operateType -> {
+ if (operateType){
+ if (type == 1) {
+ binding.ivOperate.setOnClickListener(v -> {
+ viewModel.add();
+ });
}else {
- list = new ArrayList<>();
- list.add(url);
+ binding.ivOperate.setOnClickListener(v -> {
+ viewModel.update();
+ });
}
- adapter.setData(list);
+ binding.rvImage.getFooterViews().forEach(new Consumer<View>() {
+ @Override
+ public void accept(View view) {
+ view.setVisibility(View.VISIBLE);
+ }
+ });
+ setIsEdited(true);
+ }else {
+ binding.ivOperate.setOnClickListener(v -> {
+ popupWindow.showAsDropDown(binding.ivOperate,-ScreenSizeUtils.dip2px(this,85) +binding.ivOperate.getWidth(),0);
+ });
+ binding.rvImage.getFooterViews().forEach(new Consumer<View>() {
+ @Override
+ public void accept(View view) {
+ view.setVisibility(View.GONE);
+ }
+ });
+ setIsEdited(false);
}
});
}
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
index 0ecf7d4..50c36e0 100644
--- 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
@@ -1,13 +1,29 @@
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.viewmodel.BaseViewModel;
+import com.android.app_base.http.ResultData;
+import com.android.app_base.manager.AppManager;
+import com.android.app_base.utils.RxUtils;
+import com.android.app_base.utils.rxbus.RxBus;
+import com.application.zhangshi_app_android.bean.FamilyMemorabiliaBean;
import com.application.zhangshi_app_android.bean.LittleDoctorBean;
+import com.application.zhangshi_app_android.bean.UploadFileResponseBean;
import com.application.zhangshi_app_android.data.DataRepository;
+
+import java.io.File;
+
+import io.reactivex.Observer;
+import io.reactivex.disposables.Disposable;
+import okhttp3.MediaType;
+import okhttp3.MultipartBody;
+import okhttp3.RequestBody;
/**
* @author Ljj
@@ -17,6 +33,7 @@
public class LittleDoctorDetailActivityViewModel extends BaseViewModel<DataRepository> {
private MutableLiveData<LittleDoctorBean> beanLiveData;
+ private MutableLiveData<Boolean> typeLiveData;//true 缂栬緫鐘舵�� false 灞曠ず鐘舵��
public LittleDoctorDetailActivityViewModel(@NonNull Application application) {
super(application);
@@ -27,14 +44,181 @@
return DataRepository.getInstance();
}
+ /**
+ * 澧炲姞灏忓尰鐢�
+ */
+ public void add() {
+ model.addLittleDoctor(beanLiveData.getValue())
+ .compose(RxUtils.schedulersTransformer())
+ .subscribe(new Observer<ResultData<String>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<String> stringResultData) {
+ if (stringResultData.getCode() == CODE_SUCCESS){
+ AppManager.getAppManager().finishCurrentActivity();
+ RxBus.getInstance().post(beanLiveData.getValue());
+ messageLiveData.postValue("娣诲姞鎴愬姛");
+ }else {
+ messageLiveData.postValue(stringResultData.getMsg());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+ /**
+ * 鍒犻櫎灏忓尰鐢�
+ */
+ public void delete() {
+ if (beanLiveData.getValue() == null){
+ return;
+ }
+ model.deleteLittleDoctors(String.valueOf(beanLiveData.getValue().getId()))
+ .compose(RxUtils.schedulersTransformer())
+ .subscribe(new Observer<ResultData<String>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<String> stringResultData) {
+ if (stringResultData.getCode() == CODE_SUCCESS){
+ AppManager.getAppManager().finishCurrentActivity();
+ RxBus.getInstance().post(beanLiveData.getValue());
+ messageLiveData.postValue("鍒犻櫎鎴愬姛");
+ }else {
+ messageLiveData.postValue(stringResultData.getMsg());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+ /**
+ * 淇敼灏忓尰鐢�
+ */
+ public void update() {
+ model.updateLittleDoctor(beanLiveData.getValue())
+ .compose(RxUtils.schedulersTransformer())
+ .subscribe(new Observer<ResultData<String>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<String> stringResultData) {
+ if (stringResultData.getCode() == CODE_SUCCESS){
+ AppManager.getAppManager().finishCurrentActivity();
+ RxBus.getInstance().post(beanLiveData.getValue());
+ messageLiveData.postValue("淇敼鎴愬姛");
+ }else {
+ messageLiveData.postValue(stringResultData.getMsg());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+
+ /**
+ * 涓婁紶鐢靛瓙鏂囦欢
+ */
+ public void uploadFile(File file) {
+ RequestBody requestBody = RequestBody.create(MediaType.parse("multipart/form-data"), file);
+ MultipartBody.Part body = MultipartBody.Part.createFormData("uploadFile", file.getName(), requestBody);
+ model.uploadFile(body)
+ .compose(RxUtils.schedulersTransformer())
+ .subscribe(new Observer<ResultData<UploadFileResponseBean>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<UploadFileResponseBean> resultData) {
+ if (resultData.getCode() == CODE_SUCCESS){
+ LittleDoctorBean bean = beanLiveData.getValue();
+ String url;
+ if (bean != null){
+ url = bean.getUrl();
+ if (url == null){
+ url = resultData.getData().getUrl();
+ }else {
+ url = url + "," + resultData.getData().getUrl();
+ }
+ bean.setUrl(url);
+ beanLiveData.postValue(bean);
+ }
+ }else {
+ messageLiveData.postValue(resultData.getMsg());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+
+ public MutableLiveData<Boolean> getTypeLiveData() {
+ if (typeLiveData == null){
+ typeLiveData = new MutableLiveData<>();
+ }
+ return typeLiveData;
+ }
+
+ public void setTypeLiveData(MutableLiveData<Boolean> typeLiveData) {
+ this.typeLiveData = typeLiveData;
+ }
+
+ public void setBeanLiveData(MutableLiveData<LittleDoctorBean> beanLiveData) {
+ this.beanLiveData = beanLiveData;
+ }
+
public MutableLiveData<LittleDoctorBean> getBeanLiveData() {
if (beanLiveData == null){
beanLiveData = new MutableLiveData<>();
}
+ if (beanLiveData.getValue() == null){
+ beanLiveData.setValue(new LittleDoctorBean());
+ }
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
index 364ceeb..d702b95 100644
--- 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
@@ -11,9 +11,11 @@
import android.widget.LinearLayout;
import androidx.annotation.NonNull;
+import androidx.recyclerview.widget.LinearLayoutManager;
import com.application.zhangshi_app_android.BR;
import com.application.zhangshi_app_android.R;
+import com.application.zhangshi_app_android.adapter.OldSpouseRvAdapter;
import com.application.zhangshi_app_android.databinding.ActivityMarriageBinding;
import com.application.zhangshi_app_android.ui.DLBaseActivity;
@@ -24,6 +26,7 @@
*/
public class MarriageActivity extends DLBaseActivity<ActivityMarriageBinding,MarriageActivityViewModel> {
+ private OldSpouseRvAdapter adapter;
@Override
public int getLayoutId() {
return R.layout.activity_marriage;
@@ -38,27 +41,49 @@
public void initParam() {
}
-
- private boolean isExpended = false;
@Override
public void initView() {
+ adapter = new OldSpouseRvAdapter(this);
+ binding.rvPredecessor.setNestedScrollingEnabled(false);
+ binding.rvPredecessor.setAdapter(adapter);
+
+ final int SCROLL_THRESHOLD = 400; // 婊戝姩闃堝�硷紝鎸夐挳鍦ㄦ粦鍔ㄨ秴杩囪闃堝�煎悗寮�濮嬫牴鎹秴鍑洪槇鍊艰窛绂绘笎娓愭樉绀哄嚭鏉�
+ final int SCROLL_DISTANCE = 400; // 鎸夐挳浠庨殣钘忓埌鍏ㄩ儴鏄剧ず鍑烘潵闇�瑕佹粦鍔ㄧ殑璺濈
+ binding.fabMoveToTop.setAlpha(0f);
+ binding.nestedScrollView.setOnScrollChangeListener(new View.OnScrollChangeListener() {
+ @Override
+ public void onScrollChange(View v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) {
+ // 褰撴粦鍔ㄨ窛绂昏秴杩囬槇鍊间竴鍗婃椂锛屽紑濮嬫參鎱㈡樉绀烘寜閽�
+ if (scrollY >= SCROLL_THRESHOLD) {
+ // 鏍规嵁婊戝姩璺濈璁剧疆鎸夐挳閫忔槑搴�
+ float alpha = Math.min(1.0f, (float) (scrollY - SCROLL_THRESHOLD) / SCROLL_DISTANCE);
+ binding.fabMoveToTop.setAlpha(alpha);
+ } else {
+ binding.fabMoveToTop.setAlpha(0f);
+ }
+ }
+ });
+ binding.fabMoveToTop.setOnClickListener(v -> {
+ // 鐐瑰嚮鎸夐挳杩斿洖椤堕儴
+ binding.nestedScrollView.smoothScrollTo(0, 0);
+ });
}
@Override
public void initData() {
-
+ viewModel.getMarriageInfo();
}
@Override
public void initLiveDataObserve() {
viewModel.getIsSpouseExpendedLiveData().observe(this, aBoolean -> {
if (aBoolean){
- binding.ivSpouseFold.setOnClickListener(view -> {
+ binding.layoutTitleSpouse.setOnClickListener(view -> {
collapseView(binding.cardSpouse,binding.layoutTitleSpouse);
viewModel.getIsSpouseExpendedLiveData().setValue(false);
});
}else {
- binding.ivSpouseFold.setOnClickListener(view -> {
+ binding.layoutTitleSpouse.setOnClickListener(view -> {
expendView(binding.cardSpouse);
viewModel.getIsSpouseExpendedLiveData().setValue(true);
});
@@ -66,12 +91,12 @@
});
viewModel.getIsPredecessorExpendedLiveData().observe(this, aBoolean -> {
if (aBoolean){
- binding.ivPredecessorFold.setOnClickListener(view -> {
+ binding.layoutTitlePredecessor.setOnClickListener(view -> {
collapseView(binding.cardPredecessor,binding.layoutTitlePredecessor);
viewModel.getIsPredecessorExpendedLiveData().setValue(false);
});
}else {
- binding.ivPredecessorFold.setOnClickListener(new View.OnClickListener() {
+ binding.layoutTitlePredecessor.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
expendView(binding.cardPredecessor);
@@ -82,7 +107,7 @@
});
viewModel.getIsProcreateExpendedLiveData().observe(this, aBoolean -> {
if (aBoolean){
- binding.ivProcreateFold.setOnClickListener(new View.OnClickListener() {
+ binding.layoutTitleProcreate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
collapseView(binding.cardProcreate,binding.layoutTitleProcreate);
@@ -90,7 +115,7 @@
}
});
}else {
- binding.ivProcreateFold.setOnClickListener(new View.OnClickListener() {
+ binding.layoutTitleProcreate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
expendView(binding.cardProcreate);
@@ -99,6 +124,30 @@
});
}
});
+ viewModel.getInfoLiveData().observe(this, marriageInfoBean -> {
+ if (marriageInfoBean != null){
+ if (marriageInfoBean.getOldSpouseList() == null || marriageInfoBean.getOldSpouseList().size() == 0) {
+ binding.cardSpouse.setVisibility(View.GONE);
+ }else {
+ binding.cardSpouse.setVisibility(View.VISIBLE);
+ adapter.setData(marriageInfoBean.getOldSpouseList());
+ }
+ }
+ });
+ }
+
+ @Override
+ protected void dataNull() {
+ super.dataNull();
+ binding.layoutDataNull.setVisibility(View.VISIBLE);
+ binding.nestedScrollView.setVisibility(View.GONE);
+ }
+
+ @Override
+ protected void hide() {
+ super.hide();
+ binding.layoutDataNull.setVisibility(View.GONE);
+ binding.nestedScrollView.setVisibility(View.VISIBLE);
}
public void collapseView(View initialView,View collapsedView){
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
index cd6dc56..0facdb3 100644
--- 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
@@ -1,12 +1,22 @@
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.GrowthExperienceInformationBean;
+import com.application.zhangshi_app_android.bean.MarriageInfoBean;
import com.application.zhangshi_app_android.data.DataRepository;
+
+import io.reactivex.Observer;
+import io.reactivex.disposables.Disposable;
/**
* @author Ljj
@@ -17,7 +27,7 @@
private MutableLiveData<Boolean> isSpouseExpendedLiveData;
private MutableLiveData<Boolean> isPredecessorExpendedLiveData;
private MutableLiveData<Boolean> isProcreateExpendedLiveData;
-
+ private MutableLiveData<MarriageInfoBean> infoLiveData;
public MarriageActivityViewModel(@NonNull Application application) {
super(application);
}
@@ -27,6 +37,55 @@
return DataRepository.getInstance();
}
+ /**
+ * 鑾峰彇涓汉濠氬Щ
+ */
+ public void getMarriageInfo(){
+ model.getMarriageInfo()
+ .compose(RxUtils.schedulersTransformer())
+ .subscribe(new Observer<ResultData<MarriageInfoBean>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<MarriageInfoBean> data) {
+ if (data.getCode() == CODE_SUCCESS){
+ changeStateView(StateViewEnum.HIDE);
+ infoLiveData.postValue(data.getData());
+ }else if (data.getCode() == 500){
+ changeStateView(StateViewEnum.DATA_NULL);
+ messageLiveData.postValue(data.getMsg());
+ }else {
+ messageLiveData.postValue(data.getMsg());
+ }
+ }
+
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+
+ public MutableLiveData<MarriageInfoBean> getInfoLiveData() {
+ if (infoLiveData == null){
+ infoLiveData = new MutableLiveData<>();
+ }
+ return infoLiveData;
+ }
+
+ public void setInfoLiveData(MutableLiveData<MarriageInfoBean> infoLiveData) {
+ this.infoLiveData = infoLiveData;
+ }
+
public MutableLiveData<Boolean> getIsSpouseExpendedLiveData() {
if (isSpouseExpendedLiveData == null){
isSpouseExpendedLiveData = new MutableLiveData<>();
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/PersonalNotepadActivity.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/PersonalNotepadActivity.java
index e0f60db..960b45b 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/ui/function/PersonalNotepadActivity.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/PersonalNotepadActivity.java
@@ -1,12 +1,30 @@
package com.application.zhangshi_app_android.ui.function;
+import android.content.Intent;
+import android.text.Editable;
+import android.text.TextUtils;
+import android.text.TextWatcher;
+import android.view.MotionEvent;
+import android.view.View;
+import android.widget.PopupWindow;
+
+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.manager.AppManager;
+import com.android.app_base.utils.ScreenSizeUtils;
+import com.android.app_base.utils.Utils;
+import com.android.app_base.utils.rxbus.RxBus;
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.PersonalNotepadRvAdapter;
-import com.application.zhangshi_app_android.adapter.PrivacyRvAdapter;
+import com.application.zhangshi_app_android.bean.PersonalNotepadBean;
import com.application.zhangshi_app_android.databinding.ActivityPersonalNotepadBinding;
import com.application.zhangshi_app_android.ui.DLBaseActivity;
+import com.github.gzuliyujiang.wheelpicker.DatePicker;
+import com.github.gzuliyujiang.wheelpicker.contract.OnDatePickedListener;
+import com.hjq.bar.TitleBar;
/**
* @author Ljj
@@ -15,7 +33,8 @@
*/
public class PersonalNotepadActivity extends DLBaseActivity<ActivityPersonalNotepadBinding,PersonalNotepadActivityViewModel> {
private PersonalNotepadRvAdapter adapter;
-
+ private boolean isSearchLayoutVisible;
+ private PopupWindow mOperatePopupWindow;
@Override
public int getLayoutId() {
return R.layout.activity_personal_notepad;
@@ -33,13 +52,159 @@
@Override
public void initView() {
- adapter = new PersonalNotepadRvAdapter(this);
+ //涓嬫媺鍒锋柊甯冨眬
+ binding.refreshLayout.setEnableRefresh(false);
+ binding.refreshLayout.setEnableLoadMore(true);
+ binding.refreshLayout.setEnableOverScrollDrag(true);
+ binding.refreshLayout.setOnLoadMoreListener(refreshLayout -> {
+ viewModel.getMorePersonalNotepads();
+ });
+ //recyclerView閫傞厤鍣�
+ adapter = new PersonalNotepadRvAdapter(this,viewModel);
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);
+ //鍙充笂瑙掓搷浣滃脊绐�
+ mOperatePopupWindow = initPopUpWindow(View.inflate(this,R.layout.pop_operate,null));
+ setOnClickListener(
+ mOperatePopupWindow.getContentView().findViewById(R.id.tv_add),
+ mOperatePopupWindow.getContentView().findViewById(R.id.tv_select),
+ mOperatePopupWindow.getContentView().findViewById(R.id.tv_from_new_to_old),
+ mOperatePopupWindow.getContentView().findViewById(R.id.tv_from_old_to_new)
+ );
+ //鐐瑰嚮鏀惧ぇ闀滄寜閽樉绀哄嚭鎼滅储妗�
+ binding.ivSearchDefault.setOnClickListener(v -> {
+ binding.layoutSearch.setVisibility(View.VISIBLE);
+ binding.layoutDefault.setVisibility(View.GONE);
+ });
+ //鐐瑰嚮鎼滅储妗嗚彍鍗曚笅鎷夊嚭 鎼滅储鍙傛暟
+ binding.ivSearchType.setOnClickListener(v -> {
+ if (!isSearchLayoutVisible){
+ binding.layoutSearchParameter.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED);
+ int targetHeight = binding.layoutSearchParameter.getMeasuredHeight();
+ Utils.dropExpand(binding.containerSearchParameter,0,targetHeight);
+ isSearchLayoutVisible = true;
+ }
+ });
+ //鎼滅储鍙傛暟layout娣诲姞绌虹偣鍑讳簨浠讹紝闃叉鐐瑰嚮瀹冨唴閮╲iew鏃跺畠鍚庨潰鐨剅ecycler杩樿兘鍝嶅簲鐐瑰嚮浜嬩欢
+ binding.layoutSearchParameter.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ }
+ });
+ //鐐瑰嚮鎼滅储鎸夐挳杩涜鎼滅储
+ binding.ivSearch.setOnClickListener(v -> {
+ viewModel.getPersonalNotepads();
+ binding.layoutSearch.setVisibility(View.GONE);
+ binding.layoutDefault.setVisibility(View.VISIBLE);
+ binding.tvTitle.setText("鎼滅储缁撴灉");
+ hideSoftKeyboard();
+ });
+ //鐐瑰嚮娣诲姞鎸夐挳璺宠浆鍒板垱寤哄澶т簨璁伴〉闈�
+ binding.fabAdd.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ AppManager.getAppManager().startActivity(new Intent(getSelfActivity(), PersonalNotepadDetailActivity.class).putExtra(BaseConfig.EXTRA_TYPE,1));
+ }
+ });
+ binding.etStartTime.addTextChangedListener(new TextWatcher() {
+ @Override
+ public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+ }
+
+ @Override
+ public void onTextChanged(CharSequence s, int start, int before, int count) {
+ if (!TextUtils.isEmpty(s)) {
+ binding.ivTimeClear.setVisibility(View.VISIBLE);
+ } else {
+ if (TextUtils.isEmpty(binding.etEndTime.getText().toString())) {
+ binding.ivTimeClear.setVisibility(View.INVISIBLE);
+ }
+ }
+ }
+
+ @Override
+ public void afterTextChanged(Editable s) {
+
+ }
+ });
+ binding.etEndTime.addTextChangedListener(new TextWatcher() {
+ @Override
+ public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+ }
+
+ @Override
+ public void onTextChanged(CharSequence s, int start, int before, int count) {
+ if (!TextUtils.isEmpty(s)) {
+ binding.ivTimeClear.setVisibility(View.VISIBLE);
+ } else {
+ if (TextUtils.isEmpty(binding.etStartTime.getText().toString())) {
+ binding.ivTimeClear.setVisibility(View.INVISIBLE);
+ }
+ }
+ }
+
+ @Override
+ public void afterTextChanged(Editable s) {
+
+ }
+ });
+ binding.etStartTime.setOnClickListener(v -> {
+ hideSoftKeyboard();
+ DatePicker datePicker = getDatePicker();
+ datePicker.setTitle("璇烽�夋嫨寮�濮嬫椂闂�");
+ datePicker.setOnDatePickedListener(new OnDatePickedListener() {
+ @Override
+ public void onDatePicked(int year, int month, int day) {
+ //浠yyy-MM-dd鐨勬牸寮忔樉绀猴紝鏈堟棩灏忎簬10鏃跺墠闈㈣ˉ0
+ binding.etStartTime.setText(String.format("%d-%02d-%02d", year, month, day));
+ if (binding.etEndTime.getText().toString().isEmpty()){
+ binding.etEndTime.setText(String.format("%d-%02d-%02d", year, month, day));
+ }else {
+ //姣旇緝寮�濮嬫椂闂村拰缁撴潫鏃堕棿鐨勫ぇ灏�
+ String startTime = binding.etStartTime.getText().toString();
+ String endTime = binding.etEndTime.getText().toString();
+ if (Utils.compareDate(startTime,endTime) > 0){
+ //浜ゆ崲
+ binding.etStartTime.setText(endTime);
+ binding.etEndTime.setText(startTime);
+ }
+ }
+ }
+ });
+ datePicker.show();
+ });
+ binding.etEndTime.setOnClickListener(v -> {
+ hideSoftKeyboard();
+ DatePicker datePicker = getDatePicker();
+ datePicker.setTitle("璇烽�夋嫨缁撴潫鏃堕棿");
+ datePicker.setOnDatePickedListener(new OnDatePickedListener() {
+ @Override
+ public void onDatePicked(int year, int month, int day) {
+ binding.etEndTime.setText(String.format("%d-%02d-%02d", year, month, day));
+ if (binding.etStartTime.getText().toString().isEmpty()){
+ binding.etStartTime.setText(String.format("%d-%02d-%02d", year, month, day));
+ }else {
+ //姣旇緝寮�濮嬫椂闂村拰缁撴潫鏃堕棿鐨勫ぇ灏�
+ String startTime = binding.etStartTime.getText().toString();
+ String endTime = binding.etEndTime.getText().toString();
+ if (Utils.compareDate(startTime,endTime) > 0){
+ //浜ゆ崲
+ binding.etStartTime.setText(endTime);
+ binding.etEndTime.setText(startTime);
+ }
+ }
+ }
+ });
+ datePicker.show();
+ });
+ binding.ivTimeClear.setOnClickListener(v -> {
+ binding.etStartTime.setText("");
+ binding.etEndTime.setText("");
+ });
}
@Override
@@ -52,5 +217,126 @@
viewModel.getDataListLiveData().observe(this, dataList -> {
adapter.setData(dataList);
});
+ viewModel.getCheckListLiveData().observe(this, checkList -> {
+ if (0 == viewModel.getOperateTypeLiveData().getValue()){
+ return;
+ }
+ if (checkList.isEmpty()){
+ viewModel.getOperateTypeLiveData().setValue(1);
+ }else{
+ viewModel.getOperateTypeLiveData().setValue(2);
+ }
+ });
+ viewModel.getMoreListLiveData().observe(this, moreList -> {
+ adapter.addData(moreList);
+ });
+ viewModel.getOperateTypeLiveData().observe(this, integer -> {
+ if (integer == 0){
+ binding.ivOperate.setBackgroundResource(R.drawable.ic_operate);
+ binding.ivOperate.setOnClickListener(v -> {
+ mOperatePopupWindow.showAsDropDown(binding.ivOperate,-ScreenSizeUtils.dip2px(this,85) +binding.ivOperate.getWidth(),0);
+ });
+ adapter.setCheckable(false);
+ }else if (integer == 1){
+ binding.ivOperate.setBackgroundResource(R.drawable.ic_operate_finish);
+ binding.ivOperate.setOnClickListener(v -> {
+ viewModel.getOperateTypeLiveData().postValue(0);
+ });
+ adapter.setCheckable(true);
+ }else if (integer == 2){
+ binding.ivOperate.setBackgroundResource(R.drawable.ic_delete_white);
+ binding.ivOperate.setOnClickListener(v -> {
+ new UIDialog.Builder(this)
+ .setTitle("鎮ㄧ‘瀹氳鍒犻櫎閫変腑鐨勯」鐩悧")
+ .setContent("椤圭洰鍒犻櫎鍚庡皢鏃犳硶鎭㈠")
+ .setConfirm("纭畾")
+ .setCancel("鍙栨秷")
+ .setListener(new UIDialog.OnListener() {
+ @Override
+ public void onConfirm(BaseDialog dialog) {
+ viewModel.deleteCheckList();
+ }
+ })
+ .show();
+ });
+ }
+ });
+
+ viewModel.getFinishDeleteListLiveData().observe(this, beans -> {
+ for (PersonalNotepadBean bean : beans) {
+ adapter.removeItem(bean);
+ }
+ });
+
+ //瑙傚療鏁版嵁鐨勫彉鍖栵紝鏈夊彉鍖栧寘鎷坊鍔犮�佷慨鏀广�佸垹闄ら兘浼氬彂閫佹秷鎭紝鎺ユ敹鍒版秷鎭悗閲嶆柊鑾峰彇鏁版嵁杩涜鍒锋柊
+ RxBus.getInstance().toObservable(this, PersonalNotepadBean.class)
+ .subscribe(bean -> {
+ viewModel.getPersonalNotepads();
+ });
+ }
+ @Override
+ protected void dataNull() {
+ super.dataNull();
+ binding.layoutDataNull.setVisibility(View.VISIBLE);
+ binding.refreshLayout.setVisibility(View.GONE);
+ }
+
+ @Override
+ protected void dataFinish() {
+ super.dataFinish();
+ binding.refreshLayout.finishLoadMore();
+ }
+
+ @Override
+ protected void hide() {
+ super.hide();
+ binding.layoutDataNull.setVisibility(View.GONE);
+ binding.refreshLayout.setVisibility(View.VISIBLE);
+ binding.refreshLayout.finishLoadMore();
+ }
+
+ @Override
+ public void onClick(View v) {
+ int id = v.getId();
+ if (id == R.id.tv_add){
+ AppManager.getAppManager().startActivity(new Intent(this, PersonalNotepadDetailActivity.class).putExtra(BaseConfig.EXTRA_TYPE,1));
+ mOperatePopupWindow.dismiss();
+ }else if (id == R.id.tv_select){
+ viewModel.getOperateTypeLiveData().postValue(1);
+ mOperatePopupWindow.dismiss();
+ }else if (id == R.id.tv_from_new_to_old) {
+ viewModel.changeOrder(true);
+ mOperatePopupWindow.dismiss();
+ } else if (id == R.id.tv_from_old_to_new) {
+ viewModel.changeOrder(false);
+ mOperatePopupWindow.dismiss();
+ }
+ }
+
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+ if (mOperatePopupWindow != null){
+ mOperatePopupWindow.dismiss();
+ }
+ }
+
+ @Override
+ public boolean dispatchTouchEvent(MotionEvent event) {
+ float x = event.getX();
+ float y = event.getY();
+ if (isSearchLayoutVisible){
+ if (!Utils.isPointInsideView(x, y, binding.layoutSearchParameter)) {
+ Utils.pullCollapse(binding.containerSearchParameter, binding.layoutSearchParameter.getMeasuredHeight(),0);
+ isSearchLayoutVisible = false;
+ return true;
+ }
+ }
+ return super.dispatchTouchEvent(event);
+ }
+
+ @Override
+ public void onLeftClick(TitleBar titleBar) {
+ finish();
}
}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/PersonalNotepadActivityViewModel.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/PersonalNotepadActivityViewModel.java
index 3d5fe9f..8a07503 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/ui/function/PersonalNotepadActivityViewModel.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/PersonalNotepadActivityViewModel.java
@@ -1,17 +1,31 @@
package com.application.zhangshi_app_android.ui.function;
+import static com.android.app_base.base.BaseConfig.CODE_SUCCESS;
+
import android.app.Application;
+import android.text.TextUtils;
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.android.app_base.utils.Utils;
+import com.application.zhangshi_app_android.bean.PersonalNotepadRequestBean;
+import com.application.zhangshi_app_android.bean.PageResponseBean;
import com.application.zhangshi_app_android.bean.PersonalNotepadBean;
-import com.application.zhangshi_app_android.bean.PrivacyBean;
import com.application.zhangshi_app_android.data.DataRepository;
import java.util.ArrayList;
+import java.util.Date;
import java.util.List;
+
+import io.reactivex.Observer;
+import io.reactivex.disposables.Disposable;
+import io.reactivex.functions.Action;
/**
* @author Ljj
@@ -20,7 +34,12 @@
*/
public class PersonalNotepadActivityViewModel extends BaseViewModel<DataRepository> {
private MutableLiveData<List<PersonalNotepadBean>> dataListLiveData;
+ private MutableLiveData<List<PersonalNotepadBean>> checkListLiveData;//閫変腑鐨勬暟鎹�
+ private MutableLiveData<List<PersonalNotepadBean>> moreListLiveData;//涓嬫媺鍔犺浇鏁版嵁
+ private MutableLiveData<PersonalNotepadRequestBean> requestBeanLiveData;//璇锋眰鍙傛暟
+ private MutableLiveData<List<PersonalNotepadBean>> finishDeleteListLiveData;//宸茬粡瀹屾垚鍒犻櫎鐨勬暟鎹紝鐢ㄤ簬adapter鐨剅emove鎿嶄綔
+ private MutableLiveData<Integer> operateTypeLiveData;//鎿嶄綔绫诲瀷 0 閫夋嫨鎿嶄綔 1.瀹屾垚 2.鍒犻櫎
public PersonalNotepadActivityViewModel(@NonNull Application application) {
super(application);
}
@@ -30,8 +49,207 @@
return DataRepository.getInstance();
}
+ /**
+ * 鑾峰彇鏁版嵁
+ */
+ public void getPersonalNotepads() {
+ if (getRequestBeanLiveData().getValue() == null){
+ getRequestBeanLiveData().setValue(new PersonalNotepadRequestBean());
+ }
+ getRequestBeanLiveData().getValue().setPageNum(1);
+ model.getPersonalNotepad(getRequestBeanLiveData().getValue().toMap())
+ .compose(RxUtils.schedulersTransformer())
+ .subscribe(new Observer<ResultData<PageResponseBean<PersonalNotepadBean>>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<PageResponseBean<PersonalNotepadBean>> 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() {
+
+ }
+ });
+ }
+ /**
+ * 鍔犺浇鏇村
+ */
+ public void getMorePersonalNotepads() {
+ if (true){
+ changeStateView(StateViewEnum.DATA_NULL);
+ return;
+ }
+ if (getRequestBeanLiveData().getValue() == null){
+ getRequestBeanLiveData().setValue(new PersonalNotepadRequestBean());
+ }
+ getRequestBeanLiveData().getValue().setPageNum(getRequestBeanLiveData().getValue().getPageNum() + 1);
+ model.getPersonalNotepad(getRequestBeanLiveData().getValue().toMap())
+ .compose(RxUtils.schedulersTransformer())
+ .doFinally(new Action() {
+ @Override
+ public void run() throws Exception {
+ changeStateView(StateViewEnum.DATA_FINISH);
+ }
+ })
+ .subscribe(new Observer<ResultData<PageResponseBean<PersonalNotepadBean>>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<PageResponseBean<PersonalNotepadBean>> 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());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+ /**
+ * 鍒犻櫎澶氶�夐�変腑鐨勬暟鎹�
+ */
+ public void deleteCheckList() {
+ List<PersonalNotepadBean> deleteList = getCheckListLiveData().getValue();
+ if (deleteList == null){
+ return;
+ }
+ StringBuffer sb = new StringBuffer();
+ deleteList.forEach(PersonalNotepadBean -> sb.append(PersonalNotepadBean.getId()).append(","));
+ sb.deleteCharAt(sb.length()-1);
+ model.deletePersonalNotepad(sb.toString())
+ .compose(RxUtils.schedulersTransformer())
+ .subscribe(new Observer<ResultData<String>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<String> stringResultData) {
+ if (stringResultData.getCode() == CODE_SUCCESS){
+ finishDeleteListLiveData.postValue(checkListLiveData.getValue());
+ messageLiveData.postValue("鍒犻櫎鎴愬姛");
+ getCheckListLiveData().postValue(new ArrayList<>());
+ }else {
+ messageLiveData.postValue(stringResultData.getMsg());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+ /**
+ * 鍒犻櫎鍗曚釜鏁版嵁
+ */
+ public void deleteItem(PersonalNotepadBean PersonalNotepadBean) {
+ model.deletePersonalNotepad(String.valueOf(PersonalNotepadBean.getId()))
+ .compose(RxUtils.schedulersTransformer())
+ .subscribe(new Observer<ResultData<String>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<String> stringResultData) {
+ if (stringResultData.getCode() == CODE_SUCCESS){
+ List<PersonalNotepadBean> list = new ArrayList<>();
+ list.add(PersonalNotepadBean);
+ finishDeleteListLiveData.postValue(list);
+ messageLiveData.postValue("鍒犻櫎鎴愬姛");
+ }else {
+ messageLiveData.postValue(stringResultData.getMsg());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+
+ public MutableLiveData<List<PersonalNotepadBean>> getCheckListLiveData() {
+ if (checkListLiveData==null){
+ checkListLiveData = new MutableLiveData<>();
+ checkListLiveData.postValue(new ArrayList<>());
+ }
+ if (checkListLiveData.getValue() == null){
+ checkListLiveData.postValue(new ArrayList<>());
+ }
+ return checkListLiveData;
+ }
+
+ public void setCheckListLiveData(MutableLiveData<List<PersonalNotepadBean>> checkListLiveData) {
+ this.checkListLiveData = checkListLiveData;
+ }
+
+ @NonNull
+ public MutableLiveData<PersonalNotepadRequestBean> getRequestBeanLiveData() {
+ if (requestBeanLiveData == null){
+ requestBeanLiveData = new MutableLiveData<>();
+ }
+ if (requestBeanLiveData.getValue() == null){
+ requestBeanLiveData.setValue(new PersonalNotepadRequestBean());
+ }
+ return requestBeanLiveData;
+ }
+
+ public void setRequestBeanLiveData(MutableLiveData<PersonalNotepadRequestBean> requestBeanLiveData) {
+ this.requestBeanLiveData = requestBeanLiveData;
+ }
+
public MutableLiveData<List<PersonalNotepadBean>> getDataListLiveData() {
- if (dataListLiveData == null) {
+ if (dataListLiveData == null){
dataListLiveData = new MutableLiveData<>();
}
return dataListLiveData;
@@ -41,21 +259,92 @@
this.dataListLiveData = dataListLiveData;
}
- /**
- * 鑾峰彇涓汉璁颁簨鏈垪琛�
- */
- public void getPersonalNotepads() {
- List<PersonalNotepadBean> beans = new ArrayList<>();
- for (int i = 0; i < 10; i++) {
- PersonalNotepadBean bean = new PersonalNotepadBean();
- bean.setId(i);
- bean.setTitle("鏍囬"+i);
- bean.setPerson("寮犱笁"+i);
- bean.setTime("2020-05-14 20:00:00");
- bean.setPlace("鍖椾含甯傛捣娣�鍖�"+i);
- bean.setRemark("澶囨敞"+i);
- beans.add(bean);
+ @NonNull
+ public MutableLiveData<List<PersonalNotepadBean>> getMoreListLiveData() {
+ if (moreListLiveData == null){
+ moreListLiveData = new MutableLiveData<>();
}
- dataListLiveData.setValue(beans);
+ return moreListLiveData;
+ }
+
+ public void setMoreListLiveData(MutableLiveData<List<PersonalNotepadBean>> moreListLiveData) {
+ this.moreListLiveData = moreListLiveData;
+ }
+
+ @NonNull
+ public MutableLiveData<Integer> getOperateTypeLiveData() {
+ if (operateTypeLiveData == null){
+ operateTypeLiveData = new MutableLiveData<>();
+ operateTypeLiveData.setValue(0);
+ }
+ return operateTypeLiveData;
+ }
+
+ public void setOperateTypeLiveData(MutableLiveData<Integer> operateTypeLiveData) {
+ this.operateTypeLiveData = operateTypeLiveData;
+ }
+
+ public LiveData<List<PersonalNotepadBean>> getFinishDeleteListLiveData() {
+ if (finishDeleteListLiveData == null){
+ finishDeleteListLiveData = new MutableLiveData<>();
+ }
+ return finishDeleteListLiveData;
+ }
+
+ public void setFinishDeleteListLiveData(MutableLiveData<List<PersonalNotepadBean>> finishDeleteListLiveData) {
+ this.finishDeleteListLiveData = finishDeleteListLiveData;
+ }
+
+ /**
+ * 鏀瑰彉鎺掑簭
+ * @param b true 闄嶅簭 false 鍗囧簭
+ */
+ public void changeOrder(boolean b) {
+ List<PersonalNotepadBean> list = getDataListLiveData().getValue();
+ if (list == null || list.isEmpty()){
+ return;
+ }
+ if (b) {
+ // 浠庢柊鍒版棫锛宯ull鎺掓渶鍚�
+ list.sort((o1, o2) -> {
+ String happenTime1 = o1.getHappenTime();
+ String happenTime2 = o2.getHappenTime();
+ if (TextUtils.isEmpty(happenTime1) && TextUtils.isEmpty(happenTime2)) {
+ return 0;
+ } else if (TextUtils.isEmpty(happenTime1)) {
+ return 1;
+ } else if (TextUtils.isEmpty(happenTime2)) {
+ return -1;
+ } else {
+ Date date1 = Utils.parseDate(happenTime1);
+ Date date2 = Utils.parseDate(happenTime2);
+ if (date1 != null && date2 != null) {
+ return date2.compareTo(date1);
+ }
+ return 0;
+ }
+ });
+ } else {
+ // 浠庢棫鍒版柊锛宯ull鎺掓渶鍓�
+ list.sort((o1, o2) -> {
+ String happenTime1 = o1.getHappenTime();
+ String happenTime2 = o2.getHappenTime();
+ if (TextUtils.isEmpty(happenTime1) && TextUtils.isEmpty(happenTime2)) {
+ return 0;
+ } else if (TextUtils.isEmpty(happenTime1)) {
+ return -1;
+ } else if (TextUtils.isEmpty(happenTime2)) {
+ return 1;
+ } else {
+ Date date1 = Utils.parseDate(happenTime1);
+ Date date2 = Utils.parseDate(happenTime2);
+ if (date1 != null && date2 != null) {
+ return date1.compareTo(date2);
+ }
+ return 0;
+ }
+ });
+ }
+ getDataListLiveData().setValue(list);
}
}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/PersonalNotepadDetailActivity.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/PersonalNotepadDetailActivity.java
index f3082b8..c0f7bc5 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/ui/function/PersonalNotepadDetailActivity.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/PersonalNotepadDetailActivity.java
@@ -3,19 +3,35 @@
import android.view.View;
import android.view.ViewGroup;
import android.widget.EditText;
+import android.widget.PopupWindow;
import androidx.recyclerview.widget.GridLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+import com.android.app_base.base.BaseConfig;
+import com.android.app_base.base.adapter.BaseRVAdapter;
+import com.android.app_base.base.dialog.BaseDialog;
+import com.android.app_base.base.dialog.UIDialog;
+import com.android.app_base.manager.UserManager;
+import com.android.app_base.utils.ScreenSizeUtils;
+import com.android.app_base.utils.Utils;
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.PersonalNotepadBean;
import com.application.zhangshi_app_android.databinding.ActivityPersonalNotepadDetailBinding;
import com.application.zhangshi_app_android.ui.DLBaseActivity;
+import com.github.gzuliyujiang.wheelpicker.DatePicker;
+import com.github.gzuliyujiang.wheelpicker.contract.OnDatePickedListener;
+import com.hjq.bar.TitleBar;
+import com.luck.picture.lib.entity.LocalMedia;
+import com.luck.picture.lib.interfaces.OnResultCallbackListener;
+import java.io.File;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.List;
+import java.util.Locale;
+import java.util.function.Consumer;
/**
* @author Ljj
@@ -25,7 +41,8 @@
public class PersonalNotepadDetailActivity extends DLBaseActivity<ActivityPersonalNotepadDetailBinding,PersonalNotepadDetailActivityViewModel> {
private ImageRvAdapter adapter;
-
+ private int type;// 0 鏌ョ湅鍙慨鏀瑰垹闄� 1 鏂板 2 鐩存帴淇敼
+ private PopupWindow popupWindow;
@Override
public int getLayoutId() {
return R.layout.activity_personal_notepad_detail;
@@ -38,8 +55,12 @@
@Override
public void initParam() {
- if (getIntent().hasExtra("bean")){
- viewModel.getBeanLiveData().setValue((PersonalNotepadBean) getIntent().getSerializableExtra("bean"));
+ type = getIntent().getIntExtra(BaseConfig.EXTRA_TYPE,0);
+ if (type == 0 || type == 2){
+ PersonalNotepadBean bean = (PersonalNotepadBean) getIntent().getSerializableExtra("bean");
+ if (bean !=null){
+ viewModel.getBeanLiveData().setValue(bean);
+ }
}
}
@@ -49,7 +70,99 @@
GridLayoutManager gridLayoutManager = new GridLayoutManager(this, 3);
binding.rvImage.setLayoutManager(gridLayoutManager);
binding.rvImage.setNestedScrollingEnabled(false);
- setIsEdited(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) {
+ UserManager.getInstance().selectImage(getSelfActivity(), 9, new OnResultCallbackListener<LocalMedia>() {
+ @Override
+ public void onResult(ArrayList<LocalMedia> result) {
+ if (result.size() == 0) return;
+ for (LocalMedia media : result) {
+ String path = media.getRealPath();
+ File file = new File(path);
+ if (file.exists()) {
+ viewModel.uploadFile(file);
+ }
+ }
+ }
+
+ @Override
+ public void onCancel() {
+
+ }
+ });
+ }
+ });
+ adapter.setOnChildClickListener(R.id.iv_delete, new BaseRVAdapter.OnChildClickListener() {
+ @Override
+ public void onChildClick(RecyclerView recyclerView, View childView, int position) {
+ PersonalNotepadBean bean = viewModel.getBeanLiveData().getValue();
+ if (bean !=null){
+ List<String> urlList = Utils.splitString2List(bean.getUrl(),",");
+ urlList.remove(adapter.getItem(position));
+ bean.setUrl(Utils.appendList2String(urlList,","));
+ }
+ adapter.removeItem(position);
+ viewModel.getBeanLiveData().setValue(bean);
+ }
+ });
+ binding.rvImage.setAdapter(adapter);
+
+ if (type == 1){
+ viewModel.getTypeLiveData().postValue(true);
+ binding.ivOperate.setOnClickListener(v -> {
+ viewModel.add();
+ });
+ }else if (type == 0){
+ popupWindow = initPopUpWindow(View.inflate(this,R.layout.pop_operate_delete,null));
+ popupWindow.getContentView().findViewById(R.id.tv_modify).setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ viewModel.getTypeLiveData().postValue(true);
+ popupWindow.dismiss();
+ }
+ });
+ popupWindow.getContentView().findViewById(R.id.tv_delete).setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ popupWindow.dismiss();
+ new UIDialog.Builder(getSelfActivity())
+ .setTitle("鎮ㄧ‘瀹氳鍒犻櫎椤圭洰鍚�")
+ .setContent("椤圭洰鍒犻櫎鍚庡皢鏃犳硶鎭㈠")
+ .setConfirm("纭畾")
+ .setCancel("鍙栨秷")
+ .setListener(new UIDialog.OnListener() {
+ @Override
+ public void onConfirm(BaseDialog dialog) {
+ viewModel.delete();
+ }
+ })
+ .show();
+ }
+ });
+ viewModel.getTypeLiveData().postValue(false);
+ }else if (type == 2){
+ viewModel.getTypeLiveData().postValue(true);
+
+ }
+ binding.etTime.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ DatePicker picker = getDatePicker();
+ picker.setTitle("閫夋嫨鏃堕棿");
+ picker.setOnDatePickedListener(new OnDatePickedListener() {
+ @Override
+ public void onDatePicked(int year, int month, int day) {
+ String date = String.format(Locale.CHINA, "%d-%02d-%02d", year, month, day);
+ binding.etTime.setText(date);
+ }
+ });
+ picker.show();
+ }
+ });
}
@Override
@@ -61,40 +174,48 @@
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));
+ adapter.setData(Utils.splitString2List(bean.getUrl(),","));
+ }
+ });
+ viewModel.getTypeLiveData().observe(this,operateType -> {
+ if (operateType){
+ if (type == 1) {
+ binding.ivOperate.setOnClickListener(v -> {
+ viewModel.add();
+ });
}else {
- list = new ArrayList<>();
- list.add(url);
+ binding.ivOperate.setOnClickListener(v -> {
+ viewModel.update();
+ });
}
- adapter.setData(list);
+ binding.rvImage.getFooterViews().forEach(new Consumer<View>() {
+ @Override
+ public void accept(View view) {
+ view.setVisibility(View.VISIBLE);
+ }
+ });
+ setIsEdited(true);
+ }else {
+ binding.ivOperate.setOnClickListener(v -> {
+ popupWindow.showAsDropDown(binding.ivOperate,-ScreenSizeUtils.dip2px(this,85) +binding.ivOperate.getWidth(),0);
+ });
+ binding.rvImage.getFooterViews().forEach(new Consumer<View>() {
+ @Override
+ public void accept(View view) {
+ view.setVisibility(View.GONE);
+ }
+ });
+ setIsEdited(false);
}
});
}
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();
- }
- }
- }
+
+ @Override
+ public void onLeftClick(TitleBar titleBar) {
+ finish();
}
}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/PersonalNotepadDetailActivityViewModel.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/PersonalNotepadDetailActivityViewModel.java
index 6503fc2..c51c55e 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/ui/function/PersonalNotepadDetailActivityViewModel.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/PersonalNotepadDetailActivityViewModel.java
@@ -1,14 +1,28 @@
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.viewmodel.BaseViewModel;
+import com.android.app_base.http.ResultData;
+import com.android.app_base.manager.AppManager;
+import com.android.app_base.utils.RxUtils;
+import com.android.app_base.utils.rxbus.RxBus;
import com.application.zhangshi_app_android.bean.PersonalNotepadBean;
-import com.application.zhangshi_app_android.bean.PrivacyBean;
+import com.application.zhangshi_app_android.bean.UploadFileResponseBean;
import com.application.zhangshi_app_android.data.DataRepository;
+
+import java.io.File;
+
+import io.reactivex.Observer;
+import io.reactivex.disposables.Disposable;
+import okhttp3.MediaType;
+import okhttp3.MultipartBody;
+import okhttp3.RequestBody;
/**
* @author Ljj
@@ -18,6 +32,7 @@
public class PersonalNotepadDetailActivityViewModel extends BaseViewModel<DataRepository> {
private MutableLiveData<PersonalNotepadBean> beanLiveData;
+ private MutableLiveData<Boolean> typeLiveData;//true 缂栬緫鐘舵�� false 灞曠ず鐘舵��
public PersonalNotepadDetailActivityViewModel(@NonNull Application application) {
super(application);
@@ -28,15 +43,180 @@
return DataRepository.getInstance();
}
+ /**
+ * 娣诲姞
+ */
+ public void add() {
+ System.out.println(beanLiveData.getValue());
+ model.addPersonalNotepad(beanLiveData.getValue())
+ .compose(RxUtils.schedulersTransformer())
+ .subscribe(new Observer<ResultData<String>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
- public MutableLiveData<PersonalNotepadBean> getBeanLiveData() {
- if (beanLiveData == null) {
- beanLiveData = new MutableLiveData<>();
+ @Override
+ public void onNext(ResultData<String> stringResultData) {
+ if (stringResultData.getCode() == CODE_SUCCESS){
+ AppManager.getAppManager().finishCurrentActivity();
+ RxBus.getInstance().post(beanLiveData.getValue());
+ messageLiveData.postValue("娣诲姞鎴愬姛");
+ }else {
+ messageLiveData.postValue(stringResultData.getMsg());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+ /**
+ * 鍒犻櫎
+ */
+ public void delete() {
+ if (beanLiveData.getValue() == null){
+ return;
}
- return beanLiveData;
+ model.deletePersonalNotepad(String.valueOf(beanLiveData.getValue().getId()))
+ .compose(RxUtils.schedulersTransformer())
+ .subscribe(new Observer<ResultData<String>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<String> stringResultData) {
+ if (stringResultData.getCode() == CODE_SUCCESS){
+ AppManager.getAppManager().finishCurrentActivity();
+ RxBus.getInstance().post(beanLiveData.getValue());
+ messageLiveData.postValue("鍒犻櫎鎴愬姛");
+ }else {
+ messageLiveData.postValue(stringResultData.getMsg());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+ /**
+ * 淇敼
+ */
+ public void update() {
+ model.updatePersonalNotepad(beanLiveData.getValue())
+ .compose(RxUtils.schedulersTransformer())
+ .subscribe(new Observer<ResultData<String>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<String> stringResultData) {
+ if (stringResultData.getCode() == CODE_SUCCESS){
+ AppManager.getAppManager().finishCurrentActivity();
+ RxBus.getInstance().post(beanLiveData.getValue());
+ messageLiveData.postValue("淇敼鎴愬姛");
+ }else {
+ messageLiveData.postValue(stringResultData.getMsg());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+
+ /**
+ * 涓婁紶鐢靛瓙鏂囦欢
+ */
+ public void uploadFile(File file) {
+ RequestBody requestBody = RequestBody.create(MediaType.parse("multipart/form-data"), file);
+ MultipartBody.Part body = MultipartBody.Part.createFormData("uploadFile", file.getName(), requestBody);
+ model.uploadFile(body)
+ .compose(RxUtils.schedulersTransformer())
+ .subscribe(new Observer<ResultData<UploadFileResponseBean>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<UploadFileResponseBean> resultData) {
+ if (resultData.getCode() == CODE_SUCCESS){
+ PersonalNotepadBean bean = beanLiveData.getValue();
+ String url;
+ if (bean != null){
+ url = bean.getUrl();
+ if (url == null){
+ url = resultData.getData().getUrl();
+ }else {
+ url = url + "," + resultData.getData().getUrl();
+ }
+ bean.setUrl(url);
+ beanLiveData.postValue(bean);
+ }
+ }else {
+ messageLiveData.postValue(resultData.getMsg());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+ public MutableLiveData<Boolean> getTypeLiveData() {
+ if (typeLiveData == null){
+ typeLiveData = new MutableLiveData<>();
+ }
+ return typeLiveData;
+ }
+
+ public void setTypeLiveData(MutableLiveData<Boolean> typeLiveData) {
+ this.typeLiveData = typeLiveData;
}
public void setBeanLiveData(MutableLiveData<PersonalNotepadBean> beanLiveData) {
this.beanLiveData = beanLiveData;
}
+
+ public MutableLiveData<PersonalNotepadBean> getBeanLiveData() {
+ if (beanLiveData == null){
+ beanLiveData = new MutableLiveData<>();
+ }
+ if (beanLiveData.getValue() == null){
+ beanLiveData.setValue(new PersonalNotepadBean());
+ }
+ return beanLiveData;
+ }
}
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
index d077d9b..da837ad 100644
--- 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
@@ -1,29 +1,36 @@
package com.application.zhangshi_app_android.ui.function;
+import android.text.Editable;
+import android.text.TextUtils;
+import android.text.TextWatcher;
+import android.view.MotionEvent;
import android.view.View;
import android.widget.PopupWindow;
-import androidx.recyclerview.widget.GridLayoutManager;
-
-import com.android.app_base.manager.AppManager;
import com.android.app_base.utils.ScreenSizeUtils;
+import com.android.app_base.utils.Utils;
+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.PetImageRvAdapter;
+import com.application.zhangshi_app_android.adapter.PetRvAdapter;
+import com.application.zhangshi_app_android.adapter.PropertyRvAdapter;
import com.application.zhangshi_app_android.databinding.ActivityPetBinding;
+import com.application.zhangshi_app_android.databinding.ActivityPropertyBinding;
import com.application.zhangshi_app_android.ui.DLBaseActivity;
-import com.application.zhangshi_app_android.ui.dialog.PetOwnerInfoDialog;
-import com.hjq.bar.TitleBar;
+import com.github.gzuliyujiang.wheelpicker.DatePicker;
+import com.github.gzuliyujiang.wheelpicker.contract.OnDatePickedListener;
/**
* @author Ljj
- * @date 2023.04.17. 18:21
+ * @date 2023.05.22. 22:46
* @desc
*/
-public class PetActivity extends DLBaseActivity<ActivityPetBinding,PetActivityViewModel> {
+public class PetActivity extends DLBaseActivity<ActivityPetBinding, PetActivityViewModel> {
- private PetImageRvAdapter adapter;
- private PopupWindow popupWindow;
+ private PetRvAdapter adapter;
+ private PopupWindow mOperatePopupWindow;
+ private boolean isSearchLayoutVisible;
+
@Override
public int getLayoutId() {
return R.layout.activity_pet;
@@ -41,55 +48,206 @@
@Override
public void initView() {
-
- adapter = new PetImageRvAdapter(this);
- binding.recyclerView.setLayoutManager(new GridLayoutManager(this,3));
- binding.recyclerView.setAdapter(adapter);
- adapter.addItem("");
- adapter.addItem("");
- adapter.addItem("");
- adapter.addItem("");
-
- View view = View.inflate(this,R.layout.pop_operate_pet,null);
- popupWindow = initPopUpWindow(view);
- setOnClickListener(
- view.findViewById(R.id.tv_owner_info),
- view.findViewById(R.id.tv_another),
- view.findViewById(R.id.tv_pet_memo)
- );
-
-
- binding.ivOperate.setOnClickListener(v -> {
- popupWindow.showAsDropDown(binding.ivOperate,-ScreenSizeUtils.dip2px(this,85) +binding.ivOperate.getWidth(),0);
+ //涓嬫媺鍒锋柊甯冨眬
+ binding.refreshLayout.setEnableRefresh(false);
+ binding.refreshLayout.setEnableLoadMore(true);
+ binding.refreshLayout.setEnableOverScrollDrag(true);
+ binding.refreshLayout.setOnLoadMoreListener(refreshLayout -> {
+ viewModel.getMorePets();
});
+ //recyclerView閫傞厤鍣�
+ 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));
+ binding.recyclerView.addItemDecoration(itemDecoration);
+ binding.recyclerView.setAdapter(adapter);
+ //鍙充笂瑙掓搷浣滃脊绐�
+ mOperatePopupWindow = initPopUpWindow(View.inflate(this,R.layout.pop_operate,null));
+ mOperatePopupWindow.getContentView().findViewById(R.id.layout_add).setVisibility(View.GONE);
+ mOperatePopupWindow.getContentView().findViewById(R.id.layout_select).setVisibility(View.GONE);
+ mOperatePopupWindow.getContentView().findViewById(R.id.tv_from_new_to_old).setOnClickListener(v -> {
+ viewModel.sortDataList(0);
+ mOperatePopupWindow.dismiss();
+ });
+ mOperatePopupWindow.getContentView().findViewById(R.id.tv_from_old_to_new).setOnClickListener(v -> {
+ viewModel.sortDataList(1);
+ mOperatePopupWindow.dismiss();
+ });
+ //鐐瑰嚮寮瑰嚭鎿嶄綔寮圭獥
+ binding.ivOperate.setOnClickListener(v -> {
+ mOperatePopupWindow.showAsDropDown(binding.ivOperate,-ScreenSizeUtils.dip2px(this,85) +binding.ivOperate.getWidth(),0);
+ });
+ //鐐瑰嚮鏀惧ぇ闀滄寜閽樉绀哄嚭鎼滅储妗�
+ binding.ivSearchDefault.setOnClickListener(v -> {
+ binding.layoutSearch.setVisibility(View.VISIBLE);
+ binding.layoutDefault.setVisibility(View.GONE);
+ });
+ //鐐瑰嚮鎼滅储妗嗚彍鍗曚笅鎷夊嚭 鎼滅储鍙傛暟
+ binding.ivSearchType.setOnClickListener(v -> {
+ if (!isSearchLayoutVisible){
+ binding.layoutSearchParameter.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED);
+ int targetHeight = binding.layoutSearchParameter.getMeasuredHeight();
+ Utils.pullCollapse(binding.containerSearchParameter,0,targetHeight);
+ isSearchLayoutVisible = true;
+ }
+ });
+ //鎼滅储鍙傛暟layout娣诲姞绌虹偣鍑讳簨浠讹紝闃叉鐐瑰嚮瀹冨唴閮╲iew鏃跺畠鍚庨潰鐨剅ecycler杩樿兘鍝嶅簲鐐瑰嚮浜嬩欢
+ binding.layoutSearchParameter.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ }
+ });
+ //鐐瑰嚮鎼滅储鎸夐挳杩涜鎼滅储
+ binding.ivSearch.setOnClickListener(v -> {
+ viewModel.getPets();
+ binding.layoutSearch.setVisibility(View.GONE);
+ binding.layoutDefault.setVisibility(View.VISIBLE);
+ binding.tvTitle.setText("鎼滅储缁撴灉");
+ hideSoftKeyboard();
+ });
+ binding.etStartTime.addTextChangedListener(new TextWatcher() {
+ @Override
+ public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+ }
+ @Override
+ public void onTextChanged(CharSequence s, int start, int before, int count) {
+ if (!TextUtils.isEmpty(s)) {
+ binding.ivTimeClear.setVisibility(View.VISIBLE);
+ } else {
+ if (TextUtils.isEmpty(binding.etEndTime.getText().toString())) {
+ binding.ivTimeClear.setVisibility(View.INVISIBLE);
+ }
+ }
+ }
+
+ @Override
+ public void afterTextChanged(Editable s) {
+
+ }
+ });
+ binding.etEndTime.addTextChangedListener(new TextWatcher() {
+ @Override
+ public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+ }
+
+ @Override
+ public void onTextChanged(CharSequence s, int start, int before, int count) {
+ if (!TextUtils.isEmpty(s)) {
+ binding.ivTimeClear.setVisibility(View.VISIBLE);
+ } else {
+ if (TextUtils.isEmpty(binding.etStartTime.getText().toString())) {
+ binding.ivTimeClear.setVisibility(View.INVISIBLE);
+ }
+ }
+ }
+
+ @Override
+ public void afterTextChanged(Editable s) {
+
+ }
+ });
+ binding.etStartTime.setOnClickListener(v -> {
+ hideSoftKeyboard();
+ DatePicker datePicker = getDatePicker();
+ datePicker.setTitle("璇烽�夋嫨寮�濮嬫椂闂�");
+ datePicker.setOnDatePickedListener(new OnDatePickedListener() {
+ @Override
+ public void onDatePicked(int year, int month, int day) {
+ //浠yyy-MM-dd鐨勬牸寮忔樉绀猴紝鏈堟棩灏忎簬10鏃跺墠闈㈣ˉ0
+ binding.etStartTime.setText(String.format("%d-%02d-%02d", year, month, day));
+ if (binding.etEndTime.getText().toString().isEmpty()){
+ binding.etEndTime.setText(String.format("%d-%02d-%02d", year, month, day));
+ }else {
+ //姣旇緝寮�濮嬫椂闂村拰缁撴潫鏃堕棿鐨勫ぇ灏�
+ String startTime = binding.etStartTime.getText().toString();
+ String endTime = binding.etEndTime.getText().toString();
+ if (Utils.compareDate(startTime,endTime) > 0){
+ //浜ゆ崲
+ binding.etStartTime.setText(endTime);
+ binding.etEndTime.setText(startTime);
+ }
+ }
+ }
+ });
+ datePicker.show();
+ });
+ binding.etEndTime.setOnClickListener(v -> {
+ hideSoftKeyboard();
+ DatePicker datePicker = getDatePicker();
+ datePicker.setTitle("璇烽�夋嫨缁撴潫鏃堕棿");
+ datePicker.setOnDatePickedListener(new OnDatePickedListener() {
+ @Override
+ public void onDatePicked(int year, int month, int day) {
+ binding.etEndTime.setText(String.format("%d-%02d-%02d", year, month, day));
+ if (binding.etStartTime.getText().toString().isEmpty()){
+ binding.etStartTime.setText(String.format("%d-%02d-%02d", year, month, day));
+ }else {
+ //姣旇緝寮�濮嬫椂闂村拰缁撴潫鏃堕棿鐨勫ぇ灏�
+ String startTime = binding.etStartTime.getText().toString();
+ String endTime = binding.etEndTime.getText().toString();
+ if (Utils.compareDate(startTime,endTime) > 0){
+ //浜ゆ崲
+ binding.etStartTime.setText(endTime);
+ binding.etEndTime.setText(startTime);
+ }
+ }
+ }
+ });
+ datePicker.show();
+ });
+ binding.ivTimeClear.setOnClickListener(v -> {
+ binding.etStartTime.setText("");
+ binding.etEndTime.setText("");
+ });
+ }
+ @Override
+ public boolean dispatchTouchEvent(MotionEvent event) {
+ float x = event.getX();
+ float y = event.getY();
+ if (isSearchLayoutVisible){
+ if (!Utils.isPointInsideView(x, y, binding.layoutSearchParameter)) {
+ Utils.pullCollapse(binding.containerSearchParameter, binding.layoutSearchParameter.getMeasuredHeight(),0);
+ isSearchLayoutVisible = false;
+ return true;
+ }
+ }
+ return super.dispatchTouchEvent(event);
}
@Override
public void initData() {
-// viewModel.getPets();
+ viewModel.getPets();
}
@Override
public void initLiveDataObserve() {
-// viewModel.getDataListLiveData().observe(this, homeDevices -> {
-// adapter.setData(homeDevices);
-// });
+ viewModel.getDataListLiveData().observe(this, dataList -> {
+ adapter.setData(dataList);
+ });
+ viewModel.getMoreListLiveData().observe(this, list -> {
+ adapter.addData(list);
+ });
+ }
+ @Override
+ protected void dataNull() {
+ super.dataNull();
+ binding.layoutDataNull.setVisibility(View.VISIBLE);
+ binding.refreshLayout.setVisibility(View.GONE);
}
@Override
- public void onClick(View v) {
- super.onClick(v);
- int id = v.getId();
- if (id == R.id.tv_owner_info){
- popupWindow.dismiss();
- PetOwnerInfoDialog.Builder builder = new PetOwnerInfoDialog.Builder(this);
- builder.show();
- }else if (id == R.id.tv_another){
+ protected void dataFinish() {
+ super.dataFinish();
+ binding.refreshLayout.finishLoadMore();
+ }
- }else if (id == R.id.tv_pet_memo){
- popupWindow.dismiss();
- AppManager.getAppManager().startActivity(PetMemoActivity.class);
- }
+ @Override
+ protected void hide() {
+ super.hide();
+ binding.layoutDataNull.setVisibility(View.GONE);
+ binding.refreshLayout.setVisibility(View.VISIBLE);
+ binding.refreshLayout.finishLoadMore();
}
}
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
index 19ebec6..039020d 100644
--- 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
@@ -1,18 +1,45 @@
package com.application.zhangshi_app_android.ui.function;
+import static com.android.app_base.base.BaseConfig.CODE_SUCCESS;
+
import android.app.Application;
+import android.text.TextUtils;
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.android.app_base.utils.Utils;
+import com.application.zhangshi_app_android.bean.PageResponseBean;
+import com.application.zhangshi_app_android.bean.PetBean;
+import com.application.zhangshi_app_android.bean.PetMemoBean;
+import com.application.zhangshi_app_android.bean.PetRequestBean;
import com.application.zhangshi_app_android.data.DataRepository;
+
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+import io.reactivex.Observer;
+import io.reactivex.disposables.Disposable;
+import io.reactivex.functions.Action;
/**
* @author Ljj
- * @date 2023.04.17. 18:23
+ * @date 2023.05.22. 22:46
* @desc
*/
public class PetActivityViewModel extends BaseViewModel<DataRepository> {
+
+ private MutableLiveData<List<PetBean>> dataListLiveData;
+
+ private MutableLiveData<List<PetBean>> moreListLiveData;//鍔犺浇鏇村鏁版嵁
+
+ private MutableLiveData<PetRequestBean> requestBeanLiveData;//璇锋眰鍙傛暟
+
public PetActivityViewModel(@NonNull Application application) {
super(application);
}
@@ -21,4 +48,182 @@
protected DataRepository initModel() {
return DataRepository.getInstance();
}
+
+ /**
+ * 鑾峰彇鏁版嵁
+ */
+ public void getPets() {
+ if (getRequestBeanLiveData().getValue() == null){
+ getRequestBeanLiveData().setValue(new PetRequestBean());
+ }
+ getRequestBeanLiveData().getValue().setPageNum(1);
+ model.getPets(getRequestBeanLiveData().getValue().toMap())
+ .compose(RxUtils.schedulersTransformer())
+ .subscribe(new Observer<ResultData<PageResponseBean<PetBean>>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<PageResponseBean<PetBean>> 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() {
+
+ }
+ });
+ }
+ /**
+ * 鍔犺浇鏇村
+ */
+ public void getMorePets(){
+ if (getRequestBeanLiveData().getValue() == null){
+ getRequestBeanLiveData().setValue(new PetRequestBean());
+ }
+ getRequestBeanLiveData().getValue().setPageNum(getRequestBeanLiveData().getValue().getPageNum() + 1);
+ model.getPets(getRequestBeanLiveData().getValue().toMap())
+ .compose(RxUtils.schedulersTransformer())
+ .doFinally(new Action() {
+ @Override
+ public void run() throws Exception {
+ changeStateView(StateViewEnum.DATA_FINISH);
+ }
+ })
+ .subscribe(new Observer<ResultData<PageResponseBean<PetBean>>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<PageResponseBean<PetBean>> 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());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+ public MutableLiveData<List<PetBean>> getDataListLiveData() {
+ if (dataListLiveData == null){
+ dataListLiveData = new MutableLiveData<>();
+ }
+ return dataListLiveData;
+ }
+ public void setDataListLiveData(MutableLiveData<List<PetBean>> dataListLiveData) {
+ this.dataListLiveData = dataListLiveData;
+ }
+ public MutableLiveData<PetRequestBean> getRequestBeanLiveData() {
+ if (requestBeanLiveData == null){
+ requestBeanLiveData = new MutableLiveData<>();
+ }
+ if (requestBeanLiveData.getValue() == null){
+ requestBeanLiveData.setValue(new PetRequestBean());
+ }
+ return requestBeanLiveData;
+ }
+
+ public void setRequestBeanLiveData(MutableLiveData<PetRequestBean> requestBeanLiveData) {
+ this.requestBeanLiveData = requestBeanLiveData;
+ }
+
+
+
+ public MutableLiveData<List<PetBean>> getMoreListLiveData() {
+ if (moreListLiveData == null){
+ moreListLiveData = new MutableLiveData<>();
+ }
+ return moreListLiveData;
+ }
+
+ public void setMoreListLiveData(MutableLiveData<List<PetBean>> moreListLiveData) {
+ this.moreListLiveData = moreListLiveData;
+ }
+
+ /**
+ * 鎺掑簭
+ * @param type 0 浠庢柊鍒版棫 1 浠庢棫鍒版柊
+ */
+ public void sortDataList(int type){
+ List<PetBean> list = dataListLiveData.getValue();
+ if (list == null || list.isEmpty()){
+ return;
+ }
+ if (type == 0) {
+ // 浠庢柊鍒版棫锛宯ull鎺掓渶鍚�
+ list.sort((o1, o2) -> {
+ String happenTime1 = o1.getBirth();
+ String happenTime2 = o2.getBirth();
+ if (TextUtils.isEmpty(happenTime1) && TextUtils.isEmpty(happenTime2)) {
+ return 0;
+ } else if (TextUtils.isEmpty(happenTime1)) {
+ return 1;
+ } else if (TextUtils.isEmpty(happenTime2)) {
+ return -1;
+ } else {
+ Date date1 = Utils.parseDate(happenTime1);
+ Date date2 = Utils.parseDate(happenTime2);
+ if (date1 != null && date2 != null) {
+ return date2.compareTo(date1);
+ }
+ return 0;
+ }
+ });
+ } else if (type == 1) {
+ // 浠庢棫鍒版柊锛宯ull鎺掓渶鍓�
+ list.sort((o1, o2) -> {
+ String happenTime1 = o1.getBirth();
+ String happenTime2 = o2.getBirth();
+ if (TextUtils.isEmpty(happenTime1) && TextUtils.isEmpty(happenTime2)) {
+ return 0;
+ } else if (TextUtils.isEmpty(happenTime1)) {
+ return -1;
+ } else if (TextUtils.isEmpty(happenTime2)) {
+ return 1;
+ } else {
+ Date date1 = Utils.parseDate(happenTime1);
+ Date date2 = Utils.parseDate(happenTime2);
+ if (date1 != null && date2 != null) {
+ return date1.compareTo(date2);
+ }
+ return 0;
+ }
+ });
+ }
+ dataListLiveData.setValue(list);
+ }
+
}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/PetDetailActivity.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/PetDetailActivity.java
new file mode 100644
index 0000000..354b1c7
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/PetDetailActivity.java
@@ -0,0 +1,102 @@
+package com.application.zhangshi_app_android.ui.function;
+
+import android.content.Intent;
+import android.view.View;
+import android.widget.PopupWindow;
+
+import androidx.recyclerview.widget.GridLayoutManager;
+
+import com.android.app_base.manager.AppManager;
+import com.android.app_base.utils.ScreenSizeUtils;
+import com.android.app_base.utils.Utils;
+import com.android.app_base.widget.GridSpaceItemDecoration;
+import com.application.zhangshi_app_android.BR;
+import com.application.zhangshi_app_android.R;
+import com.application.zhangshi_app_android.adapter.PetImageRvAdapter;
+import com.application.zhangshi_app_android.bean.FamilyAssetsBean;
+import com.application.zhangshi_app_android.bean.PetBean;
+import com.application.zhangshi_app_android.databinding.ActivityPetDetailBinding;
+import com.application.zhangshi_app_android.ui.DLBaseActivity;
+import com.application.zhangshi_app_android.ui.dialog.PetOwnerInfoDialog;
+
+import java.util.List;
+
+/**
+ * @author Ljj
+ * @date 2023.04.17. 18:21
+ * @desc
+ */
+public class PetDetailActivity extends DLBaseActivity<ActivityPetDetailBinding, PetDetailActivityViewModel> {
+
+ private PetImageRvAdapter adapter;
+ private PopupWindow popupWindow;
+
+ PetOwnerInfoDialog.Builder petOwnerInfoDialogBuilder;
+ @Override
+ public int getLayoutId() {
+ return R.layout.activity_pet_detail;
+ }
+
+ @Override
+ public int getVariableId() {
+ return BR.viewModel;
+ }
+
+ @Override
+ public void initParam() {
+ if (getIntent().hasExtra("bean")){
+ viewModel.getBeanLiveData().setValue((PetBean) getIntent().getSerializableExtra("bean"));
+ }
+ }
+
+ @Override
+ public void initView() {
+ adapter = new PetImageRvAdapter(this);
+ GridSpaceItemDecoration decoration = new GridSpaceItemDecoration(3,ScreenSizeUtils.dip2px(this,10),ScreenSizeUtils.dip2px(this,20));
+ binding.recyclerView.addItemDecoration(decoration);
+ binding.recyclerView.setLayoutManager(new GridLayoutManager(this,3));
+ binding.recyclerView.setAdapter(adapter);
+
+ View view = View.inflate(this,R.layout.pop_operate_pet,null);
+ popupWindow = initPopUpWindow(view);
+ setOnClickListener(
+ view.findViewById(R.id.tv_owner_info),
+ view.findViewById(R.id.tv_pet_memo)
+ );
+
+ binding.ivOperate.setOnClickListener(v -> {
+ popupWindow.showAsDropDown(binding.ivOperate,-ScreenSizeUtils.dip2px(this,85) +binding.ivOperate.getWidth(),0);
+ });
+
+ petOwnerInfoDialogBuilder = new PetOwnerInfoDialog.Builder(this);
+ }
+
+ @Override
+ public void initData() {
+ }
+
+ @Override
+ public void initLiveDataObserve() {
+ viewModel.getBeanLiveData().observe(this, bean -> {
+ if (bean != null){
+ List<String> list = Utils.splitString2List(bean.getHeadPicture(),",");
+ list.addAll(Utils.splitString2List(bean.getFullPicture(),","));
+ adapter.setData(list);
+ petOwnerInfoDialogBuilder.setBean(bean);
+ }
+ });
+ }
+
+ @Override
+ public void onClick(View v) {
+ super.onClick(v);
+ int id = v.getId();
+ if (id == R.id.tv_owner_info){
+ popupWindow.dismiss();
+ petOwnerInfoDialogBuilder.show();
+ }else if (id == R.id.tv_pet_memo){
+ popupWindow.dismiss();
+ AppManager.getAppManager().startActivity(new Intent(this,PetMemoActivity.class).putExtra("bean",viewModel.getBeanLiveData().getValue()));
+ }
+ }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/PetDetailActivityViewModel.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/PetDetailActivityViewModel.java
new file mode 100644
index 0000000..e1be3bd
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/PetDetailActivityViewModel.java
@@ -0,0 +1,51 @@
+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.HomeDevicesBean;
+import com.application.zhangshi_app_android.bean.PageResponseBean;
+import com.application.zhangshi_app_android.bean.PetBean;
+import com.application.zhangshi_app_android.bean.PetOwnerBean;
+import com.application.zhangshi_app_android.data.DataRepository;
+
+import io.reactivex.Observer;
+import io.reactivex.disposables.Disposable;
+
+/**
+ * @author Ljj
+ * @date 2023.04.17. 18:23
+ * @desc
+ */
+public class PetDetailActivityViewModel extends BaseViewModel<DataRepository> {
+ private MutableLiveData<PetBean> beanLiveData;
+
+ public PetDetailActivityViewModel(@NonNull Application application) {
+ super(application);
+ }
+
+ @Override
+ protected DataRepository initModel() {
+ return DataRepository.getInstance();
+ }
+
+
+ public MutableLiveData<PetBean> getBeanLiveData() {
+ if (beanLiveData == null){
+ beanLiveData = new MutableLiveData<>();
+ }
+ return beanLiveData;
+ }
+
+ public void setBeanLiveData(MutableLiveData<PetBean> beanLiveData) {
+ this.beanLiveData = beanLiveData;
+ }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/PetMemoActivity.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/PetMemoActivity.java
index 2d6219f..215a6da 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/ui/function/PetMemoActivity.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/PetMemoActivity.java
@@ -1,13 +1,25 @@
package com.application.zhangshi_app_android.ui.function;
+import android.text.Editable;
+import android.text.TextUtils;
+import android.text.TextWatcher;
+import android.view.MotionEvent;
+import android.view.View;
+import android.widget.PopupWindow;
+
+import com.android.app_base.utils.ScreenSizeUtils;
+import com.android.app_base.utils.Utils;
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.PetMemoRvAdapter;
+import com.application.zhangshi_app_android.bean.PetBean;
import com.application.zhangshi_app_android.databinding.ActivityCleanStorageBinding;
import com.application.zhangshi_app_android.databinding.ActivityPetMemoBinding;
import com.application.zhangshi_app_android.ui.DLBaseActivity;
+import com.github.gzuliyujiang.wheelpicker.DatePicker;
+import com.github.gzuliyujiang.wheelpicker.contract.OnDatePickedListener;
import com.hjq.bar.TitleBar;
/**
@@ -18,7 +30,8 @@
public class PetMemoActivity extends DLBaseActivity<ActivityPetMemoBinding, PetMemoActivityViewModel> {
private PetMemoRvAdapter adapter;
-
+ private PopupWindow mOperatePopupWindow;
+ private boolean isSearchLayoutVisible;
@Override
public int getLayoutId() {
return R.layout.activity_pet_memo;
@@ -31,11 +44,21 @@
@Override
public void initParam() {
-
+ if (getIntent().hasExtra("bean")){
+ viewModel.getBeanLiveData().setValue((PetBean) getIntent().getSerializableExtra("bean"));
+ }
}
@Override
public void initView() {
+ //涓嬫媺鍒锋柊甯冨眬
+ binding.refreshLayout.setEnableRefresh(false);
+ binding.refreshLayout.setEnableLoadMore(true);
+ binding.refreshLayout.setEnableOverScrollDrag(true);
+ binding.refreshLayout.setOnLoadMoreListener(refreshLayout -> {
+ viewModel.getMorePetMemo();
+ });
+ //recyclerView閫傞厤鍣�
adapter = new PetMemoRvAdapter(this);
LinearItemDecoration itemDecoration = new LinearItemDecoration();
itemDecoration.setBottomSpace((int) getResources().getDimension(com.android.app_base.R.dimen.dp_12));
@@ -43,6 +66,254 @@
itemDecoration.setFirstTop((int) getResources().getDimension(com.android.app_base.R.dimen.dp_20));
binding.recyclerView.addItemDecoration(itemDecoration);
binding.recyclerView.setAdapter(adapter);
+ //鍙充笂瑙掓搷浣滃脊绐�
+ mOperatePopupWindow = initPopUpWindow(View.inflate(this,R.layout.pop_operate,null));
+ mOperatePopupWindow.getContentView().findViewById(R.id.layout_add).setVisibility(View.GONE);
+ mOperatePopupWindow.getContentView().findViewById(R.id.layout_select).setVisibility(View.GONE);
+ mOperatePopupWindow.getContentView().findViewById(R.id.tv_from_new_to_old).setOnClickListener(v -> {
+ viewModel.sortDataList(0);
+ mOperatePopupWindow.dismiss();
+ });
+ mOperatePopupWindow.getContentView().findViewById(R.id.tv_from_old_to_new).setOnClickListener(v -> {
+ viewModel.sortDataList(1);
+ mOperatePopupWindow.dismiss();
+ });
+ //鐐瑰嚮寮瑰嚭鎿嶄綔寮圭獥
+ binding.ivOperate.setOnClickListener(v -> {
+ mOperatePopupWindow.showAsDropDown(binding.ivOperate,-ScreenSizeUtils.dip2px(this,85) +binding.ivOperate.getWidth(),0);
+ });
+ //鐐瑰嚮鏀惧ぇ闀滄寜閽樉绀哄嚭鎼滅储妗�
+ binding.ivSearchDefault.setOnClickListener(v -> {
+ binding.layoutSearch.setVisibility(View.VISIBLE);
+ binding.layoutDefault.setVisibility(View.GONE);
+ });
+ //鐐瑰嚮鎼滅储妗嗚彍鍗曚笅鎷夊嚭 鎼滅储鍙傛暟
+ binding.ivSearchType.setOnClickListener(v -> {
+ if (!isSearchLayoutVisible){
+ binding.layoutSearchParameter.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED);
+ int targetHeight = binding.layoutSearchParameter.getMeasuredHeight();
+ Utils.pullCollapse(binding.containerSearchParameter,0,targetHeight);
+ isSearchLayoutVisible = true;
+ }
+ });
+ //鎼滅储鍙傛暟layout娣诲姞绌虹偣鍑讳簨浠讹紝闃叉鐐瑰嚮瀹冨唴閮╲iew鏃跺畠鍚庨潰鐨剅ecycler杩樿兘鍝嶅簲鐐瑰嚮浜嬩欢
+ binding.layoutSearchParameter.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ }
+ });
+ //鐐瑰嚮鎼滅储鎸夐挳杩涜鎼滅储
+ binding.ivSearch.setOnClickListener(v -> {
+ viewModel.getPetMemo();
+ binding.layoutSearch.setVisibility(View.GONE);
+ binding.layoutDefault.setVisibility(View.VISIBLE);
+ binding.tvTitle.setText("鎼滅储缁撴灉");
+ hideSoftKeyboard();
+ });
+ binding.etStartTime.addTextChangedListener(new TextWatcher() {
+ @Override
+ public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+ }
+
+ @Override
+ public void onTextChanged(CharSequence s, int start, int before, int count) {
+ if (!TextUtils.isEmpty(s)) {
+ binding.ivTimeClear.setVisibility(View.VISIBLE);
+ } else {
+ if (TextUtils.isEmpty(binding.etEndTime.getText().toString())) {
+ binding.ivTimeClear.setVisibility(View.INVISIBLE);
+ }
+ }
+ }
+
+ @Override
+ public void afterTextChanged(Editable s) {
+
+ }
+ });
+ binding.etEndTime.addTextChangedListener(new TextWatcher() {
+ @Override
+ public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+ }
+
+ @Override
+ public void onTextChanged(CharSequence s, int start, int before, int count) {
+ if (!TextUtils.isEmpty(s)) {
+ binding.ivTimeClear.setVisibility(View.VISIBLE);
+ } else {
+ if (TextUtils.isEmpty(binding.etStartTime.getText().toString())) {
+ binding.ivTimeClear.setVisibility(View.INVISIBLE);
+ }
+ }
+ }
+
+ @Override
+ public void afterTextChanged(Editable s) {
+
+ }
+ });
+ binding.etStartTime.setOnClickListener(v -> {
+ hideSoftKeyboard();
+ DatePicker datePicker = getDatePicker();
+ datePicker.setTitle("璇烽�夋嫨寮�濮嬫椂闂�");
+ datePicker.setOnDatePickedListener(new OnDatePickedListener() {
+ @Override
+ public void onDatePicked(int year, int month, int day) {
+ //浠yyy-MM-dd鐨勬牸寮忔樉绀猴紝鏈堟棩灏忎簬10鏃跺墠闈㈣ˉ0
+ binding.etStartTime.setText(String.format("%d-%02d-%02d", year, month, day));
+ if (binding.etEndTime.getText().toString().isEmpty()){
+ binding.etEndTime.setText(String.format("%d-%02d-%02d", year, month, day));
+ }else {
+ //姣旇緝寮�濮嬫椂闂村拰缁撴潫鏃堕棿鐨勫ぇ灏�
+ String startTime = binding.etStartTime.getText().toString();
+ String endTime = binding.etEndTime.getText().toString();
+ if (Utils.compareDate(startTime,endTime) > 0){
+ //浜ゆ崲
+ binding.etStartTime.setText(endTime);
+ binding.etEndTime.setText(startTime);
+ }
+ }
+ }
+ });
+ datePicker.show();
+ });
+ binding.etEndTime.setOnClickListener(v -> {
+ hideSoftKeyboard();
+ DatePicker datePicker = getDatePicker();
+ datePicker.setTitle("璇烽�夋嫨缁撴潫鏃堕棿");
+ datePicker.setOnDatePickedListener(new OnDatePickedListener() {
+ @Override
+ public void onDatePicked(int year, int month, int day) {
+ binding.etEndTime.setText(String.format("%d-%02d-%02d", year, month, day));
+ if (binding.etStartTime.getText().toString().isEmpty()){
+ binding.etStartTime.setText(String.format("%d-%02d-%02d", year, month, day));
+ }else {
+ //姣旇緝寮�濮嬫椂闂村拰缁撴潫鏃堕棿鐨勫ぇ灏�
+ String startTime = binding.etStartTime.getText().toString();
+ String endTime = binding.etEndTime.getText().toString();
+ if (Utils.compareDate(startTime,endTime) > 0){
+ //浜ゆ崲
+ binding.etStartTime.setText(endTime);
+ binding.etEndTime.setText(startTime);
+ }
+ }
+ }
+ });
+ datePicker.show();
+ });
+ binding.ivTimeClear.setOnClickListener(v -> {
+ binding.etStartTime.setText("");
+ binding.etEndTime.setText("");
+ });
+
+ binding.etRemindStartTime.addTextChangedListener(new TextWatcher() {
+ @Override
+ public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+ }
+
+ @Override
+ public void onTextChanged(CharSequence s, int start, int before, int count) {
+ if (!TextUtils.isEmpty(s)) {
+ binding.ivRemindTimeClear.setVisibility(View.VISIBLE);
+ } else {
+ if (TextUtils.isEmpty(binding.etRemindEndTime.getText().toString())) {
+ binding.ivRemindTimeClear.setVisibility(View.INVISIBLE);
+ }
+ }
+ }
+
+ @Override
+ public void afterTextChanged(Editable s) {
+
+ }
+ });
+ binding.etRemindEndTime.addTextChangedListener(new TextWatcher() {
+ @Override
+ public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+ }
+
+ @Override
+ public void onTextChanged(CharSequence s, int start, int before, int count) {
+ if (!TextUtils.isEmpty(s)) {
+ binding.ivRemindTimeClear.setVisibility(View.VISIBLE);
+ } else {
+ if (TextUtils.isEmpty(binding.etRemindStartTime.getText().toString())) {
+ binding.ivRemindTimeClear.setVisibility(View.INVISIBLE);
+ }
+ }
+ }
+
+ @Override
+ public void afterTextChanged(Editable s) {
+
+ }
+ });
+ binding.etRemindStartTime.setOnClickListener(v -> {
+ hideSoftKeyboard();
+ DatePicker datePicker = getDatePicker();
+ datePicker.setTitle("璇烽�夋嫨寮�濮嬫椂闂�");
+ datePicker.setOnDatePickedListener(new OnDatePickedListener() {
+ @Override
+ public void onDatePicked(int year, int month, int day) {
+ //浠yyy-MM-dd鐨勬牸寮忔樉绀猴紝鏈堟棩灏忎簬10鏃跺墠闈㈣ˉ0
+ binding.etRemindStartTime.setText(String.format("%d-%02d-%02d", year, month, day));
+ if (binding.etRemindEndTime.getText().toString().isEmpty()){
+ binding.etRemindEndTime.setText(String.format("%d-%02d-%02d", year, month, day));
+ }else {
+ //姣旇緝寮�濮嬫椂闂村拰缁撴潫鏃堕棿鐨勫ぇ灏�
+ String startTime = binding.etRemindStartTime.getText().toString();
+ String endTime = binding.etRemindEndTime.getText().toString();
+ if (Utils.compareDate(startTime,endTime) > 0){
+ //浜ゆ崲
+ binding.etRemindStartTime.setText(endTime);
+ binding.etRemindEndTime.setText(startTime);
+ }
+ }
+ }
+ });
+ datePicker.show();
+ });
+ binding.etRemindEndTime.setOnClickListener(v -> {
+ hideSoftKeyboard();
+ DatePicker datePicker = getDatePicker();
+ datePicker.setTitle("璇烽�夋嫨缁撴潫鏃堕棿");
+ datePicker.setOnDatePickedListener(new OnDatePickedListener() {
+ @Override
+ public void onDatePicked(int year, int month, int day) {
+ binding.etRemindEndTime.setText(String.format("%d-%02d-%02d", year, month, day));
+ if (binding.etRemindStartTime.getText().toString().isEmpty()){
+ binding.etRemindStartTime.setText(String.format("%d-%02d-%02d", year, month, day));
+ }else {
+ //姣旇緝寮�濮嬫椂闂村拰缁撴潫鏃堕棿鐨勫ぇ灏�
+ String startTime = binding.etRemindStartTime.getText().toString();
+ String endTime = binding.etRemindEndTime.getText().toString();
+ if (Utils.compareDate(startTime,endTime) > 0){
+ //浜ゆ崲
+ binding.etRemindStartTime.setText(endTime);
+ binding.etRemindEndTime.setText(startTime);
+ }
+ }
+ }
+ });
+ datePicker.show();
+ });
+ binding.ivRemindTimeClear.setOnClickListener(v -> {
+ binding.etRemindStartTime.setText("");
+ binding.etRemindEndTime.setText("");
+ });
+ }
+ @Override
+ public boolean dispatchTouchEvent(MotionEvent event) {
+ float x = event.getX();
+ float y = event.getY();
+ if (isSearchLayoutVisible){
+ if (!Utils.isPointInsideView(x, y, binding.layoutSearchParameter)) {
+ Utils.pullCollapse(binding.containerSearchParameter, binding.layoutSearchParameter.getMeasuredHeight(),0);
+ isSearchLayoutVisible = false;
+ return true;
+ }
+ }
+ return super.dispatchTouchEvent(event);
}
@Override
@@ -55,6 +326,29 @@
viewModel.getDataListLiveData().observe(this, dataList -> {
adapter.setData(dataList);
});
+ viewModel.getMoreListLiveData().observe(this, list -> {
+ adapter.addData(list);
+ });
+ }
+ @Override
+ protected void dataNull() {
+ super.dataNull();
+ binding.layoutDataNull.setVisibility(View.VISIBLE);
+ binding.refreshLayout.setVisibility(View.GONE);
+ }
+
+ @Override
+ protected void dataFinish() {
+ super.dataFinish();
+ binding.refreshLayout.finishLoadMore();
+ }
+
+ @Override
+ protected void hide() {
+ super.hide();
+ binding.layoutDataNull.setVisibility(View.GONE);
+ binding.refreshLayout.setVisibility(View.VISIBLE);
+ binding.refreshLayout.finishLoadMore();
}
@Override
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/PetMemoActivityViewModel.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/PetMemoActivityViewModel.java
index b9f5c94..da4291f 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/ui/function/PetMemoActivityViewModel.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/PetMemoActivityViewModel.java
@@ -1,17 +1,34 @@
package com.application.zhangshi_app_android.ui.function;
+import static com.android.app_base.base.BaseConfig.CODE_SUCCESS;
+
import android.app.Application;
+import android.text.TextUtils;
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.android.app_base.utils.Utils;
import com.application.zhangshi_app_android.bean.CleanStorageBean;
+import com.application.zhangshi_app_android.bean.HundredWishBean;
+import com.application.zhangshi_app_android.bean.HundredWishRequestBean;
+import com.application.zhangshi_app_android.bean.PageResponseBean;
+import com.application.zhangshi_app_android.bean.PetBean;
import com.application.zhangshi_app_android.bean.PetMemoBean;
+import com.application.zhangshi_app_android.bean.PetMemoRequestBean;
import com.application.zhangshi_app_android.data.DataRepository;
import java.util.ArrayList;
+import java.util.Date;
import java.util.List;
+
+import io.reactivex.Observer;
+import io.reactivex.disposables.Disposable;
+import io.reactivex.functions.Action;
/**
* @author Ljj
@@ -19,8 +36,10 @@
* @desc
*/
public class PetMemoActivityViewModel extends BaseViewModel<DataRepository> {
+ private MutableLiveData<PetBean> beanLiveData;//瀹犵墿bean
private MutableLiveData<List<PetMemoBean>> dataListLiveData;
-
+ private MutableLiveData<List<PetMemoBean>> moreListLiveData;//鍔犺浇鏇村鏁版嵁
+ private MutableLiveData<PetMemoRequestBean> requestBeanLiveData;//璇锋眰鍙傛暟
public PetMemoActivityViewModel(@NonNull Application application) {
super(application);
}
@@ -30,27 +49,199 @@
return DataRepository.getInstance();
}
+ /**
+ * 鑾峰彇鏁版嵁
+ */
+ public void getPetMemo() {
+ if (beanLiveData.getValue() == null){
+ return;
+ }
+ if (getRequestBeanLiveData().getValue() == null){
+ getRequestBeanLiveData().setValue(new PetMemoRequestBean());
+ }
+ getRequestBeanLiveData().getValue().setPageNum(1);
+ getRequestBeanLiveData().getValue().setPid(beanLiveData.getValue().getId());
+ model.getPetMemo(getRequestBeanLiveData().getValue().toMap())
+ .compose(RxUtils.schedulersTransformer())
+ .subscribe(new Observer<ResultData<PageResponseBean<PetMemoBean>>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<PageResponseBean<PetMemoBean>> 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() {
+
+ }
+ });
+ }
+ /**
+ * 鍔犺浇鏇村
+ */
+ public void getMorePetMemo(){
+ if (beanLiveData.getValue() == null){
+ return;
+ }
+ if (getRequestBeanLiveData().getValue() == null){
+ getRequestBeanLiveData().setValue(new PetMemoRequestBean());
+ }
+ getRequestBeanLiveData().getValue().setPageNum(getRequestBeanLiveData().getValue().getPageNum() + 1);
+ getRequestBeanLiveData().getValue().setPid(beanLiveData.getValue().getId());
+ model.getPetMemo(getRequestBeanLiveData().getValue().toMap())
+ .compose(RxUtils.schedulersTransformer())
+ .doFinally(new Action() {
+ @Override
+ public void run() throws Exception {
+ changeStateView(StateViewEnum.DATA_FINISH);
+ }
+ })
+ .subscribe(new Observer<ResultData<PageResponseBean<PetMemoBean>>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<PageResponseBean<PetMemoBean>> 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());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
public MutableLiveData<List<PetMemoBean>> getDataListLiveData() {
- if (dataListLiveData == null) {
+ if (dataListLiveData == null){
dataListLiveData = new MutableLiveData<>();
}
return dataListLiveData;
}
-
public void setDataListLiveData(MutableLiveData<List<PetMemoBean>> dataListLiveData) {
this.dataListLiveData = dataListLiveData;
}
-
- public void getPetMemo() {
- List<PetMemoBean> beans = new ArrayList<>();
- for (int i = 0; i < 10; i++) {
- PetMemoBean bean = new PetMemoBean();
- bean.setName("鎵撻闃查拡");
- bean.setTime("2022-01-01");
- bean.setReminderTime("2021-01-01");
- bean.setRemark("甯︿笂璇佹槑");
- beans.add(bean);
+ public MutableLiveData<PetMemoRequestBean> getRequestBeanLiveData() {
+ if (requestBeanLiveData == null){
+ requestBeanLiveData = new MutableLiveData<>();
}
- dataListLiveData.setValue(beans);
+ if (requestBeanLiveData.getValue() == null){
+ requestBeanLiveData.setValue(new PetMemoRequestBean());
+ }
+ return requestBeanLiveData;
+ }
+
+ public void setRequestBeanLiveData(MutableLiveData<PetMemoRequestBean> requestBeanLiveData) {
+ this.requestBeanLiveData = requestBeanLiveData;
+ }
+
+
+
+ public MutableLiveData<List<PetMemoBean>> getMoreListLiveData() {
+ if (moreListLiveData == null){
+ moreListLiveData = new MutableLiveData<>();
+ }
+ return moreListLiveData;
+ }
+
+ public void setMoreListLiveData(MutableLiveData<List<PetMemoBean>> moreListLiveData) {
+ this.moreListLiveData = moreListLiveData;
+ }
+
+ public MutableLiveData<PetBean> getBeanLiveData() {
+ if (beanLiveData == null){
+ beanLiveData = new MutableLiveData<>();
+ }
+ return beanLiveData;
+ }
+
+ public void setBeanLiveData(MutableLiveData<PetBean> beanLiveData) {
+ this.beanLiveData = beanLiveData;
+ }
+
+ /**
+ * 鎺掑簭
+ * @param type 0 浠庢柊鍒版棫 1 浠庢棫鍒版柊
+ */
+ public void sortDataList(int type){
+ List<PetMemoBean> list = dataListLiveData.getValue();
+ if (list == null || list.isEmpty()){
+ return;
+ }
+ if (type == 0) {
+ // 浠庢柊鍒版棫锛宯ull鎺掓渶鍚�
+ list.sort((o1, o2) -> {
+ String happenTime1 = o1.getHappenTime();
+ String happenTime2 = o2.getHappenTime();
+ if (TextUtils.isEmpty(happenTime1) && TextUtils.isEmpty(happenTime2)) {
+ return 0;
+ } else if (TextUtils.isEmpty(happenTime1)) {
+ return 1;
+ } else if (TextUtils.isEmpty(happenTime2)) {
+ return -1;
+ } else {
+ Date date1 = Utils.parseDate(happenTime1);
+ Date date2 = Utils.parseDate(happenTime2);
+ if (date1 != null && date2 != null) {
+ return date2.compareTo(date1);
+ }
+ return 0;
+ }
+ });
+ } else if (type == 1) {
+ // 浠庢棫鍒版柊锛宯ull鎺掓渶鍓�
+ list.sort((o1, o2) -> {
+ String happenTime1 = o1.getHappenTime();
+ String happenTime2 = o2.getHappenTime();
+ if (TextUtils.isEmpty(happenTime1) && TextUtils.isEmpty(happenTime2)) {
+ return 0;
+ } else if (TextUtils.isEmpty(happenTime1)) {
+ return -1;
+ } else if (TextUtils.isEmpty(happenTime2)) {
+ return 1;
+ } else {
+ Date date1 = Utils.parseDate(happenTime1);
+ Date date2 = Utils.parseDate(happenTime2);
+ if (date1 != null && date2 != null) {
+ return date1.compareTo(date2);
+ }
+ return 0;
+ }
+ });
+ }
+ dataListLiveData.setValue(list);
}
}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/PetMemoDetailActivity.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/PetMemoDetailActivity.java
index dd427b2..f8fdce4 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/ui/function/PetMemoDetailActivity.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/PetMemoDetailActivity.java
@@ -6,6 +6,7 @@
import androidx.recyclerview.widget.GridLayoutManager;
+import com.android.app_base.utils.Utils;
import com.application.zhangshi_app_android.BR;
import com.application.zhangshi_app_android.R;
import com.application.zhangshi_app_android.adapter.ImageRvAdapter;
@@ -52,6 +53,7 @@
GridLayoutManager gridLayoutManager = new GridLayoutManager(this, 3);
binding.rvImage.setLayoutManager(gridLayoutManager);
binding.rvImage.setNestedScrollingEnabled(false);
+ binding.rvImage.setAdapter(adapter);
setIsEdited(false);
}
@@ -64,19 +66,7 @@
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);
+ adapter.setData(Utils.splitString2List(bean.getUrl(),","));
}
});
}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/PrivacyActivity.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/PrivacyActivity.java
index dc68dc6..703195d 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/ui/function/PrivacyActivity.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/PrivacyActivity.java
@@ -1,11 +1,27 @@
package com.application.zhangshi_app_android.ui.function;
+import android.text.Editable;
+import android.text.TextUtils;
+import android.text.TextWatcher;
+import android.view.MotionEvent;
+import android.view.View;
+import android.widget.PopupWindow;
+
+import com.android.app_base.utils.ScreenSizeUtils;
+import com.android.app_base.utils.Utils;
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.PrivacyRvAdapter;
import com.application.zhangshi_app_android.databinding.ActivityPrivacyBinding;
import com.application.zhangshi_app_android.ui.DLBaseActivity;
+import com.github.gzuliyujiang.wheelpicker.DatePicker;
+import com.github.gzuliyujiang.wheelpicker.OptionPicker;
+import com.github.gzuliyujiang.wheelpicker.contract.OnDatePickedListener;
+import com.github.gzuliyujiang.wheelpicker.contract.OnOptionPickedListener;
+
+import java.util.Arrays;
+import java.util.List;
/**
* @author Ljj
@@ -15,6 +31,8 @@
public class PrivacyActivity extends DLBaseActivity<ActivityPrivacyBinding,PrivacyActivityViewModel > {
private PrivacyRvAdapter adapter;
+ private PopupWindow mOperatePopupWindow;
+ private boolean isSearchLayoutVisible;
@Override
public int getLayoutId() {
@@ -33,6 +51,14 @@
@Override
public void initView() {
+ //涓嬫媺鍒锋柊甯冨眬
+ binding.refreshLayout.setEnableRefresh(false);
+ binding.refreshLayout.setEnableLoadMore(true);
+ binding.refreshLayout.setEnableOverScrollDrag(true);
+ binding.refreshLayout.setOnLoadMoreListener(refreshLayout -> {
+ viewModel.loadMorePrivacy();
+ });
+ //recyclerView閫傞厤鍣�
adapter = new PrivacyRvAdapter(this);
LinearItemDecoration itemDecoration = new LinearItemDecoration();
itemDecoration.setBottomSpace((int) getResources().getDimension(com.android.app_base.R.dimen.dp_12));
@@ -40,6 +66,186 @@
itemDecoration.setFirstTop((int) getResources().getDimension(com.android.app_base.R.dimen.dp_20));
binding.recyclerView.addItemDecoration(itemDecoration);
binding.recyclerView.setAdapter(adapter);
+ //鍙充笂瑙掓搷浣滃脊绐�
+ mOperatePopupWindow = initPopUpWindow(View.inflate(this,R.layout.pop_operate,null));
+ mOperatePopupWindow.getContentView().findViewById(R.id.layout_add).setVisibility(View.GONE);
+ mOperatePopupWindow.getContentView().findViewById(R.id.layout_select).setVisibility(View.GONE);
+ mOperatePopupWindow.getContentView().findViewById(R.id.tv_from_new_to_old).setOnClickListener(v -> {
+ viewModel.sortDataList(0);
+ mOperatePopupWindow.dismiss();
+ });
+ mOperatePopupWindow.getContentView().findViewById(R.id.tv_from_old_to_new).setOnClickListener(v -> {
+ viewModel.sortDataList(1);
+ mOperatePopupWindow.dismiss();
+ });
+ //鐐瑰嚮寮瑰嚭鎿嶄綔寮圭獥
+ binding.ivOperate.setOnClickListener(v -> {
+ mOperatePopupWindow.showAsDropDown(binding.ivOperate,-ScreenSizeUtils.dip2px(this,85) +binding.ivOperate.getWidth(),0);
+ });
+ //鐐瑰嚮鏀惧ぇ闀滄寜閽樉绀哄嚭鎼滅储妗�
+ binding.ivSearchDefault.setOnClickListener(v -> {
+ binding.layoutSearch.setVisibility(View.VISIBLE);
+ binding.layoutDefault.setVisibility(View.GONE);
+ });
+ //鐐瑰嚮鎼滅储妗嗚彍鍗曚笅鎷夊嚭 鎼滅储鍙傛暟
+ binding.ivSearchType.setOnClickListener(v -> {
+ if (!isSearchLayoutVisible){
+ binding.layoutSearchParameter.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED);
+ int targetHeight = binding.layoutSearchParameter.getMeasuredHeight();
+ Utils.pullCollapse(binding.containerSearchParameter,0,targetHeight);
+ isSearchLayoutVisible = true;
+ }
+ });
+ //鎼滅储鍙傛暟layout娣诲姞绌虹偣鍑讳簨浠讹紝闃叉鐐瑰嚮瀹冨唴閮╲iew鏃跺畠鍚庨潰鐨剅ecycler杩樿兘鍝嶅簲鐐瑰嚮浜嬩欢
+ binding.layoutSearchParameter.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ }
+ });
+ //鐐瑰嚮鎼滅储鎸夐挳杩涜鎼滅储
+ binding.ivSearch.setOnClickListener(v -> {
+ viewModel.getPrivacy();
+ binding.layoutSearch.setVisibility(View.GONE);
+ binding.layoutDefault.setVisibility(View.VISIBLE);
+ binding.tvTitle.setText("鎼滅储缁撴灉");
+ hideSoftKeyboard();
+ });
+ binding.etStartTime.addTextChangedListener(new TextWatcher() {
+ @Override
+ public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+ }
+
+ @Override
+ public void onTextChanged(CharSequence s, int start, int before, int count) {
+ if (!TextUtils.isEmpty(s)) {
+ binding.ivTimeClear.setVisibility(View.VISIBLE);
+ } else {
+ if (TextUtils.isEmpty(binding.etEndTime.getText().toString())) {
+ binding.ivTimeClear.setVisibility(View.INVISIBLE);
+ }
+ }
+ }
+
+ @Override
+ public void afterTextChanged(Editable s) {
+
+ }
+ });
+ binding.etEndTime.addTextChangedListener(new TextWatcher() {
+ @Override
+ public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+ }
+
+ @Override
+ public void onTextChanged(CharSequence s, int start, int before, int count) {
+ if (!TextUtils.isEmpty(s)) {
+ binding.ivTimeClear.setVisibility(View.VISIBLE);
+ } else {
+ if (TextUtils.isEmpty(binding.etStartTime.getText().toString())) {
+ binding.ivTimeClear.setVisibility(View.INVISIBLE);
+ }
+ }
+ }
+
+ @Override
+ public void afterTextChanged(Editable s) {
+
+ }
+ });
+ binding.etStartTime.setOnClickListener(v -> {
+ hideSoftKeyboard();
+ DatePicker datePicker = getDatePicker();
+ datePicker.setTitle("璇烽�夋嫨寮�濮嬫椂闂�");
+ datePicker.setOnDatePickedListener(new OnDatePickedListener() {
+ @Override
+ public void onDatePicked(int year, int month, int day) {
+ //浠yyy-MM-dd鐨勬牸寮忔樉绀猴紝鏈堟棩灏忎簬10鏃跺墠闈㈣ˉ0
+ binding.etStartTime.setText(String.format("%d-%02d-%02d", year, month, day));
+ if (binding.etEndTime.getText().toString().isEmpty()){
+ binding.etEndTime.setText(String.format("%d-%02d-%02d", year, month, day));
+ }else {
+ //姣旇緝寮�濮嬫椂闂村拰缁撴潫鏃堕棿鐨勫ぇ灏�
+ String startTime = binding.etStartTime.getText().toString();
+ String endTime = binding.etEndTime.getText().toString();
+ if (Utils.compareDate(startTime,endTime) > 0){
+ //浜ゆ崲
+ binding.etStartTime.setText(endTime);
+ binding.etEndTime.setText(startTime);
+ }
+ }
+ }
+ });
+ datePicker.show();
+ });
+ binding.etEndTime.setOnClickListener(v -> {
+ hideSoftKeyboard();
+ DatePicker datePicker = getDatePicker();
+ datePicker.setTitle("璇烽�夋嫨缁撴潫鏃堕棿");
+ datePicker.setOnDatePickedListener(new OnDatePickedListener() {
+ @Override
+ public void onDatePicked(int year, int month, int day) {
+ binding.etEndTime.setText(String.format("%d-%02d-%02d", year, month, day));
+ if (binding.etStartTime.getText().toString().isEmpty()){
+ binding.etStartTime.setText(String.format("%d-%02d-%02d", year, month, day));
+ }else {
+ //姣旇緝寮�濮嬫椂闂村拰缁撴潫鏃堕棿鐨勫ぇ灏�
+ String startTime = binding.etStartTime.getText().toString();
+ String endTime = binding.etEndTime.getText().toString();
+ if (Utils.compareDate(startTime,endTime) > 0){
+ //浜ゆ崲
+ binding.etStartTime.setText(endTime);
+ binding.etEndTime.setText(startTime);
+ }
+ }
+ }
+ });
+ datePicker.show();
+ });
+ binding.ivTimeClear.setOnClickListener(v -> {
+ binding.etStartTime.setText("");
+ binding.etEndTime.setText("");
+ });
+
+ binding.etIsFinger.setOnClickListener(v -> {
+ List<String> list = Arrays.asList("鍚�","鏄�");
+ OptionPicker picker = getOptionPicker(list);
+ picker.setTitle("鏄惁寮�鍚寚绾�");
+ picker.setOnOptionPickedListener(new OnOptionPickedListener() {
+ @Override
+ public void onOptionPicked(int position, Object item) {
+ viewModel.getRequestBeanLiveData().getValue().setIsFinger(position);
+ binding.etIsFinger.setText(item.toString());
+ }
+ });
+ picker.show();
+ });
+
+ binding.etIsPrivate.setOnClickListener(v -> {
+ List<String> list = Arrays.asList("鍏湁","绉佹湁");
+ OptionPicker picker = getOptionPicker(list);
+ picker.setTitle("绉佹湁/鍏湁");
+ picker.setOnOptionPickedListener(new OnOptionPickedListener() {
+ @Override
+ public void onOptionPicked(int position, Object item) {
+ viewModel.getRequestBeanLiveData().getValue().setIsPrivate(position);
+ binding.etIsPrivate.setText(item.toString());
+ }
+ });
+ picker.show();
+ });
+ }
+ @Override
+ public boolean dispatchTouchEvent(MotionEvent event) {
+ float x = event.getX();
+ float y = event.getY();
+ if (isSearchLayoutVisible){
+ if (!Utils.isPointInsideView(x, y, binding.layoutSearchParameter)) {
+ Utils.pullCollapse(binding.containerSearchParameter, binding.layoutSearchParameter.getMeasuredHeight(),0);
+ isSearchLayoutVisible = false;
+ return true;
+ }
+ }
+ return super.dispatchTouchEvent(event);
}
@Override
@@ -52,5 +258,28 @@
viewModel.getDataListLiveData().observe(this, dataList -> {
adapter.setData(dataList);
});
+ viewModel.getMoreListLiveData().observe(this, list -> {
+ adapter.addData(list);
+ });
+ }
+ @Override
+ protected void dataNull() {
+ super.dataNull();
+ binding.layoutDataNull.setVisibility(View.VISIBLE);
+ binding.refreshLayout.setVisibility(View.GONE);
+ }
+
+ @Override
+ protected void dataFinish() {
+ super.dataFinish();
+ binding.refreshLayout.finishLoadMore();
+ }
+
+ @Override
+ protected void hide() {
+ super.hide();
+ binding.layoutDataNull.setVisibility(View.GONE);
+ binding.refreshLayout.setVisibility(View.VISIBLE);
+ binding.refreshLayout.finishLoadMore();
}
}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/PrivacyActivityViewModel.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/PrivacyActivityViewModel.java
index 34deb74..4209bff 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/ui/function/PrivacyActivityViewModel.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/PrivacyActivityViewModel.java
@@ -1,16 +1,33 @@
package com.application.zhangshi_app_android.ui.function;
+import static com.android.app_base.base.BaseConfig.CODE_SUCCESS;
+
import android.app.Application;
+import android.text.TextUtils;
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.android.app_base.utils.Utils;
+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.bean.PageResponseBean;
import com.application.zhangshi_app_android.bean.PrivacyBean;
+import com.application.zhangshi_app_android.bean.PrivacyRequestBean;
import com.application.zhangshi_app_android.data.DataRepository;
import java.util.ArrayList;
+import java.util.Date;
import java.util.List;
+
+import io.reactivex.Observer;
+import io.reactivex.disposables.Disposable;
+import io.reactivex.functions.Action;
/**
* @author Ljj
@@ -19,6 +36,10 @@
*/
public class PrivacyActivityViewModel extends BaseViewModel<DataRepository> {
private MutableLiveData<List<PrivacyBean>> dataListLiveData;
+
+ private MutableLiveData<List<PrivacyBean>> moreListLiveData;//鍔犺浇鏇村鏁版嵁
+
+ private MutableLiveData<PrivacyRequestBean> requestBeanLiveData;//璇锋眰鍙傛暟
public PrivacyActivityViewModel(@NonNull Application application) {
super(application);
@@ -29,36 +50,180 @@
return DataRepository.getInstance();
}
+ /**
+ * 鑾峰彇鏁版嵁
+ */
+ public void getPrivacy() {
+ if (getRequestBeanLiveData().getValue() == null){
+ getRequestBeanLiveData().setValue(new PrivacyRequestBean());
+ }
+ getRequestBeanLiveData().getValue().setPageNum(1);
+ model.getPrivacy(getRequestBeanLiveData().getValue().toMap())
+ .compose(RxUtils.schedulersTransformer())
+ .subscribe(new Observer<ResultData<PageResponseBean<PrivacyBean>>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<PageResponseBean<PrivacyBean>> 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() {
+
+ }
+ });
+ }
+ /**
+ * 鍔犺浇鏇村
+ */
+ public void loadMorePrivacy(){
+ if (getRequestBeanLiveData().getValue() == null){
+ getRequestBeanLiveData().setValue(new PrivacyRequestBean());
+ }
+ getRequestBeanLiveData().getValue().setPageNum(getRequestBeanLiveData().getValue().getPageNum() + 1);
+ model.getPrivacy(getRequestBeanLiveData().getValue().toMap())
+ .compose(RxUtils.schedulersTransformer())
+ .doFinally(new Action() {
+ @Override
+ public void run() throws Exception {
+ changeStateView(StateViewEnum.DATA_FINISH);
+ }
+ })
+ .subscribe(new Observer<ResultData<PageResponseBean<PrivacyBean>>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<PageResponseBean<PrivacyBean>> 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());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
public MutableLiveData<List<PrivacyBean>> getDataListLiveData() {
- if (dataListLiveData == null) {
+ if (dataListLiveData == null){
dataListLiveData = new MutableLiveData<>();
}
return dataListLiveData;
}
-
public void setDataListLiveData(MutableLiveData<List<PrivacyBean>> dataListLiveData) {
this.dataListLiveData = dataListLiveData;
}
+ public MutableLiveData<PrivacyRequestBean> getRequestBeanLiveData() {
+ if (requestBeanLiveData == null){
+ requestBeanLiveData = new MutableLiveData<>();
+ }
+ if (requestBeanLiveData.getValue() == null){
+ requestBeanLiveData.setValue(new PrivacyRequestBean());
+ }
+ return requestBeanLiveData;
+ }
+
+ public void setRequestBeanLiveData(MutableLiveData<PrivacyRequestBean> requestBeanLiveData) {
+ this.requestBeanLiveData = requestBeanLiveData;
+ }
+
+
+
+ public MutableLiveData<List<PrivacyBean>> getMoreListLiveData() {
+ if (moreListLiveData == null){
+ moreListLiveData = new MutableLiveData<>();
+ }
+ return moreListLiveData;
+ }
+
+ public void setMoreListLiveData(MutableLiveData<List<PrivacyBean>> moreListLiveData) {
+ this.moreListLiveData = moreListLiveData;
+ }
/**
- * 鑾峰彇骞村害鍋ュ悍鎯呭喌
+ * 鎺掑簭
+ * @param type 0 浠庢柊鍒版棫 1 浠庢棫鍒版柊
*/
- public void getPrivacy() {
- List<PrivacyBean> beans = new ArrayList<>();
- for (int i = 0; i < 10; i++) {
- PrivacyBean bean = new PrivacyBean();
- bean.setType("QQ鍙�");
- bean.setTime("2020-01-01");
- bean.setAccount("12345678");
- bean.setPassword("000000");
- bean.setEffectiveTime("2030-01-01");
- bean.setIsFace(0);
- bean.setIsFingerprint(0);
- bean.setIsPublic(1);
- bean.setLocation("鈥斺�斺�斺��");
- bean.setRemark("鎴戠殑QQ鍙�");
- beans.add(bean);
+ public void sortDataList(int type){
+ List<PrivacyBean> list = dataListLiveData.getValue();
+ if (list == null || list.isEmpty()){
+ return;
}
- dataListLiveData.setValue(beans);
+ if (type == 0) {
+ // 浠庢柊鍒版棫锛宯ull鎺掓渶鍚�
+ list.sort((o1, o2) -> {
+ String happenTime1 = o1.getHappenTime();
+ String happenTime2 = o2.getHappenTime();
+ if (TextUtils.isEmpty(happenTime1) && TextUtils.isEmpty(happenTime2)) {
+ return 0;
+ } else if (TextUtils.isEmpty(happenTime1)) {
+ return 1;
+ } else if (TextUtils.isEmpty(happenTime2)) {
+ return -1;
+ } else {
+ Date date1 = Utils.parseDate(happenTime1);
+ Date date2 = Utils.parseDate(happenTime2);
+ if (date1 != null && date2 != null) {
+ return date2.compareTo(date1);
+ }
+ return 0;
+ }
+ });
+ } else if (type == 1) {
+ // 浠庢棫鍒版柊锛宯ull鎺掓渶鍓�
+ list.sort((o1, o2) -> {
+ String happenTime1 = o1.getHappenTime();
+ String happenTime2 = o2.getHappenTime();
+ if (TextUtils.isEmpty(happenTime1) && TextUtils.isEmpty(happenTime2)) {
+ return 0;
+ } else if (TextUtils.isEmpty(happenTime1)) {
+ return -1;
+ } else if (TextUtils.isEmpty(happenTime2)) {
+ return 1;
+ } else {
+ Date date1 = Utils.parseDate(happenTime1);
+ Date date2 = Utils.parseDate(happenTime2);
+ if (date1 != null && date2 != null) {
+ return date1.compareTo(date2);
+ }
+ return 0;
+ }
+ });
+ }
+ dataListLiveData.setValue(list);
}
}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/PrivacyDetailActivity.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/PrivacyDetailActivity.java
index de24035..18f1bc6 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/ui/function/PrivacyDetailActivity.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/PrivacyDetailActivity.java
@@ -6,9 +6,13 @@
import androidx.recyclerview.widget.GridLayoutManager;
+import com.android.app_base.utils.ScreenSizeUtils;
+import com.android.app_base.utils.Utils;
+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.ImageRvAdapter;
+import com.application.zhangshi_app_android.adapter.MemoRvAdapter;
import com.application.zhangshi_app_android.bean.AnnualHealthStatusBean;
import com.application.zhangshi_app_android.bean.PrivacyBean;
import com.application.zhangshi_app_android.databinding.ActivityAnnualHealthStatusDetailBinding;
@@ -27,6 +31,7 @@
public class PrivacyDetailActivity extends DLBaseActivity<ActivityPrivacyDetailBinding,PrivacyDetailActivityViewModel> {
private ImageRvAdapter adapter;
+ private MemoRvAdapter memoRvAdapter;
@Override
public int getLayoutId() {
@@ -51,31 +56,33 @@
GridLayoutManager gridLayoutManager = new GridLayoutManager(this, 3);
binding.rvImage.setLayoutManager(gridLayoutManager);
binding.rvImage.setNestedScrollingEnabled(false);
+ binding.rvImage.setAdapter(adapter);
+
+ memoRvAdapter = new MemoRvAdapter(this);
+ LinearItemDecoration itemDecoration = new LinearItemDecoration();
+ itemDecoration.setBottomSpace(ScreenSizeUtils.dip2px(this, 15));
+ binding.rvMemo.addItemDecoration(itemDecoration);
+ binding.rvMemo.setAdapter(memoRvAdapter);
+
setIsEdited(false);
}
@Override
public void initData() {
-
+ viewModel.getMemos();
}
@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);
+ adapter.setData(Utils.splitString2List(bean.getUrl(),","));
+ }
+ });
+
+ viewModel.getMemoListLiveData().observe(this, memoBeans -> {
+ if (memoBeans!=null){
+ memoRvAdapter.setData(memoBeans);
}
});
}
@@ -83,6 +90,7 @@
public void setIsEdited(boolean isEdited){
disableAllEditText(getContentView(),isEdited);
adapter.setIsEdited(isEdited);
+ memoRvAdapter.setEdited(isEdited);
}
public void disableAllEditText(ViewGroup viewGroup, boolean isEdited) {
for (int i = 0; i < viewGroup.getChildCount(); i++) {
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/PrivacyDetailActivityViewModel.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/PrivacyDetailActivityViewModel.java
index 352bd7d..aa72e47 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/ui/function/PrivacyDetailActivityViewModel.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/PrivacyDetailActivityViewModel.java
@@ -1,14 +1,25 @@
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.BaseConfig;
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.AnnualHealthStatusBean;
+import com.application.zhangshi_app_android.bean.MemoBean;
import com.application.zhangshi_app_android.bean.PrivacyBean;
import com.application.zhangshi_app_android.data.DataRepository;
+
+import java.util.List;
+
+import io.reactivex.Observer;
+import io.reactivex.disposables.Disposable;
/**
* @author Ljj
@@ -18,6 +29,7 @@
public class PrivacyDetailActivityViewModel extends BaseViewModel<DataRepository> {
private MutableLiveData<PrivacyBean> beanLiveData;
+ private MutableLiveData<List<MemoBean>> memoListLiveData;
public PrivacyDetailActivityViewModel(@NonNull Application application) {
super(application);
@@ -28,7 +40,41 @@
return DataRepository.getInstance();
}
+ /**
+ * 鑾峰彇澶囧繕褰�
+ */
+ public void getMemos() {
+ if (beanLiveData.getValue() == null) {
+ return;
+ }
+ model.getMemos(BaseConfig.MEMO_FID_PRIVACY+"", String.valueOf(beanLiveData.getValue().getId()))
+ .compose(RxUtils.schedulersTransformer())
+ .subscribe(new Observer<ResultData<List<MemoBean>>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+ @Override
+ public void onNext(ResultData<List<MemoBean>> data) {
+ if (data.getCode() == CODE_SUCCESS){
+ memoListLiveData.postValue(data.getData());
+ }else {
+ messageLiveData.postValue(data.getMsg());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
public MutableLiveData<PrivacyBean> getBeanLiveData() {
if (beanLiveData == null) {
beanLiveData = new MutableLiveData<>();
@@ -39,4 +85,15 @@
public void setBeanLiveData(MutableLiveData<PrivacyBean> beanLiveData) {
this.beanLiveData = beanLiveData;
}
+
+ public MutableLiveData<List<MemoBean>> getMemoListLiveData() {
+ if (memoListLiveData == null){
+ memoListLiveData = new MutableLiveData<>();
+ }
+ return memoListLiveData;
+ }
+
+ public void setMemoListLiveData(MutableLiveData<List<MemoBean>> memoListLiveData) {
+ this.memoListLiveData = memoListLiveData;
+ }
}
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
index 799d3af..953df4c 100644
--- 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
@@ -1,11 +1,22 @@
package com.application.zhangshi_app_android.ui.function;
+import android.text.Editable;
+import android.text.TextUtils;
+import android.text.TextWatcher;
+import android.view.MotionEvent;
+import android.view.View;
+import android.widget.PopupWindow;
+
+import com.android.app_base.utils.ScreenSizeUtils;
+import com.android.app_base.utils.Utils;
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;
+import com.github.gzuliyujiang.wheelpicker.DatePicker;
+import com.github.gzuliyujiang.wheelpicker.contract.OnDatePickedListener;
/**
* @author Ljj
@@ -15,7 +26,8 @@
public class PropertyActivity extends DLBaseActivity<ActivityPropertyBinding, PropertyActivityViewModel> {
private PropertyRvAdapter adapter;
-
+ private PopupWindow mOperatePopupWindow;
+ private boolean isSearchLayoutVisible;
@Override
public int getLayoutId() {
return R.layout.activity_property;
@@ -33,6 +45,14 @@
@Override
public void initView() {
+ //涓嬫媺鍒锋柊甯冨眬
+ binding.refreshLayout.setEnableRefresh(false);
+ binding.refreshLayout.setEnableLoadMore(true);
+ binding.refreshLayout.setEnableOverScrollDrag(true);
+ binding.refreshLayout.setOnLoadMoreListener(refreshLayout -> {
+ viewModel.getMoreProperty();
+ });
+ //recyclerView閫傞厤鍣�
adapter = new PropertyRvAdapter(this);
LinearItemDecoration itemDecoration = new LinearItemDecoration();
itemDecoration.setBottomSpace((int) getResources().getDimension(com.android.app_base.R.dimen.dp_12));
@@ -40,7 +60,160 @@
itemDecoration.setFirstTop((int) getResources().getDimension(com.android.app_base.R.dimen.dp_20));
binding.recyclerView.addItemDecoration(itemDecoration);
binding.recyclerView.setAdapter(adapter);
+ //鍙充笂瑙掓搷浣滃脊绐�
+ mOperatePopupWindow = initPopUpWindow(View.inflate(this,R.layout.pop_operate,null));
+ mOperatePopupWindow.getContentView().findViewById(R.id.layout_add).setVisibility(View.GONE);
+ mOperatePopupWindow.getContentView().findViewById(R.id.layout_select).setVisibility(View.GONE);
+ mOperatePopupWindow.getContentView().findViewById(R.id.tv_from_new_to_old).setOnClickListener(v -> {
+ viewModel.sortDataList(0);
+ mOperatePopupWindow.dismiss();
+ });
+ mOperatePopupWindow.getContentView().findViewById(R.id.tv_from_old_to_new).setOnClickListener(v -> {
+ viewModel.sortDataList(1);
+ mOperatePopupWindow.dismiss();
+ });
+ //鐐瑰嚮寮瑰嚭鎿嶄綔寮圭獥
+ binding.ivOperate.setOnClickListener(v -> {
+ mOperatePopupWindow.showAsDropDown(binding.ivOperate,-ScreenSizeUtils.dip2px(this,85) +binding.ivOperate.getWidth(),0);
+ });
+ //鐐瑰嚮鏀惧ぇ闀滄寜閽樉绀哄嚭鎼滅储妗�
+ binding.ivSearchDefault.setOnClickListener(v -> {
+ binding.layoutSearch.setVisibility(View.VISIBLE);
+ binding.layoutDefault.setVisibility(View.GONE);
+ });
+ //鐐瑰嚮鎼滅储妗嗚彍鍗曚笅鎷夊嚭 鎼滅储鍙傛暟
+ binding.ivSearchType.setOnClickListener(v -> {
+ if (!isSearchLayoutVisible){
+ binding.layoutSearchParameter.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED);
+ int targetHeight = binding.layoutSearchParameter.getMeasuredHeight();
+ Utils.pullCollapse(binding.containerSearchParameter,0,targetHeight);
+ isSearchLayoutVisible = true;
+ }
+ });
+ //鎼滅储鍙傛暟layout娣诲姞绌虹偣鍑讳簨浠讹紝闃叉鐐瑰嚮瀹冨唴閮╲iew鏃跺畠鍚庨潰鐨剅ecycler杩樿兘鍝嶅簲鐐瑰嚮浜嬩欢
+ binding.layoutSearchParameter.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ }
+ });
+ //鐐瑰嚮鎼滅储鎸夐挳杩涜鎼滅储
+ binding.ivSearch.setOnClickListener(v -> {
+ viewModel.getProperty();
+ binding.layoutSearch.setVisibility(View.GONE);
+ binding.layoutDefault.setVisibility(View.VISIBLE);
+ binding.tvTitle.setText("鎼滅储缁撴灉");
+ hideSoftKeyboard();
+ });
+ binding.etStartTime.addTextChangedListener(new TextWatcher() {
+ @Override
+ public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+ }
+
+ @Override
+ public void onTextChanged(CharSequence s, int start, int before, int count) {
+ if (!TextUtils.isEmpty(s)) {
+ binding.ivTimeClear.setVisibility(View.VISIBLE);
+ } else {
+ if (TextUtils.isEmpty(binding.etEndTime.getText().toString())) {
+ binding.ivTimeClear.setVisibility(View.INVISIBLE);
+ }
+ }
+ }
+
+ @Override
+ public void afterTextChanged(Editable s) {
+
+ }
+ });
+ binding.etEndTime.addTextChangedListener(new TextWatcher() {
+ @Override
+ public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+ }
+
+ @Override
+ public void onTextChanged(CharSequence s, int start, int before, int count) {
+ if (!TextUtils.isEmpty(s)) {
+ binding.ivTimeClear.setVisibility(View.VISIBLE);
+ } else {
+ if (TextUtils.isEmpty(binding.etStartTime.getText().toString())) {
+ binding.ivTimeClear.setVisibility(View.INVISIBLE);
+ }
+ }
+ }
+
+ @Override
+ public void afterTextChanged(Editable s) {
+
+ }
+ });
+ binding.etStartTime.setOnClickListener(v -> {
+ hideSoftKeyboard();
+ DatePicker datePicker = getDatePicker();
+ datePicker.setTitle("璇烽�夋嫨寮�濮嬫椂闂�");
+ datePicker.setOnDatePickedListener(new OnDatePickedListener() {
+ @Override
+ public void onDatePicked(int year, int month, int day) {
+ //浠yyy-MM-dd鐨勬牸寮忔樉绀猴紝鏈堟棩灏忎簬10鏃跺墠闈㈣ˉ0
+ binding.etStartTime.setText(String.format("%d-%02d-%02d", year, month, day));
+ if (binding.etEndTime.getText().toString().isEmpty()){
+ binding.etEndTime.setText(String.format("%d-%02d-%02d", year, month, day));
+ }else {
+ //姣旇緝寮�濮嬫椂闂村拰缁撴潫鏃堕棿鐨勫ぇ灏�
+ String startTime = binding.etStartTime.getText().toString();
+ String endTime = binding.etEndTime.getText().toString();
+ if (Utils.compareDate(startTime,endTime) > 0){
+ //浜ゆ崲
+ binding.etStartTime.setText(endTime);
+ binding.etEndTime.setText(startTime);
+ }
+ }
+ }
+ });
+ datePicker.show();
+ });
+ binding.etEndTime.setOnClickListener(v -> {
+ hideSoftKeyboard();
+ DatePicker datePicker = getDatePicker();
+ datePicker.setTitle("璇烽�夋嫨缁撴潫鏃堕棿");
+ datePicker.setOnDatePickedListener(new OnDatePickedListener() {
+ @Override
+ public void onDatePicked(int year, int month, int day) {
+ binding.etEndTime.setText(String.format("%d-%02d-%02d", year, month, day));
+ if (binding.etStartTime.getText().toString().isEmpty()){
+ binding.etStartTime.setText(String.format("%d-%02d-%02d", year, month, day));
+ }else {
+ //姣旇緝寮�濮嬫椂闂村拰缁撴潫鏃堕棿鐨勫ぇ灏�
+ String startTime = binding.etStartTime.getText().toString();
+ String endTime = binding.etEndTime.getText().toString();
+ if (Utils.compareDate(startTime,endTime) > 0){
+ //浜ゆ崲
+ binding.etStartTime.setText(endTime);
+ binding.etEndTime.setText(startTime);
+ }
+ }
+ }
+ });
+ datePicker.show();
+ });
+ binding.ivTimeClear.setOnClickListener(v -> {
+ binding.etStartTime.setText("");
+ binding.etEndTime.setText("");
+ });
}
+ @Override
+ public boolean dispatchTouchEvent(MotionEvent event) {
+ float x = event.getX();
+ float y = event.getY();
+ if (isSearchLayoutVisible){
+ if (!Utils.isPointInsideView(x, y, binding.layoutSearchParameter)) {
+ Utils.pullCollapse(binding.containerSearchParameter, binding.layoutSearchParameter.getMeasuredHeight(),0);
+ isSearchLayoutVisible = false;
+ return true;
+ }
+ }
+ return super.dispatchTouchEvent(event);
+ }
+
@Override
public void initData() {
@@ -52,5 +225,28 @@
viewModel.getDataListLiveData().observe(this, dataList -> {
adapter.setData(dataList);
});
+ viewModel.getMoreListLiveData().observe(this, list -> {
+ adapter.addData(list);
+ });
+ }
+ @Override
+ protected void dataNull() {
+ super.dataNull();
+ binding.layoutDataNull.setVisibility(View.VISIBLE);
+ binding.refreshLayout.setVisibility(View.GONE);
+ }
+
+ @Override
+ protected void dataFinish() {
+ super.dataFinish();
+ binding.refreshLayout.finishLoadMore();
+ }
+
+ @Override
+ protected void hide() {
+ super.hide();
+ binding.layoutDataNull.setVisibility(View.GONE);
+ binding.refreshLayout.setVisibility(View.VISIBLE);
+ binding.refreshLayout.finishLoadMore();
}
}
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
index 91ce4a3..ffa6228 100644
--- 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
@@ -1,16 +1,32 @@
package com.application.zhangshi_app_android.ui.function;
+import static com.android.app_base.base.BaseConfig.CODE_SUCCESS;
+
import android.app.Application;
+import android.text.TextUtils;
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.android.app_base.utils.Utils;
+import com.application.zhangshi_app_android.bean.PageResponseBean;
+import com.application.zhangshi_app_android.bean.PrivacyBean;
+import com.application.zhangshi_app_android.bean.PrivacyRequestBean;
import com.application.zhangshi_app_android.bean.PropertyBean;
+import com.application.zhangshi_app_android.bean.PropertyRequestBean;
import com.application.zhangshi_app_android.data.DataRepository;
import java.util.ArrayList;
+import java.util.Date;
import java.util.List;
+
+import io.reactivex.Observer;
+import io.reactivex.disposables.Disposable;
+import io.reactivex.functions.Action;
/**
* @author Ljj
@@ -19,6 +35,9 @@
*/
public class PropertyActivityViewModel extends BaseViewModel<DataRepository> {
private MutableLiveData<List<PropertyBean>> dataListLiveData;
+ private MutableLiveData<List<PropertyBean>> moreListLiveData;//鍔犺浇鏇村鏁版嵁
+
+ private MutableLiveData<PropertyRequestBean> requestBeanLiveData;//璇锋眰鍙傛暟
public PropertyActivityViewModel(@NonNull Application application) {
super(application);
@@ -28,33 +47,180 @@
protected DataRepository initModel() {
return DataRepository.getInstance();
}
+ /**
+ * 鑾峰彇鏁版嵁
+ */
+ public void getProperty() {
+ if (getRequestBeanLiveData().getValue() == null){
+ getRequestBeanLiveData().setValue(new PropertyRequestBean());
+ }
+ getRequestBeanLiveData().getValue().setPageNum(1);
+ model.getProperty(getRequestBeanLiveData().getValue().toMap())
+ .compose(RxUtils.schedulersTransformer())
+ .subscribe(new Observer<ResultData<PageResponseBean<PropertyBean>>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+ @Override
+ public void onNext(ResultData<PageResponseBean<PropertyBean>> 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() {
+
+ }
+ });
+ }
+ /**
+ * 鍔犺浇鏇村
+ */
+ public void getMoreProperty(){
+ if (getRequestBeanLiveData().getValue() == null){
+ getRequestBeanLiveData().setValue(new PropertyRequestBean());
+ }
+ getRequestBeanLiveData().getValue().setPageNum(getRequestBeanLiveData().getValue().getPageNum() + 1);
+ model.getProperty(getRequestBeanLiveData().getValue().toMap())
+ .compose(RxUtils.schedulersTransformer())
+ .doFinally(new Action() {
+ @Override
+ public void run() throws Exception {
+ changeStateView(StateViewEnum.DATA_FINISH);
+ }
+ })
+ .subscribe(new Observer<ResultData<PageResponseBean<PropertyBean>>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<PageResponseBean<PropertyBean>> 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());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
public MutableLiveData<List<PropertyBean>> getDataListLiveData() {
- if (dataListLiveData == null) {
+ 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);
+ public MutableLiveData<PropertyRequestBean> getRequestBeanLiveData() {
+ if (requestBeanLiveData == null){
+ requestBeanLiveData = new MutableLiveData<>();
}
- dataListLiveData.setValue(cleanStorageBeans);
+ if (requestBeanLiveData.getValue() == null){
+ requestBeanLiveData.setValue(new PropertyRequestBean());
+ }
+ return requestBeanLiveData;
+ }
+
+ public void setRequestBeanLiveData(MutableLiveData<PropertyRequestBean> requestBeanLiveData) {
+ this.requestBeanLiveData = requestBeanLiveData;
+ }
+
+
+
+ public MutableLiveData<List<PropertyBean>> getMoreListLiveData() {
+ if (moreListLiveData == null){
+ moreListLiveData = new MutableLiveData<>();
+ }
+ return moreListLiveData;
+ }
+
+ public void setMoreListLiveData(MutableLiveData<List<PropertyBean>> moreListLiveData) {
+ this.moreListLiveData = moreListLiveData;
+ }
+
+ /**
+ * 鎺掑簭
+ * @param type 0 浠庢柊鍒版棫 1 浠庢棫鍒版柊
+ */
+ public void sortDataList(int type){
+ List<PropertyBean> list = dataListLiveData.getValue();
+ if (list == null || list.isEmpty()){
+ return;
+ }
+ if (type == 0) {
+ // 浠庢柊鍒版棫锛宯ull鎺掓渶鍚�
+ list.sort((o1, o2) -> {
+ String happenTime1 = o1.getHappenTime();
+ String happenTime2 = o2.getHappenTime();
+ if (TextUtils.isEmpty(happenTime1) && TextUtils.isEmpty(happenTime2)) {
+ return 0;
+ } else if (TextUtils.isEmpty(happenTime1)) {
+ return 1;
+ } else if (TextUtils.isEmpty(happenTime2)) {
+ return -1;
+ } else {
+ Date date1 = Utils.parseDate(happenTime1);
+ Date date2 = Utils.parseDate(happenTime2);
+ if (date1 != null && date2 != null) {
+ return date2.compareTo(date1);
+ }
+ return 0;
+ }
+ });
+ } else if (type == 1) {
+ // 浠庢棫鍒版柊锛宯ull鎺掓渶鍓�
+ list.sort((o1, o2) -> {
+ String happenTime1 = o1.getHappenTime();
+ String happenTime2 = o2.getHappenTime();
+ if (TextUtils.isEmpty(happenTime1) && TextUtils.isEmpty(happenTime2)) {
+ return 0;
+ } else if (TextUtils.isEmpty(happenTime1)) {
+ return -1;
+ } else if (TextUtils.isEmpty(happenTime2)) {
+ return 1;
+ } else {
+ Date date1 = Utils.parseDate(happenTime1);
+ Date date2 = Utils.parseDate(happenTime2);
+ if (date1 != null && date2 != null) {
+ return date1.compareTo(date2);
+ }
+ return 0;
+ }
+ });
+ }
+ dataListLiveData.setValue(list);
}
}
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
index 1e758b8..9773fcb 100644
--- 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
@@ -6,9 +6,13 @@
import androidx.recyclerview.widget.GridLayoutManager;
+import com.android.app_base.utils.ScreenSizeUtils;
+import com.android.app_base.utils.Utils;
+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.ImageRvAdapter;
+import com.application.zhangshi_app_android.adapter.MemoRvAdapter;
import com.application.zhangshi_app_android.bean.CleanStorageBean;
import com.application.zhangshi_app_android.bean.PropertyBean;
import com.application.zhangshi_app_android.databinding.ActivityCleanStorageDetailBinding;
@@ -22,11 +26,12 @@
/**
* @author Ljj
* @date 2023.04.21. 21:02
- * @desc
+ * @desc 涓汉璐骇 璇︽儏
*/
public class PropertyDetailActivity extends DLBaseActivity<ActivityPropertyDetailBinding,PropertyDetailActivityViewModel> {
private ImageRvAdapter adapter;
+ private MemoRvAdapter memoRvAdapter;
@Override
public int getLayoutId() {
@@ -51,31 +56,32 @@
GridLayoutManager gridLayoutManager = new GridLayoutManager(this, 3);
binding.rvImage.setLayoutManager(gridLayoutManager);
binding.rvImage.setNestedScrollingEnabled(false);
+ binding.rvImage.setAdapter(adapter);
+
+ memoRvAdapter = new MemoRvAdapter(this);
+ LinearItemDecoration itemDecoration = new LinearItemDecoration();
+ itemDecoration.setBottomSpace(ScreenSizeUtils.dip2px(this, 15));
+ binding.rvMemo.addItemDecoration(itemDecoration);
+ binding.rvMemo.setAdapter(memoRvAdapter);
+
setIsEdited(false);
}
@Override
public void initData() {
-
+ viewModel.getMemos();
}
@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);
+ adapter.setData(Utils.splitString2List(bean.getUrl(),","));
+ }
+ });
+ viewModel.getMemoListLiveData().observe(this, memoBeans -> {
+ if (memoBeans!=null){
+ memoRvAdapter.setData(memoBeans);
}
});
}
@@ -83,6 +89,7 @@
public void setIsEdited(boolean isEdited){
disableAllEditText(getContentView(),isEdited);
adapter.setIsEdited(isEdited);
+ memoRvAdapter.setEdited(isEdited);
}
public void disableAllEditText(ViewGroup viewGroup, boolean isEdited) {
for (int i = 0; i < viewGroup.getChildCount(); i++) {
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
index ae7e9d1..4d6ccff 100644
--- 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
@@ -1,14 +1,25 @@
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.BaseConfig;
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.MemoBean;
import com.application.zhangshi_app_android.bean.PropertyBean;
import com.application.zhangshi_app_android.data.DataRepository;
+
+import java.util.List;
+
+import io.reactivex.Observer;
+import io.reactivex.disposables.Disposable;
/**
* @author Ljj
@@ -18,6 +29,7 @@
public class PropertyDetailActivityViewModel extends BaseViewModel<DataRepository> {
private MutableLiveData<PropertyBean> beanLiveData;
+ private MutableLiveData<List<MemoBean>> memoListLiveData;
public PropertyDetailActivityViewModel(@NonNull Application application) {
super(application);
@@ -28,7 +40,41 @@
return DataRepository.getInstance();
}
+ /**
+ * 鑾峰彇澶囧繕褰�
+ */
+ public void getMemos() {
+ if (beanLiveData.getValue() == null) {
+ return;
+ }
+ model.getMemos(BaseConfig.MEMO_FID_PROPERTY+"", String.valueOf(beanLiveData.getValue().getId()))
+ .compose(RxUtils.schedulersTransformer())
+ .subscribe(new Observer<ResultData<List<MemoBean>>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+ @Override
+ public void onNext(ResultData<List<MemoBean>> data) {
+ if (data.getCode() == CODE_SUCCESS){
+ memoListLiveData.postValue(data.getData());
+ }else {
+ messageLiveData.postValue(data.getMsg());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
public MutableLiveData<PropertyBean> getBeanLiveData() {
if (beanLiveData == null) {
beanLiveData = new MutableLiveData<>();
@@ -39,4 +85,15 @@
public void setBeanLiveData(MutableLiveData<PropertyBean> beanLiveData) {
this.beanLiveData = beanLiveData;
}
+
+ public MutableLiveData<List<MemoBean>> getMemoListLiveData() {
+ if (memoListLiveData == null){
+ memoListLiveData = new MutableLiveData<>();
+ }
+ return memoListLiveData;
+ }
+
+ public void setMemoListLiveData(MutableLiveData<List<MemoBean>> memoListLiveData) {
+ this.memoListLiveData = memoListLiveData;
+ }
}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/TourismActivity.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/TourismActivity.java
index 1c7f49d..d372ad0 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/ui/function/TourismActivity.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/TourismActivity.java
@@ -1,21 +1,45 @@
package com.application.zhangshi_app_android.ui.function;
+import android.content.Intent;
+import android.text.Editable;
+import android.text.TextUtils;
+import android.text.TextWatcher;
+import android.view.MotionEvent;
+import android.view.View;
+import android.widget.PopupWindow;
+
+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.manager.AppManager;
+import com.android.app_base.utils.ScreenSizeUtils;
+import com.android.app_base.utils.Utils;
+import com.android.app_base.utils.rxbus.RxBus;
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.PrivacyRvAdapter;
import com.application.zhangshi_app_android.adapter.TourismRvAdapter;
+import com.application.zhangshi_app_android.bean.TourismBean;
import com.application.zhangshi_app_android.databinding.ActivityTourismBinding;
import com.application.zhangshi_app_android.ui.DLBaseActivity;
+import com.github.gzuliyujiang.wheelpicker.DatePicker;
+import com.github.gzuliyujiang.wheelpicker.contract.OnDatePickedListener;
+
+import java.util.Calendar;
+import java.util.List;
/**
* @author Ljj
* @date 2023.04.28. 20:57
* @desc
*/
-public class TourismActivity extends DLBaseActivity<ActivityTourismBinding,TourismActivityViewModel > {
+public class TourismActivity extends DLBaseActivity<ActivityTourismBinding,TourismActivityViewModel>{
private TourismRvAdapter adapter;
+ private PopupWindow mOperatePopupWindow;
+ private boolean isSearchLayoutVisible;
@Override
public int getLayoutId() {
@@ -34,24 +58,285 @@
@Override
public void initView() {
- adapter = new TourismRvAdapter(this);
+ //涓嬫媺鍒锋柊甯冨眬
+ binding.refreshLayout.setEnableRefresh(false);
+ binding.refreshLayout.setEnableLoadMore(true);
+ binding.refreshLayout.setEnableOverScrollDrag(true);
+ binding.refreshLayout.setOnLoadMoreListener(refreshLayout -> {
+ viewModel.getMoreTourism();
+ });
+ //recyclerView閫傞厤鍣�
+ adapter = new TourismRvAdapter(this,viewModel);
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);
+ //鍙充笂瑙掓搷浣滃脊绐�
+ mOperatePopupWindow = initPopUpWindow(View.inflate(this,R.layout.pop_operate,null));
+ setOnClickListener(
+ mOperatePopupWindow.getContentView().findViewById(R.id.tv_add),
+ mOperatePopupWindow.getContentView().findViewById(R.id.tv_select),
+ mOperatePopupWindow.getContentView().findViewById(R.id.tv_from_new_to_old),
+ mOperatePopupWindow.getContentView().findViewById(R.id.tv_from_old_to_new),
+ binding.etEndTime,
+ binding.etStartTime,
+ binding.ivTimeClear
+ );
+ //鐐瑰嚮鏀惧ぇ闀滄寜閽樉绀哄嚭鎼滅储妗�
+ binding.ivSearchDefault.setOnClickListener(v -> {
+ binding.layoutSearch.setVisibility(View.VISIBLE);
+ binding.layoutDefault.setVisibility(View.GONE);
+ });
+ //鐐瑰嚮鎼滅储妗嗚彍鍗曚笅鎷夊嚭 鎼滅储鍙傛暟
+ binding.ivSearchType.setOnClickListener(v -> {
+ if (!isSearchLayoutVisible){
+ binding.layoutSearchParameter.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED);
+ int targetHeight = binding.layoutSearchParameter.getMeasuredHeight();
+ Utils.pullCollapse(binding.containerSearchParameter,0,targetHeight);
+ isSearchLayoutVisible = true;
+ }
+ });
+ //鎼滅储鍙傛暟layout娣诲姞绌虹偣鍑讳簨浠讹紝闃叉鐐瑰嚮瀹冨唴閮╲iew鏃跺畠鍚庨潰鐨剅ecycler杩樿兘鍝嶅簲鐐瑰嚮浜嬩欢
+ binding.layoutSearchParameter.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ }
+ });
+ //鐐瑰嚮鎼滅储鎸夐挳杩涜鎼滅储
+ binding.ivSearch.setOnClickListener(v -> {
+ viewModel.getTourism();
+ binding.layoutSearch.setVisibility(View.GONE);
+ binding.layoutDefault.setVisibility(View.VISIBLE);
+ binding.tvTitle.setText("鎼滅储缁撴灉");
+ hideSoftKeyboard();
+ });
+ //鐐瑰嚮娣诲姞鎸夐挳璺宠浆鍒板垱寤哄澶т簨璁伴〉闈�
+ binding.fabAdd.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ AppManager.getAppManager().startActivity(new Intent(getSelfActivity(), TourismDetailActivity.class).putExtra(BaseConfig.EXTRA_TYPE,1));
+ }
+ });
+ binding.etStartTime.addTextChangedListener(new TextWatcher() {
+ @Override
+ public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+ }
+
+ @Override
+ public void onTextChanged(CharSequence s, int start, int before, int count) {
+ if (!TextUtils.isEmpty(s)) {
+ binding.ivTimeClear.setVisibility(View.VISIBLE);
+ } else {
+ if (TextUtils.isEmpty(binding.etEndTime.getText().toString())) {
+ binding.ivTimeClear.setVisibility(View.INVISIBLE);
+ }
+ }
+ }
+
+ @Override
+ public void afterTextChanged(Editable s) {
+
+ }
+ });
+ binding.etEndTime.addTextChangedListener(new TextWatcher() {
+ @Override
+ public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+ }
+
+ @Override
+ public void onTextChanged(CharSequence s, int start, int before, int count) {
+ if (!TextUtils.isEmpty(s)) {
+ binding.ivTimeClear.setVisibility(View.VISIBLE);
+ } else {
+ if (TextUtils.isEmpty(binding.etStartTime.getText().toString())) {
+ binding.ivTimeClear.setVisibility(View.INVISIBLE);
+ }
+ }
+ }
+
+ @Override
+ public void afterTextChanged(Editable s) {
+
+ }
+ });
}
@Override
public void initData() {
viewModel.getTourism();
}
+ @Override
+ public boolean dispatchTouchEvent(MotionEvent event) {
+ float x = event.getX();
+ float y = event.getY();
+ if (isSearchLayoutVisible){
+ if (!Utils.isPointInsideView(x, y, binding.layoutSearchParameter)) {
+ Utils.pullCollapse(binding.containerSearchParameter, binding.layoutSearchParameter.getMeasuredHeight(),0);
+ isSearchLayoutVisible = false;
+ return true;
+ }
+ }
+ return super.dispatchTouchEvent(event);
+ }
@Override
public void initLiveDataObserve() {
- viewModel.getDataListLiveData().observe(this, dataList -> {
- adapter.setData(dataList);
+ viewModel.getDataListLiveData().observe(this, beans -> {
+ adapter.setData(beans);
+ }
+ );
+ viewModel.getCheckListLiveData().observe(this, (Observer<List<TourismBean>>) beans -> {
+ if (viewModel.getOperateTypeLiveData().getValue() == 0){
+ return;
+ }
+ if (beans.isEmpty()){
+ viewModel.getOperateTypeLiveData().setValue(1);
+ }else{
+ viewModel.getOperateTypeLiveData().setValue(2);
+ }
});
+ viewModel.getMoreListLiveData().observe(this, beans -> {
+ adapter.addData(beans);
+ }
+ );
+ viewModel.getOperateTypeLiveData().observe(this, integer -> {
+ if (integer == 0){
+ binding.ivOperate.setBackgroundResource(R.drawable.ic_operate);
+ binding.ivOperate.setOnClickListener(v -> {
+ mOperatePopupWindow.showAsDropDown(binding.ivOperate,-ScreenSizeUtils.dip2px(this,85) +binding.ivOperate.getWidth(),0);
+ });
+ adapter.setCheckable(false);
+ }else if (integer == 1){
+ binding.ivOperate.setBackgroundResource(R.drawable.ic_operate_finish);
+ binding.ivOperate.setOnClickListener(v -> {
+ viewModel.getOperateTypeLiveData().postValue(0);
+ });
+ adapter.setCheckable(true);
+ }else if (integer == 2){
+ binding.ivOperate.setBackgroundResource(R.drawable.ic_delete_white);
+ binding.ivOperate.setOnClickListener(v -> {
+ new UIDialog.Builder(this)
+ .setTitle("鎮ㄧ‘瀹氳鍒犻櫎閫変腑鐨勯」鐩悧")
+ .setContent("椤圭洰鍒犻櫎鍚庡皢鏃犳硶鎭㈠")
+ .setConfirm("纭畾")
+ .setCancel("鍙栨秷")
+ .setListener(new UIDialog.OnListener() {
+ @Override
+ public void onConfirm(BaseDialog dialog) {
+ viewModel.deleteCheckList();
+ }
+ })
+ .show();
+ });
+ }
+ });
+ viewModel.getFinishDeleteListLiveData().observe(this, beans -> {
+ for (TourismBean bean : beans) {
+ adapter.removeItem(bean);
+ }
+ });
+ //瑙傚療鏁版嵁鐨勫彉鍖栵紝鏈夊彉鍖栧寘鎷坊鍔犮�佷慨鏀广�佸垹闄ら兘浼氬彂閫佹秷鎭紝鎺ユ敹鍒版秷鎭悗閲嶆柊鑾峰彇鏁版嵁
+ RxBus.getInstance().toObservable(this, TourismBean.class)
+ .subscribe(bean -> {
+ viewModel.getTourism();
+ });
+ }
+
+
+ @Override
+ protected void dataNull() {
+ super.dataNull();
+ binding.layoutDataNull.setVisibility(View.VISIBLE);
+ binding.refreshLayout.setVisibility(View.GONE);
+ }
+
+ @Override
+ protected void dataFinish() {
+ super.dataFinish();
+ binding.refreshLayout.finishLoadMore();
+ }
+
+ @Override
+ protected void hide() {
+ super.hide();
+ binding.layoutDataNull.setVisibility(View.GONE);
+ binding.refreshLayout.setVisibility(View.VISIBLE);
+ binding.refreshLayout.finishLoadMore();
+ }
+
+ @Override
+ public void onClick(View v) {
+ int id = v.getId();
+ if (id == R.id.tv_add){
+ AppManager.getAppManager().startActivity(new Intent(this, TourismDetailActivity.class).putExtra(BaseConfig.EXTRA_TYPE,1));
+ }else if (id == R.id.tv_select){
+ viewModel.getOperateTypeLiveData().postValue(1);
+ mOperatePopupWindow.dismiss();
+ } else if (id == R.id.tv_from_new_to_old) {
+ viewModel.changeOrder(true);
+ mOperatePopupWindow.dismiss();
+ } else if (id == R.id.tv_from_old_to_new) {
+ viewModel.changeOrder(false);
+ mOperatePopupWindow.dismiss();
+ }else if (id == R.id.et_end_time){
+ hideSoftKeyboard();
+ DatePicker datePicker = getDatePicker();
+ datePicker.setTitle("璇烽�夋嫨缁撴潫鏃堕棿");
+ datePicker.setOnDatePickedListener(new OnDatePickedListener() {
+ @Override
+ public void onDatePicked(int year, int month, int day) {
+ binding.etEndTime.setText(String.format("%d-%02d-%02d", year, month, day));
+ if (binding.etStartTime.getText().toString().isEmpty()){
+ binding.etStartTime.setText(String.format("%d-%02d-%02d", year, month, day));
+ }else {
+ //姣旇緝寮�濮嬫椂闂村拰缁撴潫鏃堕棿鐨勫ぇ灏�
+ String startTime = binding.etStartTime.getText().toString();
+ String endTime = binding.etEndTime.getText().toString();
+ if (Utils.compareDate(startTime,endTime) > 0){
+ //浜ゆ崲
+ binding.etStartTime.setText(endTime);
+ binding.etEndTime.setText(startTime);
+ }
+ }
+ }
+ });
+ datePicker.show();
+ }else if (id == R.id.et_start_time) {
+ hideSoftKeyboard();
+ DatePicker datePicker = getDatePicker();
+ datePicker.setTitle("璇烽�夋嫨寮�濮嬫椂闂�");
+ datePicker.setOnDatePickedListener(new OnDatePickedListener() {
+ @Override
+ public void onDatePicked(int year, int month, int day) {
+ //浠yyy-MM-dd鐨勬牸寮忔樉绀猴紝鏈堟棩灏忎簬10鏃跺墠闈㈣ˉ0
+ binding.etStartTime.setText(String.format("%d-%02d-%02d", year, month, day));
+ if (binding.etEndTime.getText().toString().isEmpty()){
+ binding.etEndTime.setText(String.format("%d-%02d-%02d", year, month, day));
+ }else {
+ //姣旇緝寮�濮嬫椂闂村拰缁撴潫鏃堕棿鐨勫ぇ灏�
+ String startTime = binding.etStartTime.getText().toString();
+ String endTime = binding.etEndTime.getText().toString();
+ if (Utils.compareDate(startTime,endTime) > 0){
+ //浜ゆ崲
+ binding.etStartTime.setText(endTime);
+ binding.etEndTime.setText(startTime);
+ }
+ }
+ }
+ });
+ datePicker.show();
+ }else if (id == R.id.iv_time_clear){
+ binding.etStartTime.setText("");
+ binding.etEndTime.setText("");
+ }
+ }
+
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+ if (mOperatePopupWindow != null){
+ mOperatePopupWindow.dismiss();
+ }
}
}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/TourismActivityViewModel.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/TourismActivityViewModel.java
index 4d2a4c0..7e8e6d5 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/ui/function/TourismActivityViewModel.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/TourismActivityViewModel.java
@@ -1,16 +1,31 @@
package com.application.zhangshi_app_android.ui.function;
+import static com.android.app_base.base.BaseConfig.CODE_SUCCESS;
+
import android.app.Application;
+import android.text.TextUtils;
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.android.app_base.utils.Utils;
+import com.application.zhangshi_app_android.bean.PageResponseBean;
import com.application.zhangshi_app_android.bean.TourismBean;
+import com.application.zhangshi_app_android.bean.TourismRequestBean;
import com.application.zhangshi_app_android.data.DataRepository;
import java.util.ArrayList;
+import java.util.Date;
import java.util.List;
+
+import io.reactivex.Observer;
+import io.reactivex.disposables.Disposable;
+import io.reactivex.functions.Action;
/**
* @author Ljj
@@ -19,6 +34,12 @@
*/
public class TourismActivityViewModel extends BaseViewModel<DataRepository> {
private MutableLiveData<List<TourismBean>> dataListLiveData;
+ private MutableLiveData<List<TourismBean>> checkListLiveData;//閫変腑鐨勬暟鎹�
+ private MutableLiveData<Integer> operateTypeLiveData;//鍙充笂瑙掓搷浣滄 鎿嶄綔绫诲瀷 0 寮瑰嚭閫夋嫨鎿嶄綔 1.瀹屾垚 2.鍒犻櫎
+ private MutableLiveData<TourismRequestBean> requestBeanLiveData;//璇锋眰鍙傛暟
+ private MutableLiveData<List<TourismBean>> moreListLiveData;//涓嬫媺鍔犺浇鏁版嵁
+ private MutableLiveData<List<TourismBean>> finishDeleteListLiveData;//宸茬粡瀹屾垚鍒犻櫎鐨勬暟鎹紝鐢ㄤ簬adapter鐨剅emove鎿嶄綔
+
public TourismActivityViewModel(@NonNull Application application) {
super(application);
@@ -29,8 +50,203 @@
return DataRepository.getInstance();
}
+ /**
+ * 鑾峰彇鏁版嵁
+ */
+ public void getTourism() {
+ if (getRequestBeanLiveData().getValue() == null){
+ getRequestBeanLiveData().setValue(new TourismRequestBean());
+ }
+ getRequestBeanLiveData().getValue().setPageNum(1);
+ model.getTourism(getRequestBeanLiveData().getValue().toMap())
+ .compose(RxUtils.schedulersTransformer())
+ .subscribe(new Observer<ResultData<PageResponseBean<TourismBean>>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<PageResponseBean<TourismBean>> 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() {
+
+ }
+ });
+ }
+ /**
+ * 鍔犺浇鏇村
+ */
+ public void getMoreTourism() {
+ if (getRequestBeanLiveData().getValue() == null){
+ getRequestBeanLiveData().setValue(new TourismRequestBean());
+ }
+ getRequestBeanLiveData().getValue().setPageNum(getRequestBeanLiveData().getValue().getPageNum() + 1);
+ model.getTourism(getRequestBeanLiveData().getValue().toMap())
+ .compose(RxUtils.schedulersTransformer())
+ .doFinally(new Action() {
+ @Override
+ public void run() throws Exception {
+ changeStateView(StateViewEnum.DATA_FINISH);
+ }
+ })
+ .subscribe(new Observer<ResultData<PageResponseBean<TourismBean>>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<PageResponseBean<TourismBean>> 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());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+ /**
+ * 鍒犻櫎
+ */
+ public void deleteCheckList() {
+ List<TourismBean> deleteList = getCheckListLiveData().getValue();
+ if (deleteList == null){
+ return;
+ }
+ StringBuffer sb = new StringBuffer();
+ deleteList.forEach(TourismBean -> sb.append(TourismBean.getId()).append(","));
+ sb.deleteCharAt(sb.length()-1);
+ model.deleteTourism(sb.toString())
+ .compose(RxUtils.schedulersTransformer())
+ .subscribe(new Observer<ResultData<String>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<String> stringResultData) {
+ if (stringResultData.getCode() == CODE_SUCCESS){
+ messageLiveData.postValue("鍒犻櫎鎴愬姛");
+ finishDeleteListLiveData.postValue(checkListLiveData.getValue());
+ getCheckListLiveData().postValue(new ArrayList<>());
+ }else {
+ messageLiveData.postValue(stringResultData.getMsg());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+ /**
+ * 鍒犻櫎鍗曚釜鏁版嵁
+ */
+ public void deleteItem(TourismBean bean) {
+ model.deleteTourism(String.valueOf(bean.getId()))
+ .compose(RxUtils.schedulersTransformer())
+ .subscribe(new Observer<ResultData<String>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<String> stringResultData) {
+ if (stringResultData.getCode() == CODE_SUCCESS){
+ List<TourismBean> list = new ArrayList<>();
+ list.add(bean);
+ finishDeleteListLiveData.postValue(list);
+ messageLiveData.postValue("鍒犻櫎鎴愬姛");
+ }else {
+ messageLiveData.postValue(stringResultData.getMsg());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+
+ public MutableLiveData<List<TourismBean>> getCheckListLiveData() {
+ if (checkListLiveData==null){
+ checkListLiveData = new MutableLiveData<>();
+ checkListLiveData.postValue(new ArrayList<>());
+ }
+ if (checkListLiveData.getValue() == null){
+ checkListLiveData.postValue(new ArrayList<>());
+ }
+ return checkListLiveData;
+ }
+
+ public void setCheckListLiveData(MutableLiveData<List<TourismBean>> checkListLiveData) {
+ this.checkListLiveData = checkListLiveData;
+ }
+
+ @NonNull
+ public MutableLiveData<TourismRequestBean> getRequestBeanLiveData() {
+ if (requestBeanLiveData == null){
+ requestBeanLiveData = new MutableLiveData<>();
+ }
+ if (requestBeanLiveData.getValue() == null){
+ requestBeanLiveData.setValue(new TourismRequestBean());
+ }
+ return requestBeanLiveData;
+ }
+
+ public void setRequestBeanLiveData(MutableLiveData<TourismRequestBean> requestBeanLiveData) {
+ this.requestBeanLiveData = requestBeanLiveData;
+ }
+
public MutableLiveData<List<TourismBean>> getDataListLiveData() {
- if (dataListLiveData == null) {
+ if (dataListLiveData == null){
dataListLiveData = new MutableLiveData<>();
}
return dataListLiveData;
@@ -40,17 +256,92 @@
this.dataListLiveData = dataListLiveData;
}
- /**
- * 鑾峰彇骞村害鍋ュ悍鎯呭喌
- */
- public void getTourism() {
- List<TourismBean> beans = new ArrayList<>();
- for (int i = 0; i < 10; i++) {
- TourismBean bean = new TourismBean();
-
- beans.add(bean);
+ @NonNull
+ public MutableLiveData<List<TourismBean>> getMoreListLiveData() {
+ if (moreListLiveData == null){
+ moreListLiveData = new MutableLiveData<>();
}
- dataListLiveData.setValue(beans);
+ return moreListLiveData;
}
+ public void setMoreListLiveData(MutableLiveData<List<TourismBean>> moreListLiveData) {
+ this.moreListLiveData = moreListLiveData;
+ }
+
+ @NonNull
+ public MutableLiveData<Integer> getOperateTypeLiveData() {
+ if (operateTypeLiveData == null){
+ operateTypeLiveData = new MutableLiveData<>();
+ operateTypeLiveData.setValue(0);
+ }
+ return operateTypeLiveData;
+ }
+
+ public void setOperateTypeLiveData(MutableLiveData<Integer> operateTypeLiveData) {
+ this.operateTypeLiveData = operateTypeLiveData;
+ }
+
+ public LiveData<List<TourismBean>> getFinishDeleteListLiveData() {
+ if (finishDeleteListLiveData == null){
+ finishDeleteListLiveData = new MutableLiveData<>();
+ }
+ return finishDeleteListLiveData;
+ }
+
+ public void setFinishDeleteListLiveData(MutableLiveData<List<TourismBean>> finishDeleteListLiveData) {
+ this.finishDeleteListLiveData = finishDeleteListLiveData;
+ }
+
+ /**
+ * 鏀瑰彉鎺掑簭
+ * @param b true 闄嶅簭 false 鍗囧簭
+ */
+ public void changeOrder(boolean b) {
+ List<TourismBean> list = getDataListLiveData().getValue();
+ if (list == null || list.isEmpty()){
+ return;
+ }
+ if (b) {
+ // 浠庢柊鍒版棫锛宯ull鎺掓渶鍚�
+ list.sort((o1, o2) -> {
+ String happenTime1 = o1.getStartTime();
+ String happenTime2 = o2.getStartTime();
+ if (TextUtils.isEmpty(happenTime1) && TextUtils.isEmpty(happenTime2)) {
+ return 0;
+ } else if (TextUtils.isEmpty(happenTime1)) {
+ return 1;
+ } else if (TextUtils.isEmpty(happenTime2)) {
+ return -1;
+ } else {
+ Date date1 = Utils.parseDate(happenTime1);
+ Date date2 = Utils.parseDate(happenTime2);
+ if (date1 != null && date2 != null) {
+ return date2.compareTo(date1);
+ }
+ return 0;
+ }
+ });
+ } else {
+ // 浠庢棫鍒版柊锛宯ull鎺掓渶鍓�
+ list.sort((o1, o2) -> {
+ String happenTime1 = o1.getStartTime();
+ String happenTime2 = o2.getStartTime();
+ if (TextUtils.isEmpty(happenTime1) && TextUtils.isEmpty(happenTime2)) {
+ return 0;
+ } else if (TextUtils.isEmpty(happenTime1)) {
+ return -1;
+ } else if (TextUtils.isEmpty(happenTime2)) {
+ return 1;
+ } else {
+ Date date1 = Utils.parseDate(happenTime1);
+ Date date2 = Utils.parseDate(happenTime2);
+ if (date1 != null && date2 != null) {
+ return date1.compareTo(date2);
+ }
+ return 0;
+ }
+ });
+ }
+ getDataListLiveData().setValue(list);
+ }
}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/TourismDetailActivity.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/TourismDetailActivity.java
index 73e398f..f5f11a6 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/ui/function/TourismDetailActivity.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/TourismDetailActivity.java
@@ -1,26 +1,40 @@
package com.application.zhangshi_app_android.ui.function;
+
+import android.text.TextUtils;
import android.view.View;
import android.view.ViewGroup;
import android.widget.EditText;
+import android.widget.PopupWindow;
-import androidx.recyclerview.widget.GridLayoutManager;
-
+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.utils.ScreenSizeUtils;
+import com.android.app_base.utils.Utils;
+import com.android.app_base.utils.rxbus.MessageEvent;
+import com.android.app_base.utils.rxbus.RxBus;
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.DailyConsumeRecordRvAdapter;
-import com.application.zhangshi_app_android.adapter.ImageRvAdapter;
-import com.application.zhangshi_app_android.bean.PrivacyBean;
+import com.application.zhangshi_app_android.bean.ConsumeRecordBean;
+import com.application.zhangshi_app_android.bean.DailyConsumeRecordBean;
import com.application.zhangshi_app_android.bean.TourismBean;
-import com.application.zhangshi_app_android.databinding.ActivityPrivacyDetailBinding;
import com.application.zhangshi_app_android.databinding.ActivityTourismDetailBinding;
import com.application.zhangshi_app_android.ui.DLBaseActivity;
+import com.github.gzuliyujiang.wheelpicker.DatePicker;
+import com.github.gzuliyujiang.wheelpicker.annotation.DateMode;
+import com.github.gzuliyujiang.wheelpicker.contract.OnDatePickedListener;
+import java.math.BigDecimal;
import java.util.ArrayList;
-import java.util.Arrays;
+import java.util.Calendar;
+import java.util.HashSet;
import java.util.List;
+import java.util.Set;
+
+import io.reactivex.functions.Consumer;
/**
* @author Ljj
@@ -28,7 +42,8 @@
* @desc
*/
public class TourismDetailActivity extends DLBaseActivity<ActivityTourismDetailBinding,TourismDetailActivityViewModel> {
-
+ private int type;// 0 鏌ョ湅鍙慨鏀瑰垹闄� 1 鏂板 2 鐩存帴淇敼
+ private PopupWindow popupWindow;
private DailyConsumeRecordRvAdapter adapter;
@Override
@@ -43,19 +58,135 @@
@Override
public void initParam() {
- if (getIntent().hasExtra("bean")){
- viewModel.getBeanLiveData().setValue((TourismBean) getIntent().getSerializableExtra("bean"));
+ type = getIntent().getIntExtra(BaseConfig.EXTRA_TYPE,0);
+ if (type == 0 || type == 2){
+ TourismBean bean = (TourismBean) getIntent().getSerializableExtra("bean");
+ if (bean != null){
+ viewModel.getBeanLiveData().setValue(bean);
+ }
}
}
@Override
public void initView() {
- adapter = new DailyConsumeRecordRvAdapter(this);
+ adapter = new DailyConsumeRecordRvAdapter(this,viewModel);
LinearItemDecoration itemDecoration = new LinearItemDecoration();
itemDecoration.setBottomSpace(ScreenSizeUtils.dip2px(this,20));
binding.rvDailyConsumeRecord.addItemDecoration(itemDecoration);
binding.rvDailyConsumeRecord.setNestedScrollingEnabled(false);
- setIsEdited(false);
+ binding.rvDailyConsumeRecord.setAdapter(adapter);
+
+ if (type == 1){
+ viewModel.getTypeLiveData().setValue(true);
+ binding.titleBar.setTitle("鏂板鏃呮父璐圭敤璁板綍");
+ }else if (type == 0){
+ popupWindow = initPopUpWindow(View.inflate(this,R.layout.pop_operate_delete,null));
+ popupWindow.getContentView().findViewById(R.id.tv_modify).setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ viewModel.getTypeLiveData().setValue(true);
+ popupWindow.dismiss();
+ }
+ });
+ popupWindow.getContentView().findViewById(R.id.tv_delete).setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ popupWindow.dismiss();
+ new UIDialog.Builder(getSelfActivity())
+ .setTitle("鎮ㄧ‘瀹氳鍒犻櫎椤圭洰鍚�")
+ .setContent("椤圭洰鍒犻櫎鍚庡皢鏃犳硶鎭㈠")
+ .setConfirm("纭畾")
+ .setCancel("鍙栨秷")
+ .setListener(new UIDialog.OnListener() {
+ @Override
+ public void onConfirm(BaseDialog dialog) {
+ viewModel.delete();
+ }
+ })
+ .show();
+ }
+ });
+ viewModel.getTypeLiveData().setValue(false);
+ }else if (type == 2){
+ viewModel.getTypeLiveData().setValue(true);
+ }
+
+ binding.etStartTime.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ DatePicker datePicker = getDatePicker();
+ datePicker.setTitle("閫夋嫨寮�濮嬫椂闂�");
+ datePicker.setOnDatePickedListener(new OnDatePickedListener() {
+ @Override
+ public void onDatePicked(int year, int month, int day) {
+ //浠yyy-MM-dd鐨勬牸寮忔樉绀猴紝鏈堟棩灏忎簬10鏃跺墠闈㈣ˉ0
+ binding.etStartTime.setText(String.format("%d-%02d-%02d", year, month, day));
+ String startTime = binding.etStartTime.getText().toString();
+ String endTime = binding.etEndTime.getText().toString();
+ if (TextUtils.isEmpty(endTime)){
+ binding.etEndTime.setText(String.format("%d-%02d-%02d", year, month, day));
+ endTime = binding.etEndTime.getText().toString();
+ }else {
+ //姣旇緝寮�濮嬫椂闂村拰缁撴潫鏃堕棿鐨勫ぇ灏�
+ if (Utils.compareDate(startTime,endTime) > 0){
+ //浜ゆ崲
+ binding.etStartTime.setText(endTime);
+ binding.etEndTime.setText(startTime);
+ }
+ }
+ binding.etStartTime.clearFocus();
+ }
+ });
+ datePicker.show();
+ }
+ });
+ binding.etEndTime.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ DatePicker datePicker = getDatePicker();
+ datePicker.setTitle("閫夋嫨缁撴潫鏃堕棿");
+ datePicker.setOnDatePickedListener(new OnDatePickedListener() {
+ @Override
+ public void onDatePicked(int year, int month, int day) {
+ binding.etEndTime.setText(String.format("%d-%02d-%02d", year, month , day));
+ String startTime = binding.etStartTime.getText().toString();
+ String endTime = binding.etEndTime.getText().toString();
+ if (TextUtils.isEmpty(startTime)){
+ binding.etStartTime.setText(String.format("%d-%02d-%02d", year, month, day));
+ startTime = binding.etStartTime.getText().toString();
+ }else {
+ //姣旇緝寮�濮嬫椂闂村拰缁撴潫鏃堕棿鐨勫ぇ灏�
+ if (Utils.compareDate(startTime,endTime) > 0){
+ //浜ゆ崲
+ binding.etStartTime.setText(endTime);
+ binding.etEndTime.setText(startTime);
+ }
+ }
+ binding.etEndTime.clearFocus();
+ }
+ });
+ datePicker.show();
+
+ }
+ });
+ binding.ivAddDailyConsumeRecord.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ DatePicker datePicker = getDatePicker();
+ datePicker.setTitle("閫夋嫨娑堣垂鏃ユ湡");
+ datePicker.getWheelLayout().setDateMode(DateMode.MONTH_DAY);
+ datePicker.setOnDatePickedListener(new OnDatePickedListener() {
+ @Override
+ public void onDatePicked(int year, int month, int day) {
+ DailyConsumeRecordBean dailyConsumeRecordBean = new DailyConsumeRecordBean();
+ dailyConsumeRecordBean.setDate(month+"鏈�"+day+"鏃�");
+ adapter.addItem(0,dailyConsumeRecordBean);
+ adapter.setFold(true,0);
+ }
+ });
+ datePicker.show();
+ }
+ });
}
@Override
@@ -67,27 +198,115 @@
public void initLiveDataObserve() {
viewModel.getBeanLiveData().observe(this,bean -> {
if (bean!=null){
- adapter.setData(bean.getDailyConsumeRecordBeans());
+ if (bean.getDetailList()==null){
+ return;
+ }
+ //鏍规嵁鏃堕棿鍒嗙粍
+ Set<String> set = new HashSet<>();
+ for (ConsumeRecordBean consumeRecordBean : bean.getDetailList()) {
+ set.add(consumeRecordBean.getHappenTime());
+ }
+ List<DailyConsumeRecordBean> list = new ArrayList<>();
+ for (String s : set) {
+ DailyConsumeRecordBean dailyConsumeRecordBean = new DailyConsumeRecordBean();
+ dailyConsumeRecordBean.setDate(s);
+ List<ConsumeRecordBean> consumeRecordBeans = new ArrayList<>();
+ for (ConsumeRecordBean consumeRecordBean : bean.getDetailList()) {
+ if (s.equals(consumeRecordBean.getHappenTime())){
+ consumeRecordBeans.add(consumeRecordBean);
+ dailyConsumeRecordBean.setDailyMoney(consumeRecordBean.getDayCost());
+ }
+ }
+ dailyConsumeRecordBean.setConsumeRecordBeans(consumeRecordBeans);
+ list.add(dailyConsumeRecordBean);
+ }
+ adapter.setData(list);
}
});
- }
-
- public void setIsEdited(boolean isEdited){
- disableAllEditText(getContentView(),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();
+ viewModel.getTypeLiveData().observe(this,operateType -> {
+ if (operateType){
+ if (type == 1) {
+ binding.ivOperate.setOnClickListener(v -> {
+ if (adapter.getData() != null){
+ List<ConsumeRecordBean> list = new ArrayList<>();
+ for (DailyConsumeRecordBean bean : adapter.getData()) {
+ if (bean.getConsumeRecordBeans() != null){
+ for (ConsumeRecordBean consumeRecordBean : bean.getConsumeRecordBeans()) {
+ consumeRecordBean.setHappenTime(bean.getDate());
+ }
+ list.addAll(bean.getConsumeRecordBeans());
+ }
+ }
+ if (viewModel.getBeanLiveData().getValue() == null){
+ return;
+ }
+ viewModel.getBeanLiveData().getValue().setDetailList(list);
+ }
+ viewModel.add();
+ });
+ }else {
+ binding.ivOperate.setOnClickListener(v -> {
+ if (adapter.getData() != null){
+ List<ConsumeRecordBean> list = new ArrayList<>();
+ for (DailyConsumeRecordBean bean : adapter.getData()) {
+ if (bean.getConsumeRecordBeans() != null){
+ for (ConsumeRecordBean consumeRecordBean : bean.getConsumeRecordBeans()) {
+ consumeRecordBean.setHappenTime(bean.getDate());
+ }
+ list.addAll(bean.getConsumeRecordBeans());
+ }
+ }
+ if (viewModel.getBeanLiveData().getValue() == null){
+ return;
+ }
+ viewModel.getBeanLiveData().getValue().setDetailList(list);
+ }
+ viewModel.update();
+ });
}
+ }else {
+ binding.ivOperate.setOnClickListener(v -> {
+ popupWindow.showAsDropDown(binding.ivOperate,-ScreenSizeUtils.dip2px(this,85) +binding.ivOperate.getWidth(),0);
+ });
}
- }
+ });
+ RxBus.getInstance().toObservable(this, MessageEvent.class)
+ .subscribe(messageEvent -> {
+ if (messageEvent.getMessageEventCode() == MessageEvent.EVENT_TOURISM_CONSUME_CHANGE){
+ if (adapter.getItemCount() == 0 || adapter.getData() == null){
+ binding.etTotalCost.setText("0");
+ binding.etTotalCost1.setText("0");
+ binding.etTraffic.setText("0");
+ binding.etStay.setText("0");
+ binding.etShopping.setText("0");
+ binding.etEntrance.setText("0");
+ binding.etEat.setText("0");
+ return;
+ }
+ Set<String> dateSet = new HashSet<>();
+ double totalCost = 0,traffic = 0,stay = 0,shopping = 0,entrance = 0,eat = 0;
+ for (DailyConsumeRecordBean dailyConsumeRecordBean : adapter.getData()) {
+ dateSet.add(dailyConsumeRecordBean.getDate());
+ totalCost += dailyConsumeRecordBean.getDailyMoney();
+ if (dailyConsumeRecordBean.getConsumeRecordBeans() != null){
+ for (ConsumeRecordBean consumeRecordBean : dailyConsumeRecordBean.getConsumeRecordBeans()){
+ traffic += consumeRecordBean.getTraffic();
+ stay += consumeRecordBean.getStay();
+ shopping += consumeRecordBean.getShopping();
+ entrance += consumeRecordBean.getEntrance();
+ eat += consumeRecordBean.getEat();
+ }
+ }
+ }
+ binding.etTotalCost.setText(BigDecimal.valueOf(totalCost).stripTrailingZeros().toPlainString());
+ binding.etTotalCost1.setText(BigDecimal.valueOf(totalCost).stripTrailingZeros().toPlainString());
+ binding.etTraffic.setText(BigDecimal.valueOf(traffic).stripTrailingZeros().toPlainString());
+ binding.etStay.setText(BigDecimal.valueOf(stay).stripTrailingZeros().toPlainString());
+ binding.etShopping.setText(BigDecimal.valueOf(shopping).stripTrailingZeros().toPlainString());
+ binding.etEntrance.setText(BigDecimal.valueOf(entrance).stripTrailingZeros().toPlainString());
+ binding.etEat.setText(BigDecimal.valueOf(eat).stripTrailingZeros().toPlainString());
+ binding.etTotalDay.setText(dateSet.size()+"");
+ }
+ });
}
}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/TourismDetailActivityViewModel.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/TourismDetailActivityViewModel.java
index d2d4af2..9fdf082 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/ui/function/TourismDetailActivityViewModel.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/TourismDetailActivityViewModel.java
@@ -1,14 +1,27 @@
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.viewmodel.BaseViewModel;
-import com.application.zhangshi_app_android.bean.PrivacyBean;
+import com.android.app_base.http.ResultData;
+import com.android.app_base.manager.AppManager;
+import com.android.app_base.utils.RxUtils;
+import com.android.app_base.utils.rxbus.RxBus;
import com.application.zhangshi_app_android.bean.TourismBean;
import com.application.zhangshi_app_android.data.DataRepository;
+
+import java.io.File;
+
+import io.reactivex.Observer;
+import io.reactivex.disposables.Disposable;
+import okhttp3.MediaType;
+import okhttp3.MultipartBody;
+import okhttp3.RequestBody;
/**
* @author Ljj
@@ -18,6 +31,8 @@
public class TourismDetailActivityViewModel extends BaseViewModel<DataRepository> {
private MutableLiveData<TourismBean> beanLiveData;
+ private MutableLiveData<Boolean> typeLiveData;//true 缂栬緫鐘舵�� false 灞曠ず鐘舵��
+
public TourismDetailActivityViewModel(@NonNull Application application) {
super(application);
@@ -29,14 +44,134 @@
}
+ /**
+ * 澧炲姞
+ */
+ public void add() {
+ model.addTourism(beanLiveData.getValue())
+ .compose(RxUtils.schedulersTransformer())
+ .subscribe(new Observer<ResultData<String>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<String> stringResultData) {
+ if (stringResultData.getCode() == CODE_SUCCESS){
+ AppManager.getAppManager().finishCurrentActivity();
+ RxBus.getInstance().post(beanLiveData.getValue());
+ messageLiveData.postValue("娣诲姞鎴愬姛");
+ }else {
+ if (stringResultData.getMsg() != null){
+ messageLiveData.postValue(stringResultData.getMsg());
+ }
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+ /**
+ * 鍒犻櫎
+ */
+ public void delete() {
+ model.deleteTourism(String.valueOf(beanLiveData.getValue().getId()))
+ .compose(RxUtils.schedulersTransformer())
+ .subscribe(new Observer<ResultData<String>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<String> stringResultData) {
+ if (stringResultData.getCode() == CODE_SUCCESS){
+ AppManager.getAppManager().finishCurrentActivity();
+ RxBus.getInstance().post(beanLiveData.getValue());
+ messageLiveData.postValue("鍒犻櫎鎴愬姛");
+ }else {
+ messageLiveData.postValue(stringResultData.getMsg());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+ /**
+ * 缂栬緫
+ */
+ public void update() {
+ model.updateTourism(beanLiveData.getValue())
+ .compose(RxUtils.schedulersTransformer())
+ .subscribe(new Observer<ResultData<String>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<String> stringResultData) {
+ if (stringResultData.getCode() == CODE_SUCCESS){
+ AppManager.getAppManager().finishCurrentActivity();
+ RxBus.getInstance().post(beanLiveData.getValue());
+ messageLiveData.postValue("淇敼鎴愬姛");
+ }else {
+ messageLiveData.postValue(stringResultData.getMsg());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+
public MutableLiveData<TourismBean> getBeanLiveData() {
- if (beanLiveData == null) {
+ if (beanLiveData == null){
beanLiveData = new MutableLiveData<>();
+ }
+ if (beanLiveData.getValue() == null){
+ beanLiveData.setValue(new TourismBean());
}
return beanLiveData;
}
- public void setBeanLiveData(MutableLiveData<TourismBean> beanLiveData) {
- this.beanLiveData = beanLiveData;
+ public void setBeanLiveData(MutableLiveData<TourismBean> beanMutableLiveData) {
+ this.beanLiveData = beanMutableLiveData;
}
+
+ public MutableLiveData<Boolean> getTypeLiveData() {
+ if (typeLiveData == null){
+ typeLiveData = new MutableLiveData<>();
+ }
+ return typeLiveData;
+ }
+
+ public void setTypeLiveData(MutableLiveData<Boolean> typeLiveData) {
+ this.typeLiveData = typeLiveData;
+ }
+
}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/TourismExperienceActivity.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/TourismExperienceActivity.java
index c519845..e2aa893 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/ui/function/TourismExperienceActivity.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/TourismExperienceActivity.java
@@ -1,13 +1,30 @@
package com.application.zhangshi_app_android.ui.function;
+import android.content.Intent;
+import android.text.Editable;
+import android.text.TextUtils;
+import android.text.TextWatcher;
+import android.view.MotionEvent;
+import android.view.View;
+import android.widget.PopupWindow;
+
+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.manager.AppManager;
+import com.android.app_base.utils.ScreenSizeUtils;
+import com.android.app_base.utils.Utils;
+import com.android.app_base.utils.rxbus.RxBus;
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.adapter.TourismExperienceRvAdapter;
import com.application.zhangshi_app_android.bean.TourismExperienceBean;
import com.application.zhangshi_app_android.databinding.ActivityTourismExperienceBinding;
import com.application.zhangshi_app_android.ui.DLBaseActivity;
+import com.github.gzuliyujiang.wheelpicker.DatePicker;
+import com.github.gzuliyujiang.wheelpicker.contract.OnDatePickedListener;
+import com.hjq.bar.TitleBar;
/**
* @author Ljj
@@ -16,7 +33,9 @@
*/
public class TourismExperienceActivity extends DLBaseActivity<ActivityTourismExperienceBinding,TourismExperienceActivityViewModel> {
private TourismExperienceRvAdapter adapter;
-
+ private boolean isSearchLayoutVisible;
+ private PopupWindow mOperatePopupWindow;
+ private String fid;
@Override
public int getLayoutId() {
return R.layout.activity_tourism_experience;
@@ -30,23 +49,170 @@
@Override
public void initParam() {
-
+ fid = getIntent().getStringExtra("id");
+ viewModel.getRequestBeanLiveData().getValue().setFid(fid);
}
@Override
public void initView() {
- adapter = new TourismExperienceRvAdapter(this);
+ //涓嬫媺鍒锋柊甯冨眬
+ binding.refreshLayout.setEnableRefresh(false);
+ binding.refreshLayout.setEnableLoadMore(true);
+ binding.refreshLayout.setEnableOverScrollDrag(true);
+ binding.refreshLayout.setOnLoadMoreListener(refreshLayout -> {
+ viewModel.getMoreTourismExperience();
+ });
+ //recyclerView閫傞厤鍣�
+ adapter = new TourismExperienceRvAdapter(this,viewModel);
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);
+ //鍙充笂瑙掓搷浣滃脊绐�
+ mOperatePopupWindow = initPopUpWindow(View.inflate(this,R.layout.pop_operate,null));
+ setOnClickListener(
+ mOperatePopupWindow.getContentView().findViewById(R.id.tv_add),
+ mOperatePopupWindow.getContentView().findViewById(R.id.tv_select),
+ mOperatePopupWindow.getContentView().findViewById(R.id.tv_from_new_to_old),
+ mOperatePopupWindow.getContentView().findViewById(R.id.tv_from_old_to_new)
+ );
+ //鐐瑰嚮鏀惧ぇ闀滄寜閽樉绀哄嚭鎼滅储妗�
+ binding.ivSearchDefault.setOnClickListener(v -> {
+ binding.layoutSearch.setVisibility(View.VISIBLE);
+ binding.layoutDefault.setVisibility(View.GONE);
+ });
+ //鐐瑰嚮鎼滅储妗嗚彍鍗曚笅鎷夊嚭 鎼滅储鍙傛暟
+ binding.ivSearchType.setOnClickListener(v -> {
+ if (!isSearchLayoutVisible){
+ binding.layoutSearchParameter.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED);
+ int targetHeight = binding.layoutSearchParameter.getMeasuredHeight();
+ Utils.dropExpand(binding.containerSearchParameter,0,targetHeight);
+ isSearchLayoutVisible = true;
+ }
+ });
+ //鎼滅储鍙傛暟layout娣诲姞绌虹偣鍑讳簨浠讹紝闃叉鐐瑰嚮瀹冨唴閮╲iew鏃跺畠鍚庨潰鐨剅ecycler杩樿兘鍝嶅簲鐐瑰嚮浜嬩欢
+ binding.layoutSearchParameter.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ }
+ });
+ //鐐瑰嚮鎼滅储鎸夐挳杩涜鎼滅储
+ binding.ivSearch.setOnClickListener(v -> {
+ viewModel.getTourismExperience();
+ binding.layoutSearch.setVisibility(View.GONE);
+ binding.layoutDefault.setVisibility(View.VISIBLE);
+ binding.tvTitle.setText("鎼滅储缁撴灉");
+ hideSoftKeyboard();
+ });
+ //鐐瑰嚮娣诲姞鎸夐挳璺宠浆鍒板垱寤哄澶т簨璁伴〉闈�
+ binding.fabAdd.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ AppManager.getAppManager().startActivity(new Intent(getSelfActivity(), TourismExperienceDetailActivity.class).putExtra(BaseConfig.EXTRA_TYPE,1).putExtra("fid",fid));
+ }
+ });
+ binding.etStartTime.addTextChangedListener(new TextWatcher() {
+ @Override
+ public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+ }
+
+ @Override
+ public void onTextChanged(CharSequence s, int start, int before, int count) {
+ if (!TextUtils.isEmpty(s)) {
+ binding.ivTimeClear.setVisibility(View.VISIBLE);
+ } else {
+ if (TextUtils.isEmpty(binding.etEndTime.getText().toString())) {
+ binding.ivTimeClear.setVisibility(View.INVISIBLE);
+ }
+ }
+ }
+
+ @Override
+ public void afterTextChanged(Editable s) {
+
+ }
+ });
+ binding.etEndTime.addTextChangedListener(new TextWatcher() {
+ @Override
+ public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+ }
+
+ @Override
+ public void onTextChanged(CharSequence s, int start, int before, int count) {
+ if (!TextUtils.isEmpty(s)) {
+ binding.ivTimeClear.setVisibility(View.VISIBLE);
+ } else {
+ if (TextUtils.isEmpty(binding.etStartTime.getText().toString())) {
+ binding.ivTimeClear.setVisibility(View.INVISIBLE);
+ }
+ }
+ }
+
+ @Override
+ public void afterTextChanged(Editable s) {
+
+ }
+ });
+ binding.etStartTime.setOnClickListener(v -> {
+ hideSoftKeyboard();
+ DatePicker datePicker = getDatePicker();
+ datePicker.setTitle("璇烽�夋嫨寮�濮嬫椂闂�");
+ datePicker.setOnDatePickedListener(new OnDatePickedListener() {
+ @Override
+ public void onDatePicked(int year, int month, int day) {
+ //浠yyy-MM-dd鐨勬牸寮忔樉绀猴紝鏈堟棩灏忎簬10鏃跺墠闈㈣ˉ0
+ binding.etStartTime.setText(String.format("%d-%02d-%02d", year, month, day));
+ if (binding.etEndTime.getText().toString().isEmpty()){
+ binding.etEndTime.setText(String.format("%d-%02d-%02d", year, month, day));
+ }else {
+ //姣旇緝寮�濮嬫椂闂村拰缁撴潫鏃堕棿鐨勫ぇ灏�
+ String startTime = binding.etStartTime.getText().toString();
+ String endTime = binding.etEndTime.getText().toString();
+ if (Utils.compareDate(startTime,endTime) > 0){
+ //浜ゆ崲
+ binding.etStartTime.setText(endTime);
+ binding.etEndTime.setText(startTime);
+ }
+ }
+ }
+ });
+ datePicker.show();
+ });
+ binding.etEndTime.setOnClickListener(v -> {
+ hideSoftKeyboard();
+ DatePicker datePicker = getDatePicker();
+ datePicker.setTitle("璇烽�夋嫨缁撴潫鏃堕棿");
+ datePicker.setOnDatePickedListener(new OnDatePickedListener() {
+ @Override
+ public void onDatePicked(int year, int month, int day) {
+ binding.etEndTime.setText(String.format("%d-%02d-%02d", year, month, day));
+ if (binding.etStartTime.getText().toString().isEmpty()){
+ binding.etStartTime.setText(String.format("%d-%02d-%02d", year, month, day));
+ }else {
+ //姣旇緝寮�濮嬫椂闂村拰缁撴潫鏃堕棿鐨勫ぇ灏�
+ String startTime = binding.etStartTime.getText().toString();
+ String endTime = binding.etEndTime.getText().toString();
+ if (Utils.compareDate(startTime,endTime) > 0){
+ //浜ゆ崲
+ binding.etStartTime.setText(endTime);
+ binding.etEndTime.setText(startTime);
+ }
+ }
+ }
+ });
+ datePicker.show();
+ });
+ binding.ivTimeClear.setOnClickListener(v -> {
+ binding.etStartTime.setText("");
+ binding.etEndTime.setText("");
+ });
}
@Override
public void initData() {
- viewModel.getTourismExperienceData();
+ viewModel.getTourismExperience();
}
@Override
@@ -54,5 +220,126 @@
viewModel.getDataListLiveData().observe(this, dataList -> {
adapter.setData(dataList);
});
+ viewModel.getCheckListLiveData().observe(this, checkList -> {
+ if (0 == viewModel.getOperateTypeLiveData().getValue()){
+ return;
+ }
+ if (checkList.isEmpty()){
+ viewModel.getOperateTypeLiveData().setValue(1);
+ }else{
+ viewModel.getOperateTypeLiveData().setValue(2);
+ }
+ });
+ viewModel.getMoreListLiveData().observe(this, moreList -> {
+ adapter.addData(moreList);
+ });
+ viewModel.getOperateTypeLiveData().observe(this, integer -> {
+ if (integer == 0){
+ binding.ivOperate.setBackgroundResource(R.drawable.ic_operate);
+ binding.ivOperate.setOnClickListener(v -> {
+ mOperatePopupWindow.showAsDropDown(binding.ivOperate,-ScreenSizeUtils.dip2px(this,85) +binding.ivOperate.getWidth(),0);
+ });
+ adapter.setCheckable(false);
+ }else if (integer == 1){
+ binding.ivOperate.setBackgroundResource(R.drawable.ic_operate_finish);
+ binding.ivOperate.setOnClickListener(v -> {
+ viewModel.getOperateTypeLiveData().postValue(0);
+ });
+ adapter.setCheckable(true);
+ }else if (integer == 2){
+ binding.ivOperate.setBackgroundResource(R.drawable.ic_delete_white);
+ binding.ivOperate.setOnClickListener(v -> {
+ new UIDialog.Builder(this)
+ .setTitle("鎮ㄧ‘瀹氳鍒犻櫎閫変腑鐨勯」鐩悧")
+ .setContent("椤圭洰鍒犻櫎鍚庡皢鏃犳硶鎭㈠")
+ .setConfirm("纭畾")
+ .setCancel("鍙栨秷")
+ .setListener(new UIDialog.OnListener() {
+ @Override
+ public void onConfirm(BaseDialog dialog) {
+ viewModel.deleteCheckList();
+ }
+ })
+ .show();
+ });
+ }
+ });
+
+ viewModel.getFinishDeleteListLiveData().observe(this, beans -> {
+ for (TourismExperienceBean bean : beans) {
+ adapter.removeItem(bean);
+ }
+ });
+
+ //瑙傚療鏁版嵁鐨勫彉鍖栵紝鏈夊彉鍖栧寘鎷坊鍔犮�佷慨鏀广�佸垹闄ら兘浼氬彂閫佹秷鎭紝鎺ユ敹鍒版秷鎭悗閲嶆柊鑾峰彇鏁版嵁杩涜鍒锋柊
+ RxBus.getInstance().toObservable(this, TourismExperienceBean.class)
+ .subscribe(bean -> {
+ viewModel.getTourismExperience();
+ });
+ }
+ @Override
+ protected void dataNull() {
+ super.dataNull();
+ binding.layoutDataNull.setVisibility(View.VISIBLE);
+ binding.refreshLayout.setVisibility(View.GONE);
+ }
+
+ @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
+ public void onClick(View v) {
+ int id = v.getId();
+ if (id == R.id.tv_add){
+ AppManager.getAppManager().startActivity(new Intent(this, TourismExperienceDetailActivity.class).putExtra(BaseConfig.EXTRA_TYPE,1).putExtra("fid",fid));
+ mOperatePopupWindow.dismiss();
+ }else if (id == R.id.tv_select){
+ viewModel.getOperateTypeLiveData().postValue(1);
+ mOperatePopupWindow.dismiss();
+ }else if (id == R.id.tv_from_new_to_old) {
+ viewModel.changeOrder(true);
+ mOperatePopupWindow.dismiss();
+ } else if (id == R.id.tv_from_old_to_new) {
+ viewModel.changeOrder(false);
+ mOperatePopupWindow.dismiss();
+ }
+ }
+
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+ if (mOperatePopupWindow != null){
+ mOperatePopupWindow.dismiss();
+ }
+ }
+
+ @Override
+ public boolean dispatchTouchEvent(MotionEvent event) {
+ float x = event.getX();
+ float y = event.getY();
+ if (isSearchLayoutVisible){
+ if (!Utils.isPointInsideView(x, y, binding.layoutSearchParameter)) {
+ Utils.pullCollapse(binding.containerSearchParameter, binding.layoutSearchParameter.getMeasuredHeight(),0);
+ isSearchLayoutVisible = false;
+ return true;
+ }
+ }
+ return super.dispatchTouchEvent(event);
+ }
+
+ @Override
+ public void onLeftClick(TitleBar titleBar) {
+ finish();
}
}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/TourismExperienceActivityViewModel.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/TourismExperienceActivityViewModel.java
index 593d60c..e65b436 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/ui/function/TourismExperienceActivityViewModel.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/TourismExperienceActivityViewModel.java
@@ -1,16 +1,31 @@
package com.application.zhangshi_app_android.ui.function;
+import static com.android.app_base.base.BaseConfig.CODE_SUCCESS;
+
import android.app.Application;
+import android.text.TextUtils;
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.application.zhangshi_app_android.bean.PropertyBean;
+import com.android.app_base.http.ResultData;
+import com.android.app_base.utils.RxUtils;
+import com.android.app_base.utils.Utils;
+import com.application.zhangshi_app_android.bean.PageResponseBean;
import com.application.zhangshi_app_android.bean.TourismExperienceBean;
+import com.application.zhangshi_app_android.bean.TourismExperienceRequestBean;
import com.application.zhangshi_app_android.data.DataRepository;
+import java.util.ArrayList;
+import java.util.Date;
import java.util.List;
+
+import io.reactivex.Observer;
+import io.reactivex.disposables.Disposable;
+import io.reactivex.functions.Action;
/**
* @author Ljj
@@ -18,7 +33,13 @@
* @desc 鏃呮父缁忓巻 ViewModel
*/
public class TourismExperienceActivityViewModel extends BaseViewModel<DataRepository> {
- private MutableLiveData<List<TourismExperienceBean>> dataListLiveData;
+ private MutableLiveData<List<TourismExperienceBean>> dataListLiveData;//鍒楄〃鏁版嵁
+ private MutableLiveData<List<TourismExperienceBean>> checkListLiveData;//閫変腑鐨勬暟鎹�
+ private MutableLiveData<List<TourismExperienceBean>> moreListLiveData;//涓嬫媺鍔犺浇鏁版嵁
+ private MutableLiveData<TourismExperienceRequestBean> requestBeanLiveData;//璇锋眰鍙傛暟
+ private MutableLiveData<List<TourismExperienceBean>> finishDeleteListLiveData;//宸茬粡瀹屾垚鍒犻櫎鐨勬暟鎹紝鐢ㄤ簬adapter鐨剅emove鎿嶄綔
+ private MutableLiveData<Integer> operateTypeLiveData;//鎿嶄綔绫诲瀷 0 閫夋嫨鎿嶄綔 1.瀹屾垚 2.鍒犻櫎
+
public TourismExperienceActivityViewModel(@NonNull Application application) {
super(application);
}
@@ -29,13 +50,202 @@
}
/**
- * 鑾峰彇鏃呮父缁忓巻鏁版嵁
+ * 鑾峰彇鏁版嵁
*/
- public void getTourismExperienceData() {
+ public void getTourismExperience() {
+ if (getRequestBeanLiveData().getValue() == null){
+ getRequestBeanLiveData().setValue(new TourismExperienceRequestBean());
+ }
+ getRequestBeanLiveData().getValue().setPageNum(1);
+ model.getTourismExperience(getRequestBeanLiveData().getValue().toMap())
+ .compose(RxUtils.schedulersTransformer())
+ .subscribe(new Observer<ResultData<PageResponseBean<TourismExperienceBean>>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<PageResponseBean<TourismExperienceBean>> 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() {
+
+ }
+ });
+ }
+ /**
+ * 鍔犺浇鏇村
+ */
+ public void getMoreTourismExperience() {
+ if (getRequestBeanLiveData().getValue() == null){
+ getRequestBeanLiveData().setValue(new TourismExperienceRequestBean());
+ }
+ getRequestBeanLiveData().getValue().setPageNum(getRequestBeanLiveData().getValue().getPageNum() + 1);
+ model.getTourismExperience(getRequestBeanLiveData().getValue().toMap())
+ .compose(RxUtils.schedulersTransformer())
+ .doFinally(new Action() {
+ @Override
+ public void run() throws Exception {
+ changeStateView(StateViewEnum.DATA_FINISH);
+ }
+ })
+ .subscribe(new Observer<ResultData<PageResponseBean<TourismExperienceBean>>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<PageResponseBean<TourismExperienceBean>> 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());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+ /**
+ * 鍒犻櫎澶氶�夐�変腑鐨勬暟鎹�
+ */
+ public void deleteCheckList() {
+ List<TourismExperienceBean> deleteList = getCheckListLiveData().getValue();
+ if (deleteList == null){
+ return;
+ }
+ StringBuffer sb = new StringBuffer();
+ deleteList.forEach(TourismExperienceBean -> sb.append(TourismExperienceBean.getId()).append(","));
+ sb.deleteCharAt(sb.length()-1);
+ model.deleteTourismExperience(sb.toString())
+ .compose(RxUtils.schedulersTransformer())
+ .subscribe(new Observer<ResultData<String>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<String> stringResultData) {
+ if (stringResultData.getCode() == CODE_SUCCESS){
+ messageLiveData.postValue("鍒犻櫎鎴愬姛");
+ finishDeleteListLiveData.postValue(checkListLiveData.getValue());
+ getCheckListLiveData().postValue(new ArrayList<>());
+ }else {
+ messageLiveData.postValue(stringResultData.getMsg());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+ /**
+ * 鍒犻櫎鍗曚釜鏁版嵁
+ */
+ public void deleteItem(TourismExperienceBean tourismExperienceBean) {
+ model.deleteTourismExperience(String.valueOf(tourismExperienceBean.getId()))
+ .compose(RxUtils.schedulersTransformer())
+ .subscribe(new Observer<ResultData<String>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<String> stringResultData) {
+ if (stringResultData.getCode() == CODE_SUCCESS){
+ List<TourismExperienceBean> list = new ArrayList<>();
+ list.add(tourismExperienceBean);
+ finishDeleteListLiveData.postValue(list);
+ messageLiveData.postValue("鍒犻櫎鎴愬姛");
+ }else {
+ messageLiveData.postValue(stringResultData.getMsg());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+
+ public MutableLiveData<List<TourismExperienceBean>> getCheckListLiveData() {
+ if (checkListLiveData==null){
+ checkListLiveData = new MutableLiveData<>();
+ checkListLiveData.postValue(new ArrayList<>());
+ }
+ if (checkListLiveData.getValue() == null){
+ checkListLiveData.postValue(new ArrayList<>());
+ }
+ return checkListLiveData;
+ }
+
+ public void setCheckListLiveData(MutableLiveData<List<TourismExperienceBean>> checkListLiveData) {
+ this.checkListLiveData = checkListLiveData;
+ }
+
+ @NonNull
+ public MutableLiveData<TourismExperienceRequestBean> getRequestBeanLiveData() {
+ if (requestBeanLiveData == null){
+ requestBeanLiveData = new MutableLiveData<>();
+ }
+ if (requestBeanLiveData.getValue() == null){
+ requestBeanLiveData.setValue(new TourismExperienceRequestBean());
+ }
+ return requestBeanLiveData;
+ }
+
+ public void setRequestBeanLiveData(MutableLiveData<TourismExperienceRequestBean> requestBeanLiveData) {
+ this.requestBeanLiveData = requestBeanLiveData;
}
public MutableLiveData<List<TourismExperienceBean>> getDataListLiveData() {
- if (dataListLiveData == null) {
+ if (dataListLiveData == null){
dataListLiveData = new MutableLiveData<>();
}
return dataListLiveData;
@@ -44,4 +254,93 @@
public void setDataListLiveData(MutableLiveData<List<TourismExperienceBean>> dataListLiveData) {
this.dataListLiveData = dataListLiveData;
}
+
+ @NonNull
+ public MutableLiveData<List<TourismExperienceBean>> getMoreListLiveData() {
+ if (moreListLiveData == null){
+ moreListLiveData = new MutableLiveData<>();
+ }
+ return moreListLiveData;
+ }
+
+ public void setMoreListLiveData(MutableLiveData<List<TourismExperienceBean>> moreListLiveData) {
+ this.moreListLiveData = moreListLiveData;
+ }
+
+ @NonNull
+ public MutableLiveData<Integer> getOperateTypeLiveData() {
+ if (operateTypeLiveData == null){
+ operateTypeLiveData = new MutableLiveData<>();
+ operateTypeLiveData.setValue(0);
+ }
+ return operateTypeLiveData;
+ }
+
+ public void setOperateTypeLiveData(MutableLiveData<Integer> operateTypeLiveData) {
+ this.operateTypeLiveData = operateTypeLiveData;
+ }
+
+ public LiveData<List<TourismExperienceBean>> getFinishDeleteListLiveData() {
+ if (finishDeleteListLiveData == null){
+ finishDeleteListLiveData = new MutableLiveData<>();
+ }
+ return finishDeleteListLiveData;
+ }
+
+ public void setFinishDeleteListLiveData(MutableLiveData<List<TourismExperienceBean>> finishDeleteListLiveData) {
+ this.finishDeleteListLiveData = finishDeleteListLiveData;
+ }
+
+ /**
+ * 鏀瑰彉鎺掑簭
+ * @param b true 闄嶅簭 false 鍗囧簭
+ */
+ public void changeOrder(boolean b) {
+ List<TourismExperienceBean> list = getDataListLiveData().getValue();
+ if (list == null || list.isEmpty()){
+ return;
+ }
+ if (b) {
+ // 浠庢柊鍒版棫锛宯ull鎺掓渶鍚�
+ list.sort((o1, o2) -> {
+ String happenTime1 = o1.getHappenTime();
+ String happenTime2 = o2.getHappenTime();
+ if (TextUtils.isEmpty(happenTime1) && TextUtils.isEmpty(happenTime2)) {
+ return 0;
+ } else if (TextUtils.isEmpty(happenTime1)) {
+ return 1;
+ } else if (TextUtils.isEmpty(happenTime2)) {
+ return -1;
+ } else {
+ Date date1 = Utils.parseDate(happenTime1);
+ Date date2 = Utils.parseDate(happenTime2);
+ if (date1 != null && date2 != null) {
+ return date2.compareTo(date1);
+ }
+ return 0;
+ }
+ });
+ } else {
+ // 浠庢棫鍒版柊锛宯ull鎺掓渶鍓�
+ list.sort((o1, o2) -> {
+ String happenTime1 = o1.getHappenTime();
+ String happenTime2 = o2.getHappenTime();
+ if (TextUtils.isEmpty(happenTime1) && TextUtils.isEmpty(happenTime2)) {
+ return 0;
+ } else if (TextUtils.isEmpty(happenTime1)) {
+ return -1;
+ } else if (TextUtils.isEmpty(happenTime2)) {
+ return 1;
+ } else {
+ Date date1 = Utils.parseDate(happenTime1);
+ Date date2 = Utils.parseDate(happenTime2);
+ if (date1 != null && date2 != null) {
+ return date1.compareTo(date2);
+ }
+ return 0;
+ }
+ });
+ }
+ getDataListLiveData().setValue(list);
+ }
}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/TourismExperienceDetailActivity.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/TourismExperienceDetailActivity.java
index 815848b..c735e7f 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/ui/function/TourismExperienceDetailActivity.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/TourismExperienceDetailActivity.java
@@ -3,21 +3,40 @@
import android.view.View;
import android.view.ViewGroup;
import android.widget.EditText;
+import android.widget.PopupWindow;
import androidx.recyclerview.widget.GridLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+import com.android.app_base.base.BaseConfig;
+import com.android.app_base.base.adapter.BaseRVAdapter;
+import com.android.app_base.base.dialog.BaseDialog;
+import com.android.app_base.base.dialog.UIDialog;
+import com.android.app_base.manager.UserManager;
+import com.android.app_base.utils.ScreenSizeUtils;
+import com.android.app_base.utils.Utils;
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.PropertyBean;
import com.application.zhangshi_app_android.bean.TourismExperienceBean;
import com.application.zhangshi_app_android.databinding.AcitivityTourismExperienceDetailBinding;
import com.application.zhangshi_app_android.databinding.ActivityPropertyDetailBinding;
import com.application.zhangshi_app_android.ui.DLBaseActivity;
+import com.github.gzuliyujiang.wheelpicker.DatePicker;
+import com.github.gzuliyujiang.wheelpicker.OptionPicker;
+import com.github.gzuliyujiang.wheelpicker.contract.OnDatePickedListener;
+import com.github.gzuliyujiang.wheelpicker.contract.OnOptionPickedListener;
+import com.hjq.bar.TitleBar;
+import com.luck.picture.lib.entity.LocalMedia;
+import com.luck.picture.lib.interfaces.OnResultCallbackListener;
+import java.io.File;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
+import java.util.function.Consumer;
/**
* @author Ljj
@@ -25,7 +44,8 @@
* @desc 鏃呮父缁忓巻璇︽儏
*/
public class TourismExperienceDetailActivity extends DLBaseActivity<AcitivityTourismExperienceDetailBinding,TourismExperienceDetailActivityViewModel> {
-
+ private int type;// 0 鏌ョ湅鍙慨鏀瑰垹闄� 1 鏂板 2 鐩存帴淇敼
+ private PopupWindow popupWindow;
private ImageRvAdapter adapter;
@Override
@@ -40,8 +60,15 @@
@Override
public void initParam() {
- if (getIntent().hasExtra("bean")){
- viewModel.getBeanLiveData().setValue((TourismExperienceBean) getIntent().getSerializableExtra("bean"));
+ type = getIntent().getIntExtra(BaseConfig.EXTRA_TYPE,0);
+ if (type == 0 || type == 2){
+ TourismExperienceBean bean = (TourismExperienceBean) getIntent().getSerializableExtra("bean");
+ if (bean !=null){
+ viewModel.getBeanLiveData().setValue(bean);
+ }
+ }else if (type == 1){
+ String fid = getIntent().getStringExtra("fid");
+ viewModel.getBeanLiveData().getValue().setFeeId(fid);
}
}
@@ -51,7 +78,116 @@
GridLayoutManager gridLayoutManager = new GridLayoutManager(this, 3);
binding.rvImage.setLayoutManager(gridLayoutManager);
binding.rvImage.setNestedScrollingEnabled(false);
- setIsEdited(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) {
+ UserManager.getInstance().selectImage(getSelfActivity(), 9, new OnResultCallbackListener<LocalMedia>() {
+ @Override
+ public void onResult(ArrayList<LocalMedia> result) {
+ if (result.size() == 0) return;
+ for (LocalMedia media : result) {
+ String path = media.getRealPath();
+ File file = new File(path);
+ if (file.exists()) {
+ viewModel.uploadFile(file);
+ }
+ }
+ }
+
+ @Override
+ public void onCancel() {
+
+ }
+ });
+ }
+ });
+ adapter.setOnChildClickListener(R.id.iv_delete, new BaseRVAdapter.OnChildClickListener() {
+ @Override
+ public void onChildClick(RecyclerView recyclerView, View childView, int position) {
+ TourismExperienceBean bean = viewModel.getBeanLiveData().getValue();
+ if (bean !=null){
+ List<String> urlList = Utils.splitString2List(bean.getUrl(),",");
+ urlList.remove(adapter.getItem(position));
+ bean.setUrl(Utils.appendList2String(urlList,","));
+ }
+ adapter.removeItem(position);
+ viewModel.getBeanLiveData().setValue(bean);
+ }
+ });
+ binding.rvImage.setAdapter(adapter);
+
+ if (type == 1){
+ viewModel.getTypeLiveData().postValue(true);
+ binding.ivOperate.setOnClickListener(v -> {
+ viewModel.add();
+ });
+ }else if (type == 0){
+ popupWindow = initPopUpWindow(View.inflate(this,R.layout.pop_operate_delete,null));
+ popupWindow.getContentView().findViewById(R.id.tv_modify).setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ viewModel.getTypeLiveData().postValue(true);
+ popupWindow.dismiss();
+ }
+ });
+ popupWindow.getContentView().findViewById(R.id.tv_delete).setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ popupWindow.dismiss();
+ new UIDialog.Builder(getSelfActivity())
+ .setTitle("鎮ㄧ‘瀹氳鍒犻櫎椤圭洰鍚�")
+ .setContent("椤圭洰鍒犻櫎鍚庡皢鏃犳硶鎭㈠")
+ .setConfirm("纭畾")
+ .setCancel("鍙栨秷")
+ .setListener(new UIDialog.OnListener() {
+ @Override
+ public void onConfirm(BaseDialog dialog) {
+ viewModel.delete();
+ }
+ })
+ .show();
+ }
+ });
+ viewModel.getTypeLiveData().postValue(false);
+ }else if (type == 2){
+ viewModel.getTypeLiveData().postValue(true);
+ }
+ binding.etTime.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ hideSoftKeyboard();
+ DatePicker datePicker = getDatePicker();
+ datePicker.setTitle("閫夋嫨鏃堕棿");
+ datePicker.setOnDatePickedListener(new OnDatePickedListener() {
+ @Override
+ public void onDatePicked(int year, int month, int day) {
+ binding.etTime.setText(String.format("%d-%02d-%02d", year, month, day));
+ }
+ });
+ datePicker.show();
+ }
+ });
+ binding.etSelf.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ hideSoftKeyboard();
+ List<String> list = Arrays.asList("鍏垂","鑷垂");
+ OptionPicker picker = getOptionPicker(list);
+ picker.setTitle("鑷垂鎴栧叕璐�");
+ picker.setDefaultValue(binding.etSelf.getText().toString());
+ picker.setOnOptionPickedListener(new OnOptionPickedListener() {
+ @Override
+ public void onOptionPicked(int position, Object item) {
+ viewModel.getBeanLiveData().getValue().setSelf(position);
+ viewModel.getBeanLiveData().setValue(viewModel.getBeanLiveData().getValue());
+ }
+ });
+ picker.show();
+ }
+ });
}
@Override
@@ -63,40 +199,42 @@
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));
+ adapter.setData(Utils.splitString2List(bean.getUrl(),","));
+ }
+ });
+ viewModel.getTypeLiveData().observe(this,operateType -> {
+ if (operateType){
+ if (type == 1) {
+ binding.ivOperate.setOnClickListener(v -> {
+ viewModel.add();
+ });
}else {
- list = new ArrayList<>();
- list.add(url);
+ binding.ivOperate.setOnClickListener(v -> {
+ viewModel.update();
+ });
}
- adapter.setData(list);
+ binding.rvImage.getFooterViews().forEach(new Consumer<View>() {
+ @Override
+ public void accept(View view) {
+ view.setVisibility(View.VISIBLE);
+ }
+ });
+ }else {
+ binding.ivOperate.setOnClickListener(v -> {
+ popupWindow.showAsDropDown(binding.ivOperate,-ScreenSizeUtils.dip2px(this,85) +binding.ivOperate.getWidth(),0);
+ });
+ binding.rvImage.getFooterViews().forEach(new Consumer<View>() {
+ @Override
+ public void accept(View view) {
+ view.setVisibility(View.GONE);
+ }
+ });
}
});
}
- 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();
- }
- }
- }
+ @Override
+ public void onLeftClick(TitleBar titleBar) {
+ finish();
}
}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/TourismExperienceDetailActivityViewModel.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/TourismExperienceDetailActivityViewModel.java
index 7caa2c4..2156ff6 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/ui/function/TourismExperienceDetailActivityViewModel.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/TourismExperienceDetailActivityViewModel.java
@@ -1,14 +1,28 @@
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.viewmodel.BaseViewModel;
-import com.application.zhangshi_app_android.bean.PropertyBean;
+import com.android.app_base.http.ResultData;
+import com.android.app_base.manager.AppManager;
+import com.android.app_base.utils.RxUtils;
+import com.android.app_base.utils.rxbus.RxBus;
import com.application.zhangshi_app_android.bean.TourismExperienceBean;
+import com.application.zhangshi_app_android.bean.UploadFileResponseBean;
import com.application.zhangshi_app_android.data.DataRepository;
+
+import java.io.File;
+
+import io.reactivex.Observer;
+import io.reactivex.disposables.Disposable;
+import okhttp3.MediaType;
+import okhttp3.MultipartBody;
+import okhttp3.RequestBody;
/**
* @author Ljj
@@ -18,6 +32,7 @@
public class TourismExperienceDetailActivityViewModel extends BaseViewModel<DataRepository> {
private MutableLiveData<TourismExperienceBean> beanLiveData;
+ private MutableLiveData<Boolean> typeLiveData;//true 缂栬緫鐘舵�� false 灞曠ず鐘舵��
public TourismExperienceDetailActivityViewModel(@NonNull Application application) {
super(application);
@@ -28,15 +43,180 @@
return DataRepository.getInstance();
}
+ /**
+ * 娣诲姞 鏀舵敮鍙拌处
+ */
+ public void add() {
+ System.out.println(beanLiveData.getValue());
+ model.addTourismExperience(beanLiveData.getValue())
+ .compose(RxUtils.schedulersTransformer())
+ .subscribe(new Observer<ResultData<String>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
- public MutableLiveData<TourismExperienceBean> getBeanLiveData() {
- if (beanLiveData == null) {
- beanLiveData = new MutableLiveData<>();
+ @Override
+ public void onNext(ResultData<String> stringResultData) {
+ if (stringResultData.getCode() == CODE_SUCCESS){
+ AppManager.getAppManager().finishCurrentActivity();
+ RxBus.getInstance().post(beanLiveData.getValue());
+ messageLiveData.postValue("娣诲姞鎴愬姛");
+ }else {
+ messageLiveData.postValue(stringResultData.getMsg());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+ /**
+ * 鍒犻櫎 鏀舵敮鍙拌处
+ */
+ public void delete() {
+ if (beanLiveData.getValue() == null){
+ return;
}
- return beanLiveData;
+ model.deleteTourismExperience(String.valueOf(beanLiveData.getValue().getId()))
+ .compose(RxUtils.schedulersTransformer())
+ .subscribe(new Observer<ResultData<String>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<String> stringResultData) {
+ if (stringResultData.getCode() == CODE_SUCCESS){
+ AppManager.getAppManager().finishCurrentActivity();
+ RxBus.getInstance().post(beanLiveData.getValue());
+ messageLiveData.postValue("鍒犻櫎鎴愬姛");
+ }else {
+ messageLiveData.postValue(stringResultData.getMsg());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+ /**
+ * 淇敼灏忓尰鐢�
+ */
+ public void update() {
+ model.updateTourismExperience(beanLiveData.getValue())
+ .compose(RxUtils.schedulersTransformer())
+ .subscribe(new Observer<ResultData<String>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<String> stringResultData) {
+ if (stringResultData.getCode() == CODE_SUCCESS){
+ AppManager.getAppManager().finishCurrentActivity();
+ RxBus.getInstance().post(beanLiveData.getValue());
+ messageLiveData.postValue("淇敼鎴愬姛");
+ }else {
+ messageLiveData.postValue(stringResultData.getMsg());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+
+ /**
+ * 涓婁紶鐢靛瓙鏂囦欢
+ */
+ public void uploadFile(File file) {
+ RequestBody requestBody = RequestBody.create(MediaType.parse("multipart/form-data"), file);
+ MultipartBody.Part body = MultipartBody.Part.createFormData("uploadFile", file.getName(), requestBody);
+ model.uploadFile(body)
+ .compose(RxUtils.schedulersTransformer())
+ .subscribe(new Observer<ResultData<UploadFileResponseBean>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<UploadFileResponseBean> resultData) {
+ if (resultData.getCode() == CODE_SUCCESS){
+ TourismExperienceBean bean = beanLiveData.getValue();
+ String url;
+ if (bean != null){
+ url = bean.getUrl();
+ if (url == null){
+ url = resultData.getData().getUrl();
+ }else {
+ url = url + "," + resultData.getData().getUrl();
+ }
+ bean.setUrl(url);
+ beanLiveData.postValue(bean);
+ }
+ }else {
+ messageLiveData.postValue(resultData.getMsg());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+ public MutableLiveData<Boolean> getTypeLiveData() {
+ if (typeLiveData == null){
+ typeLiveData = new MutableLiveData<>();
+ }
+ return typeLiveData;
+ }
+
+ public void setTypeLiveData(MutableLiveData<Boolean> typeLiveData) {
+ this.typeLiveData = typeLiveData;
}
public void setBeanLiveData(MutableLiveData<TourismExperienceBean> beanLiveData) {
this.beanLiveData = beanLiveData;
}
+
+ public MutableLiveData<TourismExperienceBean> getBeanLiveData() {
+ if (beanLiveData == null){
+ beanLiveData = new MutableLiveData<>();
+ }
+ if (beanLiveData.getValue() == null){
+ beanLiveData.setValue(new TourismExperienceBean());
+ }
+ return beanLiveData;
+ }
}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/VideoFragment.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/VideoFragment.java
new file mode 100644
index 0000000..ee284fe
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/VideoFragment.java
@@ -0,0 +1,210 @@
+package com.application.zhangshi_app_android.ui.function;
+
+import android.content.res.Configuration;
+import android.os.Bundle;
+import android.view.View;
+import android.widget.ImageView;
+
+
+import androidx.annotation.NonNull;
+
+import com.android.app_base.base.view.BaseFragment;
+import com.android.app_base.utils.GlideUtil;
+import com.application.zhangshi_app_android.R;
+import com.application.zhangshi_app_android.databinding.FragmentVideoBinding;
+import com.shuyu.gsyvideoplayer.GSYVideoManager;
+import com.shuyu.gsyvideoplayer.builder.GSYVideoOptionBuilder;
+import com.shuyu.gsyvideoplayer.listener.GSYSampleCallBack;
+import com.shuyu.gsyvideoplayer.listener.LockClickListener;
+import com.shuyu.gsyvideoplayer.utils.OrientationUtils;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author Ljj
+ * @date 2023.07.17. 19:39
+ * @desc
+ */
+public class VideoFragment extends BaseFragment<FragmentVideoBinding, VideoFragmentViewModel> {
+ OrientationUtils orientationUtils;
+ private List<String> videoList;
+ private boolean isPlay;
+ private boolean isPause;
+
+ private VideoFragment() {
+ }
+
+ public static VideoFragment newInstance() {
+ VideoFragment fragment = new VideoFragment();
+ Bundle args = new Bundle();
+ fragment.setArguments(args);
+ return fragment;
+ }
+
+
+
+ @Override
+ protected int getLayoutId() {
+ return R.layout.fragment_video;
+ }
+
+ @Override
+ protected int getVariableId() {
+ return 0;
+ }
+
+ @Override
+ protected void initParam() {
+ if (getArguments() != null) {
+ videoList = (List<String>) getArguments().getSerializable("videoList");
+ }
+ }
+
+ @Override
+ protected void initView() {
+ if (videoList != null && videoList.size() > 0){
+ binding.videoPlayer.setVisibility(View.VISIBLE);
+ binding.layoutDataNull.setVisibility(View.GONE);
+ //澧炲姞灏侀潰
+ ImageView imageView = new ImageView(getSelfActivity());
+ imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
+ GlideUtil.loadVideoCover(videoList.get(0), imageView,-1,1);
+ //澧炲姞title
+ binding.videoPlayer.getTitleTextView().setVisibility(View.GONE);
+ binding.videoPlayer.getBackButton().setVisibility(View.GONE);
+
+ //澶栭儴杈呭姪鐨勬棆杞紝甯姪鍏ㄥ睆
+ //orientationUtils = new OrientationUtils(this, binding.videoPlayer);
+ //鍒濆鍖栦笉鎵撳紑澶栭儴鐨勬棆杞�
+ // orientationUtils.setEnable(false);
+
+ GSYVideoOptionBuilder gsyVideoOption = new GSYVideoOptionBuilder();
+ gsyVideoOption.setThumbImageView(imageView)
+ .setIsTouchWiget(true)
+ .setRotateViewAuto(false)
+ .setLockLand(false)
+ .setAutoFullWithSize(false)
+ .setShowFullAnimation(false)
+ .setUrl(videoList.get(0))
+ .setNeedLockFull(true)
+ .setCacheWithPlay(false)
+ .setVideoTitle("")
+ .setLooping(true)
+ ///涓嶉渶瑕佹棆杞�
+ .setNeedOrientationUtils(false)
+ .setVideoAllCallBack(new GSYSampleCallBack() {
+ @Override
+ public void onPrepared(String url, Object... objects) {
+ super.onPrepared(url, objects);
+ //寮�濮嬫挱鏀句簡鎵嶈兘鏃嬭浆鍜屽叏灞�
+// orientationUtils.setEnable(binding.videoPlayer.isRotateWithSystem());
+ isPlay = true;
+ }
+
+ @Override
+ public void onQuitFullscreen(String url, Object... objects) {
+ super.onQuitFullscreen(url, objects);
+ // ------- 锛侊紒锛佸鏋滀笉闇�瑕佹棆杞睆骞曪紝鍙互涓嶈皟鐢紒锛侊紒-------
+ // 涓嶉渶瑕佸睆骞曟棆杞紝杩橀渶瑕佽缃� setNeedOrientationUtils(false)
+// if (orientationUtils != null) {
+// orientationUtils.backToProtVideo();
+// }
+ }
+ })
+ .setLockClickListener(new LockClickListener() {
+ @Override
+ public void onClick(View view, boolean lock) {
+// if (orientationUtils != null) {
+// //閰嶅悎涓嬫柟鐨刼nConfigurationChanged
+// orientationUtils.setEnable(!lock);
+// }
+ }
+ }).build(binding.videoPlayer);
+
+ binding.videoPlayer.getFullscreenButton().setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ //鐩存帴妯睆
+ // ------- 锛侊紒锛佸鏋滀笉闇�瑕佹棆杞睆骞曪紝鍙互涓嶈皟鐢紒锛侊紒-------
+ // 涓嶉渶瑕佸睆骞曟棆杞紝杩橀渶瑕佽缃� setNeedOrientationUtils(false)
+ // orientationUtils.resolveByClick();
+ //绗竴涓猼rue鏄惁闇�瑕侀殣钘廰ctionbar锛岀浜屼釜true鏄惁闇�瑕侀殣钘弒tatusbar
+ binding.videoPlayer.startWindowFullscreen(getSelfActivity(), true, true);
+ }
+ });
+ }else {
+ binding.videoPlayer.setVisibility(View.GONE);
+ binding.layoutDataNull.setVisibility(View.VISIBLE);
+ }
+ }
+
+ @Override
+ protected void initData() {
+
+ }
+
+ public void setVideoList(List<String> videoList) {
+ this.videoList = videoList;
+ Bundle args = new Bundle();
+ args.putSerializable("videoList", (Serializable) videoList);
+ setArguments(args);
+ }
+
+ @Override
+ protected void initLiveDataObserve() {
+
+ }
+
+// @Override
+// public void onBackPressed() {
+// // ------- 锛侊紒锛佸鏋滀笉闇�瑕佹棆杞睆骞曪紝鍙互涓嶈皟鐢紒锛侊紒-------
+// // 涓嶉渶瑕佸睆骞曟棆杞紝杩橀渶瑕佽缃� setNeedOrientationUtils(false)
+//// if (orientationUtils != null) {
+//// orientationUtils.backToProtVideo();
+//// }
+// if (GSYVideoManager.backFromWindowFull(this)) {
+// return;
+// }
+// super.onBackPressed();
+// }
+
+
+ @Override
+ public void onPause() {
+ binding.videoPlayer.getCurrentPlayer().onVideoPause();
+ super.onPause();
+ isPause = true;
+ }
+
+ @Override
+ public void onResume() {
+ binding.videoPlayer.getCurrentPlayer().onVideoResume(false);
+ super.onResume();
+ isPause = false;
+ }
+
+ @Override
+ public void onDestroy() {
+ super.onDestroy();
+ if (isPlay) {
+ binding.videoPlayer.getCurrentPlayer().release();
+ }
+// if (orientationUtils != null)
+// orientationUtils.releaseListener();
+ }
+
+
+ /**
+ * orientationUtils 鍜� binding.videoPlayer.onConfigurationChanged 鏂规硶鏄敤浜庤Е鍙戝睆骞曟棆杞殑
+ */
+ @Override
+ public void onConfigurationChanged(@NonNull Configuration newConfig) {
+ super.onConfigurationChanged(newConfig);
+ //濡傛灉鏃嬭浆浜嗗氨鍏ㄥ睆
+// if (isPlay && !isPause) {
+// binding.videoPlayer.onConfigurationChanged(this, newConfig, orientationUtils, true, true);
+// }
+ }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/VideoFragmentViewModel.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/VideoFragmentViewModel.java
new file mode 100644
index 0000000..5c7683a
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/VideoFragmentViewModel.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.07.17. 19:52
+ * @desc
+ */
+public class VideoFragmentViewModel extends BaseViewModel<DataRepository> {
+ public VideoFragmentViewModel(@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/home/GenealogyActivity.java b/app/src/main/java/com/application/zhangshi_app_android/ui/home/GenealogyActivity.java
new file mode 100644
index 0000000..a71d397
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/home/GenealogyActivity.java
@@ -0,0 +1,192 @@
+package com.application.zhangshi_app_android.ui.home;
+
+import android.content.DialogInterface;
+import android.text.Editable;
+import android.text.TextUtils;
+import android.text.TextWatcher;
+import android.view.MotionEvent;
+import android.view.View;
+import android.widget.PopupWindow;
+
+import com.android.app_base.utils.ScreenSizeUtils;
+import com.android.app_base.utils.Utils;
+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.databinding.ActivityGenealogyBinding;
+import com.application.zhangshi_app_android.ui.DLBaseActivity;
+import com.github.gzuliyujiang.wheelpicker.DatePicker;
+import com.github.gzuliyujiang.wheelpicker.OptionPicker;
+import com.github.gzuliyujiang.wheelpicker.contract.OnDatePickedListener;
+import com.github.gzuliyujiang.wheelpicker.contract.OnOptionPickedListener;
+import com.hjq.bar.TitleBar;
+
+import java.lang.reflect.Array;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Locale;
+
+/**
+ * @author Ljj
+ * @date 2023.06.12. 16:01
+ * @desc 瀹惰氨 Activity
+ */
+public class GenealogyActivity extends DLBaseActivity<ActivityGenealogyBinding, GenealogyActivityViewModel> {
+ private HomeMemberAdapter adapter;
+ private boolean isSearchLayoutVisible;
+
+ @Override
+ public int getLayoutId() {
+ return R.layout.activity_genealogy;
+ }
+
+ @Override
+ public int getVariableId() {
+ return BR.viewModel;
+ }
+
+ @Override
+ public void initParam() {
+
+ }
+
+ @Override
+ public void initView() {
+ //涓嬫媺鍒锋柊甯冨眬
+ binding.refreshLayout.setEnableRefresh(false);
+ binding.refreshLayout.setEnableLoadMore(true);
+ binding.refreshLayout.setEnableOverScrollDrag(true);
+ binding.refreshLayout.setOnLoadMoreListener(refreshLayout -> {
+ viewModel.getMoreHomeMembers();
+ });
+ //recyclerView閫傞厤鍣�
+ adapter = new HomeMemberAdapter(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);
+ //鐐瑰嚮鏀惧ぇ闀滄寜閽樉绀哄嚭鎼滅储妗�
+ binding.ivSearchDefault.setOnClickListener(v -> {
+ binding.layoutSearch.setVisibility(View.VISIBLE);
+ binding.layoutDefault.setVisibility(View.GONE);
+ });
+ //鐐瑰嚮鎼滅储妗嗚彍鍗曚笅鎷夊嚭 鎼滅储鍙傛暟
+ binding.ivSearchType.setOnClickListener(v -> {
+ if (!isSearchLayoutVisible){
+ binding.layoutSearchParameter.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED);
+ int targetHeight = binding.layoutSearchParameter.getMeasuredHeight();
+ Utils.pullCollapse(binding.containerSearchParameter,0,targetHeight);
+ isSearchLayoutVisible = true;
+ }
+ });
+ //鎼滅储鍙傛暟layout娣诲姞绌虹偣鍑讳簨浠讹紝闃叉鐐瑰嚮瀹冨唴閮╲iew鏃跺畠鍚庨潰鐨剅ecycler杩樿兘鍝嶅簲鐐瑰嚮浜嬩欢
+ binding.layoutSearchParameter.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ }
+ });
+ //鐐瑰嚮鎼滅储鎸夐挳杩涜鎼滅储
+ binding.ivSearch.setOnClickListener(v -> {
+ viewModel.getHomeMembers();
+ binding.layoutSearch.setVisibility(View.GONE);
+ binding.layoutDefault.setVisibility(View.VISIBLE);
+ binding.tvTitle.setText("鎼滅储缁撴灉");
+ hideSoftKeyboard();
+ });
+ binding.etSex.setOnClickListener(v -> {
+ List<String> list = Arrays.asList("濂�","鐢�");
+ OptionPicker picker = getOptionPicker(list);
+ picker.setTitle("鎬у埆");
+ picker.setOnOptionPickedListener(new OnOptionPickedListener() {
+ @Override
+ public void onOptionPicked(int position, Object item) {
+ viewModel.getRequestBeanLiveData().getValue().setSex(position);
+ binding.etSex.setText(item.toString());
+ }
+ });
+ picker.show();
+ });
+ binding.etBirthday.setOnClickListener(v -> {
+ DatePicker picker = getDatePicker();
+ picker.setTitle("鐢熸棩");
+ picker.setOnDatePickedListener(new OnDatePickedListener() {
+ @Override
+ public void onDatePicked(int year, int month, int day) {
+ binding.etBirthday.setText(String.format(Locale.CHINA,"%d-%02d-%02d", year, month, day));
+ }
+ });
+ picker.show();
+ });
+ binding.etIdentity.setOnClickListener(v -> {
+ List<String> list = Arrays.asList("1","2","3","4");
+ OptionPicker picker = getOptionPicker(list);
+ picker.setTitle("韬唤浠f暟");
+ picker.setOnOptionPickedListener(new OnOptionPickedListener() {
+ @Override
+ public void onOptionPicked(int position, Object item) {
+ viewModel.getRequestBeanLiveData().getValue().setIdentity(position+1);
+ binding.etIdentity.setText("绗� " + item + " 浠�");
+ }
+ });
+ picker.show();
+ });
+
+ }
+ @Override
+ public boolean dispatchTouchEvent(MotionEvent event) {
+ float x = event.getX();
+ float y = event.getY();
+ if (isSearchLayoutVisible){
+ if (!Utils.isPointInsideView(x, y, binding.layoutSearchParameter)) {
+ Utils.pullCollapse(binding.containerSearchParameter, binding.layoutSearchParameter.getMeasuredHeight(),0);
+ isSearchLayoutVisible = false;
+ return true;
+ }
+ }
+ return super.dispatchTouchEvent(event);
+ }
+
+ @Override
+ public void initData() {
+ viewModel.getHomeMembers();
+ }
+
+ @Override
+ public void initLiveDataObserve() {
+ viewModel.getDataListLiveData().observe(this, list -> {
+ adapter.setData(list);
+ });
+ viewModel.getMoreListLiveData().observe(this, list -> {
+ adapter.addData(list);
+ });
+ }
+ @Override
+ protected void dataNull() {
+ super.dataNull();
+ binding.layoutDataNull.setVisibility(View.VISIBLE);
+ binding.refreshLayout.setVisibility(View.GONE);
+ }
+
+ @Override
+ protected void dataFinish() {
+ super.dataFinish();
+ binding.refreshLayout.finishLoadMore();
+ }
+
+ @Override
+ protected void hide() {
+ super.hide();
+ binding.layoutDataNull.setVisibility(View.GONE);
+ binding.refreshLayout.setVisibility(View.VISIBLE);
+ binding.refreshLayout.finishLoadMore();
+ }
+
+ @Override
+ public void onLeftClick(TitleBar titleBar) {
+ finish();
+ }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/home/GenealogyActivityViewModel.java b/app/src/main/java/com/application/zhangshi_app_android/ui/home/GenealogyActivityViewModel.java
new file mode 100644
index 0000000..17db254
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/home/GenealogyActivityViewModel.java
@@ -0,0 +1,172 @@
+package com.application.zhangshi_app_android.ui.home;
+
+import static com.android.app_base.base.BaseConfig.CODE_SUCCESS;
+
+import android.app.Application;
+import android.text.TextUtils;
+
+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.android.app_base.utils.Utils;
+import com.application.zhangshi_app_android.bean.HomeMemberBean;
+import com.application.zhangshi_app_android.bean.HomeMemberRequestBean;
+import com.application.zhangshi_app_android.bean.PageResponseBean;
+import com.application.zhangshi_app_android.data.DataRepository;
+
+import java.util.Date;
+import java.util.List;
+
+import io.reactivex.Observer;
+import io.reactivex.disposables.Disposable;
+import io.reactivex.functions.Action;
+
+/**
+ * @author Ljj
+ * @date 2023.06.12. 16:03
+ * @desc
+ */
+public class GenealogyActivityViewModel extends BaseViewModel<DataRepository> {
+ private MutableLiveData<List<HomeMemberBean>> dataListLiveData;//鎵�鏈夋暟鎹�
+ private MutableLiveData<List<HomeMemberBean>> moreListLiveData;//鍔犺浇鏇村鏁版嵁
+
+ private MutableLiveData<HomeMemberRequestBean> requestBeanLiveData;//璇锋眰鍙傛暟
+
+ public GenealogyActivityViewModel(@NonNull Application application) {
+ super(application);
+ }
+
+ @Override
+ protected DataRepository initModel() {
+ return DataRepository.getInstance();
+ }
+
+
+ /**
+ * 鑾峰彇鑽h獕鏀惰棌
+ */
+ public void getHomeMembers() {
+ if (getRequestBeanLiveData().getValue() == null){
+ getRequestBeanLiveData().setValue(new HomeMemberRequestBean());
+ }
+ getRequestBeanLiveData().getValue().setPageNum(1);
+ model.getHomeMembers(getRequestBeanLiveData().getValue().toMap())
+ .compose(RxUtils.schedulersTransformer())
+ .subscribe(new Observer<ResultData<PageResponseBean<HomeMemberBean>>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<PageResponseBean<HomeMemberBean>> 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() {
+
+ }
+ });
+ }
+ /**
+ * 鍔犺浇鏇村
+ */
+ public void getMoreHomeMembers(){
+ if (getRequestBeanLiveData().getValue() == null){
+ getRequestBeanLiveData().setValue(new HomeMemberRequestBean());
+ }
+ getRequestBeanLiveData().getValue().setPageNum(getRequestBeanLiveData().getValue().getPageNum() + 1);
+ model.getHomeMembers(getRequestBeanLiveData().getValue().toMap())
+ .compose(RxUtils.schedulersTransformer())
+ .doFinally(new Action() {
+ @Override
+ public void run() throws Exception {
+ changeStateView(StateViewEnum.DATA_FINISH);
+ }
+ })
+ .subscribe(new Observer<ResultData<PageResponseBean<HomeMemberBean>>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<PageResponseBean<HomeMemberBean>> 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());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+ public MutableLiveData<List<HomeMemberBean>> getDataListLiveData() {
+ if (dataListLiveData == null){
+ dataListLiveData = new MutableLiveData<>();
+ }
+ return dataListLiveData;
+ }
+ public void setDataListLiveData(MutableLiveData<List<HomeMemberBean>> dataListLiveData) {
+ this.dataListLiveData = dataListLiveData;
+ }
+ public MutableLiveData<HomeMemberRequestBean> getRequestBeanLiveData() {
+ if (requestBeanLiveData == null){
+ requestBeanLiveData = new MutableLiveData<>();
+ }
+ if (requestBeanLiveData.getValue() == null){
+ requestBeanLiveData.setValue(new HomeMemberRequestBean());
+ }
+ return requestBeanLiveData;
+ }
+
+ public void setRequestBeanLiveData(MutableLiveData<HomeMemberRequestBean> requestBeanLiveData) {
+ this.requestBeanLiveData = requestBeanLiveData;
+ }
+
+
+
+ public MutableLiveData<List<HomeMemberBean>> getMoreListLiveData() {
+ if (moreListLiveData == null){
+ moreListLiveData = new MutableLiveData<>();
+ }
+ return moreListLiveData;
+ }
+
+ public void setMoreListLiveData(MutableLiveData<List<HomeMemberBean>> moreListLiveData) {
+ this.moreListLiveData = moreListLiveData;
+ }
+}
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 fff69fb..e6db79c 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,28 +1,63 @@
package com.application.zhangshi_app_android.ui.home;
+import android.animation.Animator;
+import android.animation.AnimatorListenerAdapter;
+import android.animation.ObjectAnimator;
+import android.annotation.SuppressLint;
import android.graphics.drawable.ColorDrawable;
import android.os.Bundle;
+import android.view.GestureDetector;
+import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
+import android.view.animation.AlphaAnimation;
+import android.view.animation.Animation;
+import android.view.animation.AnimationSet;
+import android.view.animation.ScaleAnimation;
import android.widget.PopupWindow;
+import android.widget.TextView;
+
+import androidx.constraintlayout.utils.widget.ImageFilterView;
+import androidx.constraintlayout.widget.ConstraintLayout;
+import androidx.databinding.DataBindingUtil;
+import androidx.lifecycle.Observer;
import com.android.app_base.base.view.BaseFragment;
+import com.android.app_base.manager.AppManager;
+import com.android.app_base.utils.GlideUtil;
+import com.android.app_base.utils.ScreenSizeUtils;
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.bean.HomeRootBean;
import com.application.zhangshi_app_android.databinding.FragmentHomeBinding;
+import com.application.zhangshi_app_android.databinding.PopBasicInformationBinding;
+import com.application.zhangshi_app_android.ui.DLBaseFragment;
import com.hjq.bar.TitleBar;
+
+import java.util.ArrayList;
+import java.util.List;
/**
* @author Ljj
* @date 2023.3.15
* @desc 棣栭〉 Fragment
*/
-public class HomeFragment extends BaseFragment<FragmentHomeBinding,HomeFragmentViewModel> {
- private PopupWindow mPopupWindow;
- private HomeMemberAdapter homeMemberAdapter;
+public class HomeFragment extends DLBaseFragment<FragmentHomeBinding,HomeFragmentViewModel> {
+ private PopupWindow mOperatePopupWindow;
+ private ViewOperator firstViewOperator1;//绗竴浠�
+ private ViewOperator firstViewOperator2;//绗竴浠�
+ private List<ViewOperator> secondSelfList;//绗簩浠e洓涓垎鏀�
+ private List<ViewOperator> secondSpouseList;//绗簩浠e洓涓垎鏀殑閰嶅伓
+
+ private List<List<ViewOperator>> thirdSelfListList;//绗笁浠e洓涓垎鏀殑鍒楄〃
+
+
+ private List<List<ViewOperator>> fourthSelfListList;//绗洓浠e洓涓垎鏀殑鍒楄〃
+
+
public HomeFragment() {
}
@@ -49,35 +84,332 @@
}
+ @SuppressLint("ClickableViewAccessibility")
@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);
+ mOperatePopupWindow = initPopUpWindow(View.inflate(getSelfActivity(),R.layout.pop_operate_home_root_net,null));
+ binding.ivOperate.setOnClickListener(v -> {
+ mOperatePopupWindow.showAsDropDown(binding.ivOperate,-ScreenSizeUtils.dip2px(getSelfActivity(),120) +binding.ivOperate.getWidth(),0);
+ });
+ mOperatePopupWindow.getContentView().findViewById(R.id.tv_first).setOnClickListener(v -> {
+ binding.ivTreeViewDiff.setBackgroundResource(R.drawable.bg_home_root_net_detail_first);
+ viewModel.setIndexLiveData(0);
+ });
+ mOperatePopupWindow.getContentView().findViewById(R.id.tv_second).setOnClickListener(v -> {
+ binding.ivTreeViewDiff.setBackgroundResource(R.drawable.bg_home_root_net_detail_second);
+ viewModel.setIndexLiveData(1);
+ });
+ mOperatePopupWindow.getContentView().findViewById(R.id.tv_third).setOnClickListener(v -> {
+ binding.ivTreeViewDiff.setBackgroundResource(R.drawable.bg_home_root_net_detail_third);
+ viewModel.setIndexLiveData(2);
+ });
+ mOperatePopupWindow.getContentView().findViewById(R.id.tv_all).setOnClickListener(v -> {
+ binding.ivTreeViewDiff.setBackgroundResource(R.drawable.bg_home_root_net_detail);
+ viewModel.setIndexLiveData(3);
+ });
+ mOperatePopupWindow.getContentView().findViewById(R.id.tv_family).setOnClickListener(v -> {
+ AppManager.getAppManager().startActivity(GenealogyActivity.class);
+ mOperatePopupWindow.dismiss();
+ });
+ final GestureDetector gestureDetector = new GestureDetector(getSelfActivity(), new GestureDetector.SimpleOnGestureListener() {
+ @Override
+ public boolean onDoubleTap(MotionEvent e) {
+ AlphaAnimation alphaAnimation = new AlphaAnimation(0f, 1f);
+ alphaAnimation.setDuration(1000);
+ alphaAnimation.setAnimationListener(new Animation.AnimationListener() {
+ @Override
+ public void onAnimationStart(Animation animation) {
+ binding.scrollView.setVisibility(View.VISIBLE);
+ binding.scrollView.post(new Runnable() {
+ @Override
+ public void run() {
+ binding.scrollView.scrollTo(binding.scrollView.getChildAt(0).getMeasuredWidth()/2 - ScreenSizeUtils.getScreenWidth(getSelfActivity())/2,0);
+ }
+ });
+ }
- 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
+ public void onAnimationEnd(Animation animation) {
+ }
+
+ @Override
+ public void onAnimationRepeat(Animation animation) {
+
+ }
+ });
+
+ AlphaAnimation alphaAnimation1 = new AlphaAnimation(1f, 0f);
+ alphaAnimation1.setDuration(1000);
+ alphaAnimation1.setAnimationListener(new Animation.AnimationListener() {
+ @Override
+ public void onAnimationStart(Animation animation) {
+ binding.layoutHomeRootNet.setVisibility(View.VISIBLE);
+ }
+
+ @Override
+ public void onAnimationEnd(Animation animation) {
+ binding.layoutHomeRootNet.setVisibility(View.GONE);
+ }
+
+ @Override
+ public void onAnimationRepeat(Animation animation) {
+
+ }
+ });
+
+ float scale = binding.layoutHomeRootNet.getWidth()/ (binding.ivTreeView.getWidth() * 2f / 3f);
+ //缂╂斁鍔ㄧ敾
+ ScaleAnimation scaleAnimation = new ScaleAnimation(1f, scale, 1f, scale, binding.layoutHomeRootNet.getWidth()/2f, binding.layoutHomeRootNet.getHeight()/2f);
+ scaleAnimation.setDuration(1000);
+ scaleAnimation.setAnimationListener(new Animation.AnimationListener() {
+ @Override
+ public void onAnimationStart(Animation animation) {
+ }
+
+ @Override
+ public void onAnimationEnd(Animation animation) {
+ binding.scrollView.startAnimation(alphaAnimation);
+ binding.layoutHomeRootNet.startAnimation(alphaAnimation1);
+ }
+
+ @Override
+ public void onAnimationRepeat(Animation animation) {
+
+ }
+ });
+ binding.layoutHomeRootNet.startAnimation(scaleAnimation);
+
+ return true;
+ }
+ });
+ binding.layoutHomeRootNet.setOnTouchListener(new View.OnTouchListener() {
+ @Override
+ public boolean onTouch(View v, MotionEvent event) {
+ gestureDetector.onTouchEvent(event);
+ return true;
+ }
+ });
+
+ firstViewOperator1 = new ViewOperator(binding.tvFirst1,binding.ivFirst1);
+ firstViewOperator2 = new ViewOperator(binding.tvFirst2,binding.ivFirst2);
+
+ secondSelfList = new ArrayList<>();
+ secondSpouseList = new ArrayList<>();
+ secondSelfList.add(new ViewOperator(binding.tvSecond11,binding.ivSecond11));
+ secondSpouseList.add(new ViewOperator(binding.tvSecond12,binding.ivSecond12));
+ secondSelfList.add(new ViewOperator(binding.tvSecond21,binding.ivSecond21));
+ secondSpouseList.add(new ViewOperator(binding.tvSecond22,binding.ivSecond22));
+ secondSelfList.add(new ViewOperator(binding.tvSecond31,binding.ivSecond31));
+ secondSpouseList.add(new ViewOperator(binding.tvSecond32,binding.ivSecond32));
+ secondSelfList.add(new ViewOperator(binding.tvSecond41,binding.ivSecond41));
+ secondSpouseList.add(new ViewOperator(binding.tvSecond42,binding.ivSecond42));
+
+ thirdSelfListList = new ArrayList<>();
+
+ List<ViewOperator> thirdSelfList1 = new ArrayList<>();
+ thirdSelfList1.add(new ViewOperator(binding.tvThird11,binding.ivThird11));
+ thirdSelfList1.add(new ViewOperator(binding.tvThird12,binding.ivThird12));
+ thirdSelfList1.add(new ViewOperator(binding.tvThird13,binding.ivThird13));
+ thirdSelfList1.add(new ViewOperator(binding.tvThird14,binding.ivThird14));
+ thirdSelfListList.add(thirdSelfList1);
+
+ List<ViewOperator> thirdSelfList2 = new ArrayList<>();
+ thirdSelfList2.add(new ViewOperator(binding.tvThird21,binding.ivThird21));
+ thirdSelfList2.add(new ViewOperator(binding.tvThird22,binding.ivThird22));
+ thirdSelfList2.add(new ViewOperator(binding.tvThird23,binding.ivThird23));
+ thirdSelfList2.add(new ViewOperator(binding.tvThird24,binding.ivThird24));
+ thirdSelfListList.add(thirdSelfList2);
+
+ List<ViewOperator> thirdSelfList3 = new ArrayList<>();
+ thirdSelfList3.add(new ViewOperator(binding.tvThird31,binding.ivThird31));
+ thirdSelfList3.add(new ViewOperator(binding.tvThird32,binding.ivThird32));
+ thirdSelfList3.add(new ViewOperator(binding.tvThird33,binding.ivThird33));
+ thirdSelfList3.add(new ViewOperator(binding.tvThird34,binding.ivThird34));
+ thirdSelfListList.add(thirdSelfList3);
+
+ List<ViewOperator> thirdSelfList4 = new ArrayList<>();
+ thirdSelfList4.add(new ViewOperator(binding.tvThird41,binding.ivThird41));
+ thirdSelfList4.add(new ViewOperator(binding.tvThird42,binding.ivThird42));
+ thirdSelfListList.add(thirdSelfList4);
+
+ fourthSelfListList = new ArrayList<>();
+
+ List<ViewOperator> fourthSelfList1 = new ArrayList<>();
+ fourthSelfList1.add(new ViewOperator(binding.tvFourth11,binding.ivFourth11));
+ fourthSelfList1.add(new ViewOperator(binding.tvFourth12,binding.ivFourth12));
+ fourthSelfListList.add(fourthSelfList1);
+
+ List<ViewOperator> fourthSelfList2 = new ArrayList<>();
+ fourthSelfList2.add(new ViewOperator(binding.tvFourth21,binding.ivFourth21));
+ fourthSelfList2.add(new ViewOperator(binding.tvFourth22,binding.ivFourth22));
+ fourthSelfList2.add(new ViewOperator(binding.tvFourth23,binding.ivFourth23));
+ fourthSelfList2.add(new ViewOperator(binding.tvFourth24,binding.ivFourth24));
+ fourthSelfListList.add(fourthSelfList2);
+
+ List<ViewOperator> fourthSelfList3 = new ArrayList<>();
+ fourthSelfList3.add(new ViewOperator(binding.tvFourth31,binding.ivFourth31));
+ fourthSelfList3.add(new ViewOperator(binding.tvFourth32,binding.ivFourth32));
+ fourthSelfList3.add(new ViewOperator(binding.tvFourth33,binding.ivFourth33));
+ fourthSelfList3.add(new ViewOperator(binding.tvFourth34,binding.ivFourth34));
+ fourthSelfListList.add(fourthSelfList3);
+
+ List<ViewOperator> fourthSelfList4 = new ArrayList<>();
+ fourthSelfList4.add(new ViewOperator(binding.tvFourth41,binding.ivFourth41));
+ fourthSelfList4.add(new ViewOperator(binding.tvFourth42,binding.ivFourth42));
+ fourthSelfList4.add(new ViewOperator(binding.tvFourth43,binding.ivFourth43));
+ fourthSelfListList.add(fourthSelfList4);
}
+
+
@Override
protected void initData() {
-
+ viewModel.getHomeRootBeanList();
}
@Override
protected void initLiveDataObserve() {
+ viewModel.getIndexLiveData().observe(this, new Observer<Integer>() {
+ @Override
+ public void onChanged(Integer integer) {
+ firstViewOperator1.setVisibility(View.VISIBLE);
+ firstViewOperator2.setVisibility(View.VISIBLE);
+ if (integer == 0){
+ for (ViewOperator viewOperator : secondSelfList) {
+ viewOperator.setVisibility(View.GONE);
+ }
+ for (ViewOperator viewOperator : secondSpouseList) {
+ viewOperator.setVisibility(View.GONE);
+ }
+ for (List<ViewOperator> viewOperators : thirdSelfListList) {
+ for (ViewOperator viewOperator : viewOperators) {
+ viewOperator.setVisibility(View.GONE);
+ }
+ }
+ for (List<ViewOperator> viewOperators : fourthSelfListList) {
+ for (ViewOperator viewOperator : viewOperators) {
+ viewOperator.setVisibility(View.GONE);
+ }
+ }
+ }else if (integer == 1){
+ for (int i = 0; i < secondSelfList.size(); i++) {
+ if (secondSelfList.get(i).selfBean != null) {
+ secondSelfList.get(i).setVisibility(View.VISIBLE);
+ }else {
+ secondSelfList.get(i).setVisibility(View.GONE);
+ }
+ if (secondSpouseList.get(i).selfBean != null) {
+ secondSpouseList.get(i).setVisibility(View.VISIBLE);
+ }else {
+ secondSpouseList.get(i).setVisibility(View.GONE);
+ }
+ }
+ for (List<ViewOperator> viewOperators : thirdSelfListList) {
+ for (ViewOperator viewOperator : viewOperators) {
+ viewOperator.setVisibility(View.GONE);
+ }
+ }
+ for (List<ViewOperator> viewOperators : fourthSelfListList) {
+ for (ViewOperator viewOperator : viewOperators) {
+ viewOperator.setVisibility(View.GONE);
+ }
+ }
+ }else if (integer == 2){
+ for (int i = 0; i < secondSelfList.size(); i++) {
+ if (secondSelfList.get(i).selfBean != null) {
+ secondSelfList.get(i).setVisibility(View.VISIBLE);
+ }else {
+ secondSelfList.get(i).setVisibility(View.GONE);
+ }
+ if (secondSpouseList.get(i).selfBean != null) {
+ secondSpouseList.get(i).setVisibility(View.VISIBLE);
+ }else {
+ secondSpouseList.get(i).setVisibility(View.GONE);
+ }
+ }
+ for (List<ViewOperator> viewOperators : thirdSelfListList) {
+ for (ViewOperator viewOperator : viewOperators) {
+ if (viewOperator.selfBean != null) {
+ viewOperator.setVisibility(View.VISIBLE);
+ }else {
+ viewOperator.setVisibility(View.GONE);
+ }
+ }
+ }
+ for (List<ViewOperator> viewOperators : fourthSelfListList) {
+ for (ViewOperator viewOperator : viewOperators) {
+ viewOperator.setVisibility(View.GONE);
+ }
+ }
+ }else if (integer == 3){
+ for (int i = 0; i < secondSelfList.size(); i++) {
+ if (secondSelfList.get(i).selfBean != null) {
+ secondSelfList.get(i).setVisibility(View.VISIBLE);
+ }else {
+ secondSelfList.get(i).setVisibility(View.GONE);
+ }
+ if (secondSpouseList.get(i).selfBean != null) {
+ secondSpouseList.get(i).setVisibility(View.VISIBLE);
+ }else {
+ secondSpouseList.get(i).setVisibility(View.GONE);
+ }
+ }
+ for (List<ViewOperator> viewOperators : thirdSelfListList) {
+ for (ViewOperator viewOperator : viewOperators) {
+ if (viewOperator.selfBean != null) {
+ viewOperator.setVisibility(View.VISIBLE);
+ }else {
+ viewOperator.setVisibility(View.GONE);
+ }
+ }
+ }
+ for (List<ViewOperator> viewOperators : fourthSelfListList) {
+ for (ViewOperator viewOperator : viewOperators) {
+ if (viewOperator.selfBean != null) {
+ viewOperator.setVisibility(View.VISIBLE);
+ }else {
+ viewOperator.setVisibility(View.GONE);
+ }
+ }
+ }
+ }
+ }
+ });
+ viewModel.getHomeRootBeanLiveData().observe(this, new Observer<List<HomeRootBean>>() {
+ @Override
+ public void onChanged(List<HomeRootBean> homeRootBeans) {
+ if (homeRootBeans.size() > 0){
+ //濉厖绗竴浠f暟鎹�
+ firstViewOperator1.setBean(homeRootBeans.get(0),homeRootBeans.get(0).getSpouse());
+ firstViewOperator2.setBean(homeRootBeans.get(0).getSpouse(),homeRootBeans.get(0));
+ List<HomeRootBean> secondGeneration = homeRootBeans.get(0).getChildList();//绗簩浠d汉鍛�
+ for (int i = 0; i < Math.min(homeRootBeans.get(0).getChildList().size(),4); i++) {
+ //濉厖绗琲鍒嗘敮鐨勭浜屼唬鏁版嵁
+ secondSelfList.get(i).setBean(secondGeneration.get(i),secondGeneration.get(i).getSpouse());
+ secondSpouseList.get(i).setBean(secondGeneration.get(i).getSpouse(),secondGeneration.get(i));
+
+ List<HomeRootBean> thirdGeneration = secondGeneration.get(i).getChildList();//绗琲鍒嗘敮鐨勭涓変唬浜哄憳
+ List<ViewOperator> thirdList = thirdSelfListList.get(i);//绗琲鍒嗘敮鐨勭涓変唬瀵瑰簲view
+
+ List<HomeRootBean> fourthGeneration = new ArrayList<>();//绗琲鍒嗘敮鐨勭鍥涗唬浜哄憳
+ List<ViewOperator> fourthList = fourthSelfListList.get(i);//绗琲鍒嗘敮鐨勭鍥涗唬瀵瑰簲view
+
+ for (int j = 0; j < Math.min(thirdGeneration.size(),thirdList.size()); j++) {
+ //濉厖绗琲鍒嗘敮涓嬬殑绗笁浠f暟鎹�
+ thirdList.get(j).setBean(thirdGeneration.get(j),thirdGeneration.get(j).getSpouse());
+
+ fourthGeneration.addAll(thirdGeneration.get(j).getChildList());//鏀堕泦绗琲鍒嗘敮涓嬬殑鍏ㄩ儴绗洓浠d汉鍛�
+ }
+
+ for (int j = 0; j < Math.min(fourthGeneration.size(),fourthList.size()); j++) {
+ //濉厖绗琲鍒嗘敮涓嬬殑绗洓浠f暟鎹�
+ fourthList.get(j).setBean(fourthGeneration.get(j),fourthGeneration.get(j).getSpouse());
+ }
+ }
+ }
+ }
+ });
}
@Override
@@ -85,27 +417,79 @@
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;
-// }
+ private class ViewOperator{
+ private TextView tvIndex;
+ private ImageFilterView ivHead;
+ private HomeRootBean selfBean;
+ private HomeRootBean spouseBean;
+ public ViewOperator(TextView tvIndex, ImageFilterView ivHead) {
+ this.tvIndex = tvIndex;
+ this.ivHead = ivHead;
+ }
+ public void setVisibility(int visibility){
+ tvIndex.setVisibility(visibility);
+ ivHead.setVisibility(visibility);
+ }
+ public void setBean(HomeRootBean selfBean, HomeRootBean spouseBean) {
+ this.selfBean = selfBean;
+ this.spouseBean = spouseBean;
+ if (selfBean == null){
+ tvIndex.setVisibility(View.GONE);
+ ivHead.setVisibility(View.GONE);
+ return;
+ }else {
+ tvIndex.setVisibility(View.VISIBLE);
+ ivHead.setVisibility(View.VISIBLE);
+ }
+ GlideUtil.loadImage(selfBean.getImg(), ivHead);
+ View.OnClickListener clickListener = new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ PopBasicInformationBinding mBinding= DataBindingUtil.inflate(getLayoutInflater(),R.layout.pop_basic_information,null,false);
+ PopupWindow mPopupWindow = initPopUpWindow(mBinding.getRoot());
+ mPopupWindow.setHeight(binding.layoutParent.getHeight());
+ mPopupWindow.setWidth(binding.layoutParent.getWidth());
+ mBinding.setSelfBean(selfBean);
+ mBinding.setSpouseBean(spouseBean);
+ mPopupWindow.showAsDropDown(binding.titleBar,0,0);
+ }
+ };
+ ivHead.setOnClickListener(clickListener);
+ tvIndex.setOnClickListener(clickListener);
+ }
+
+ public TextView getTvIndex() {
+ return tvIndex;
+ }
+
+ public void setTvIndex(TextView tvIndex) {
+ this.tvIndex = tvIndex;
+ }
+
+ public ImageFilterView getIvHead() {
+ return ivHead;
+ }
+
+ public void setIvHead(ImageFilterView ivHead) {
+ this.ivHead = ivHead;
+ }
+
+ public HomeRootBean getSelfBean() {
+ return selfBean;
+ }
+
+ public void setSelfBean(HomeRootBean selfBean) {
+ this.selfBean = selfBean;
+ }
+
+ public HomeRootBean getSpouseBean() {
+ return spouseBean;
+ }
+
+ public void setSpouseBean(HomeRootBean spouseBean) {
+ this.spouseBean = spouseBean;
+ }
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/home/HomeFragmentViewModel.java b/app/src/main/java/com/application/zhangshi_app_android/ui/home/HomeFragmentViewModel.java
index d6ec79c..f6332e2 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/ui/home/HomeFragmentViewModel.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/home/HomeFragmentViewModel.java
@@ -1,11 +1,26 @@
package com.application.zhangshi_app_android.ui.home;
+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.AnnualHealthStatusBean;
+import com.application.zhangshi_app_android.bean.HomeRootBean;
+import com.application.zhangshi_app_android.bean.PageResponseBean;
import com.application.zhangshi_app_android.data.DataRepository;
+
+import java.util.List;
+
+import io.reactivex.Observer;
+import io.reactivex.disposables.Disposable;
+import io.reactivex.functions.Action;
/**
* @author Ljj
@@ -13,6 +28,9 @@
* @desc 棣栭〉 Fragment鐨� ViewModel
*/
public class HomeFragmentViewModel extends BaseViewModel<DataRepository> {
+ private MutableLiveData<Integer> indexLiveData;//鏄剧ず浠f暟(0,1,2,3瀵瑰簲绗竴浠�,绗簩浠�,绗笁浠�,绗洓浠�)
+ private MutableLiveData<List<HomeRootBean>> homeRootBeanLiveData;//瀹舵牴缃戞垚鍛樺垪琛�
+
public HomeFragmentViewModel(@NonNull Application application) {
super(application);
@@ -22,4 +40,72 @@
protected DataRepository initModel() {
return DataRepository.getInstance();
}
+
+
+ public void getHomeRootBeanList() {
+ model.getHomeRoot("4")
+ .compose(RxUtils.schedulersTransformer())
+ .doFinally(new Action() {
+ @Override
+ public void run() throws Exception {
+ changeStateView(StateViewEnum.DATA_FINISH);
+ }
+ })
+ .subscribe(new Observer<ResultData<List<HomeRootBean>>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<List<HomeRootBean>> data) {
+ if (data.getCode() == CODE_SUCCESS){
+ homeRootBeanLiveData.postValue(data.getData());
+ }else {
+ getMessageLivaData().postValue(data.getMsg());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ getMessageLivaData().postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+
+
+ public void setIndexLiveData(MutableLiveData<Integer> indexLiveData) {
+ this.indexLiveData = indexLiveData;
+ }
+
+ public MutableLiveData<Integer> getIndexLiveData() {
+ if (indexLiveData == null) {
+ indexLiveData = new MutableLiveData<>();
+ indexLiveData.setValue(3);
+ }
+ return indexLiveData;
+ }
+
+ public void setIndexLiveData(int index) {
+ if (indexLiveData == null) {
+ indexLiveData = new MutableLiveData<>();
+ }
+ indexLiveData.setValue(index);
+ }
+
+ public MutableLiveData<List<HomeRootBean>> getHomeRootBeanLiveData() {
+ if (homeRootBeanLiveData == null) {
+ homeRootBeanLiveData = new MutableLiveData<>();
+ }
+ return homeRootBeanLiveData;
+ }
+
+ public void setHomeRootBeanLiveData(MutableLiveData<List<HomeRootBean>> homeRootBeanLiveData) {
+ this.homeRootBeanLiveData = homeRootBeanLiveData;
+ }
}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/login/LoginActivity.java b/app/src/main/java/com/application/zhangshi_app_android/ui/login/LoginActivity.java
index cf36ae4..ca8f00d 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/ui/login/LoginActivity.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/login/LoginActivity.java
@@ -4,6 +4,7 @@
import android.Manifest;
import android.content.Intent;
+import android.text.TextUtils;
import android.view.View;
import androidx.annotation.NonNull;
@@ -11,6 +12,7 @@
import com.android.app_base.base.view.BaseActivity;
import com.android.app_base.manager.AppManager;
import com.android.app_base.manager.UserManager;
+import com.android.app_base.utils.SPUtils;
import com.android.app_base.utils.ToastUtils;
import com.application.zhangshi_app_android.BR;
import com.application.zhangshi_app_android.R;
@@ -43,6 +45,10 @@
finish();
}
type = getIntent().getIntExtra(EXTRA_TYPE,0);
+ String selectLoginBackground = SPUtils.getInstance("loginBackground").getString("selectLoginBackground");
+ if (!TextUtils.isEmpty(selectLoginBackground)){
+ viewModel.getSelectLoginBackgroundLiveData().setValue(selectLoginBackground);
+ }
}
@Override
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/login/LoginActivityViewModel.java b/app/src/main/java/com/application/zhangshi_app_android/ui/login/LoginActivityViewModel.java
index 74b66c9..e6d7e44 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/ui/login/LoginActivityViewModel.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/login/LoginActivityViewModel.java
@@ -38,6 +38,7 @@
private MutableLiveData<String> againPassword = new MutableLiveData<>();
private MutableLiveData<Boolean> passwordVisibility = new MutableLiveData<>();
private MutableLiveData<Boolean> againPasswordVisibility = new MutableLiveData<>();
+ private MutableLiveData<String> selectLoginBackgroundLiveData = new MutableLiveData<>();//鑳屾櫙鍥�
private MutableLiveData<String> value = new MutableLiveData<>();
public LoginActivityViewModel(@NonNull Application application) {
@@ -92,7 +93,7 @@
return;
}
if (captchaImageLiveData.getValue() != null){
- model.login(new LoginRequestBean(username.getValue(),password.getValue(),captchaImageLiveData.getValue().getValue(),captchaImageLiveData.getValue().getUuid()))
+ model.login(new LoginRequestBean(username.getValue(),password.getValue(),value.getValue(),captchaImageLiveData.getValue().getUuid()))
.compose(RxUtils.schedulersTransformer())
.subscribe(new Observer<ResultData<LoginResponseBean>>() {
@Override
@@ -226,4 +227,12 @@
public void setValue(MutableLiveData<String> value) {
this.value = value;
}
+
+ public MutableLiveData<String> getSelectLoginBackgroundLiveData() {
+ return selectLoginBackgroundLiveData;
+ }
+
+ public void setSelectLoginBackgroundLiveData(MutableLiveData<String> selectLoginBackgroundLiveData) {
+ this.selectLoginBackgroundLiveData = selectLoginBackgroundLiveData;
+ }
}
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 a44e4f2..6875b77 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
@@ -1,9 +1,17 @@
package com.application.zhangshi_app_android.ui.main;
+import android.app.Activity;
+import android.content.Context;
+import android.content.Intent;
+import android.os.Bundle;
+import android.text.TextUtils;
import android.view.MenuItem;
+import android.view.View;
import androidx.annotation.NonNull;
+import androidx.fragment.app.Fragment;
+import androidx.lifecycle.Observer;
import androidx.viewpager2.widget.ViewPager2;
import com.android.app_base.base.adapter.BaseVp2FragmentAdapter;
@@ -13,12 +21,17 @@
import com.android.app_base.manager.AppManager;
import com.application.zhangshi_app_android.BR;
import com.application.zhangshi_app_android.R;
+import com.application.zhangshi_app_android.bean.UpdateVersionBean;
import com.application.zhangshi_app_android.databinding.ActivityMainBinding;
+import com.application.zhangshi_app_android.ui.dialog.VersionUpdateDialog;
import com.application.zhangshi_app_android.ui.function.FunctionFragment;
import com.application.zhangshi_app_android.ui.home.HomeFragment;
import com.application.zhangshi_app_android.ui.personal_center.PersonalCenterFragment;
+import com.blankj.utilcode.util.AppUtils;
import com.blankj.utilcode.util.ToastUtils;
import com.google.android.material.navigation.NavigationBarView;
+
+import java.io.Serializable;
/**
* @author Ljj
@@ -26,6 +39,7 @@
* @desc app涓婚〉
*/
public class MainActivity extends BaseActivity<ActivityMainBinding, MainViewModel> {
+ BaseVp2FragmentAdapter<BaseFragment> mPagerAdapter;
@Override
public int getLayoutId() {
return R.layout.activity_main;
@@ -42,7 +56,7 @@
@Override
public void initView() {
- BaseVp2FragmentAdapter<BaseFragment> mPagerAdapter = new BaseVp2FragmentAdapter<>(this);
+ mPagerAdapter = new BaseVp2FragmentAdapter<>(this);
mPagerAdapter.addFragment(HomeFragment.newInstance());
mPagerAdapter.addFragment(FunctionFragment.newInstance());
mPagerAdapter.addFragment(PersonalCenterFragment.newInstance());
@@ -55,7 +69,7 @@
}
});
binding.mainVp.setUserInputEnabled(false);
-
+ binding.mainVp.setOffscreenPageLimit(3);
// 涓嶄娇鐢ㄥ浘鏍囬粯璁ゅ彉鑹�
binding.mainBnv.setItemIconTintList(null);
binding.mainBnv.setOnItemSelectedListener(new NavigationBarView.OnItemSelectedListener() {
@@ -81,12 +95,28 @@
@Override
public void initData() {
-
+ viewModel.getUpdateVersion();
}
@Override
public void initLiveDataObserve() {
+ viewModel.getUpdateVersionBeanLiveData().observe(this, new Observer<UpdateVersionBean>() {
+ @Override
+ public void onChanged(UpdateVersionBean updateVersionBean) {
+ if(updateVersionBean != null && updateVersionBean.getVersionCode()> AppUtils.getAppVersionCode()&&!TextUtils.isEmpty(updateVersionBean.getAppUrl())){
+ VersionUpdateDialog.Builder dialogBuilder = new VersionUpdateDialog.Builder(getSelfActivity())
+ .setContent(updateVersionBean.getContent())
+ .setDownloadUrl(updateVersionBean.getAppUrl())
+ ;
+ if(updateVersionBean.isForceUpdate()){
+ dialogBuilder.setCancelable(false);
+ dialogBuilder.setCanceledOnTouchOutside(false);
+ }
+ dialogBuilder.show();
+ }
+ }
+ });
}
@Override
@@ -106,4 +136,21 @@
ToastUtils.showShort("鍐嶆寜涓�娆¢��鍑�");
}
}
+
+ private static final String INTENT_KEY_IN_FRAGMENT_INDEX = "fragmentIndex";
+ private static final String INTENT_KEY_IN_FRAGMENT_CLASS = "fragmentClass";
+
+ public static void start(Context context) {
+ start(context, HomeFragment.class);
+ }
+
+ public static void start(Context context, Class<? extends BaseFragment> fragmentClass) {
+ Intent intent = new Intent(context, MainActivity.class);
+ intent.putExtra(INTENT_KEY_IN_FRAGMENT_CLASS, fragmentClass);
+ if (!(context instanceof Activity)) {
+ intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ }
+ context.startActivity(intent);
+ }
+
}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/main/MainViewModel.java b/app/src/main/java/com/application/zhangshi_app_android/ui/main/MainViewModel.java
index 4b494b7..3e9e4ea 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/ui/main/MainViewModel.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/main/MainViewModel.java
@@ -1,25 +1,87 @@
package com.application.zhangshi_app_android.ui.main;
+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.model.BaseModel;
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.AnnualHealthStatusBean;
+import com.application.zhangshi_app_android.bean.PageResponseBean;
+import com.application.zhangshi_app_android.bean.UpdateVersionBean;
+import com.application.zhangshi_app_android.data.DataRepository;
+
+import io.reactivex.Observer;
+import io.reactivex.disposables.Disposable;
+import io.reactivex.functions.Action;
/**
* @author Ljj
* @date 2023.03.02. 23:07
* @desc
*/
-public class MainViewModel extends BaseViewModel {
+public class MainViewModel extends BaseViewModel<DataRepository> {
+
+ private MutableLiveData<UpdateVersionBean> updateVersionBeanLiveData = new MutableLiveData<>();
public MainViewModel(@NonNull Application application) {
super(application);
}
@Override
- protected BaseModel initModel() {
- return null;
+ protected DataRepository initModel() {
+ return DataRepository.getInstance();
+ }
+
+
+ public void getUpdateVersion() {
+ model.getUpdateVersion()
+ .compose(RxUtils.schedulersTransformer())
+ .doFinally(new Action() {
+ @Override
+ public void run() throws Exception {
+ changeStateView(StateViewEnum.DATA_FINISH);
+ }
+ })
+ .subscribe(new Observer<ResultData<UpdateVersionBean>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<UpdateVersionBean> data) {
+ if (data.getCode() == CODE_SUCCESS){
+ updateVersionBeanLiveData.postValue(data.getData());
+ }else {
+ messageLiveData.postValue(data.getMsg());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+
+ public MutableLiveData<UpdateVersionBean> getUpdateVersionBeanLiveData() {
+ if (updateVersionBeanLiveData == null) updateVersionBeanLiveData = new MutableLiveData<>();
+ return updateVersionBeanLiveData;
+ }
+
+ public void setUpdateVersionBeanLiveData(MutableLiveData<UpdateVersionBean> updateVersionBeanLiveData) {
+ this.updateVersionBeanLiveData = updateVersionBeanLiveData;
}
}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/personal_center/BasicInfoActivity.java b/app/src/main/java/com/application/zhangshi_app_android/ui/personal_center/BasicInfoActivity.java
index fa39fb1..5c3e185 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/ui/personal_center/BasicInfoActivity.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/personal_center/BasicInfoActivity.java
@@ -1,7 +1,10 @@
package com.application.zhangshi_app_android.ui.personal_center;
+import android.view.View;
+
import com.application.zhangshi_app_android.BR;
import com.application.zhangshi_app_android.R;
+import com.application.zhangshi_app_android.bean.GrowthExperienceInformationBean;
import com.application.zhangshi_app_android.databinding.ActivityBasicInfoBinding;
import com.application.zhangshi_app_android.ui.DLBaseActivity;
@@ -23,21 +26,51 @@
@Override
public void initParam() {
-
+ if (getIntent().hasExtra("bean")){
+ viewModel.setInfoLiveData((GrowthExperienceInformationBean) getIntent().getSerializableExtra("bean"));
+ }
}
@Override
public void initView() {
-
+ binding.layoutClose.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ finish();
+ }
+ });
+ binding.layoutSave.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ viewModel.saveInfo();
+ }
+ });
+ binding.tvMale.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ GrowthExperienceInformationBean bean = viewModel.getInfoLiveData().getValue();
+ if (bean != null){
+ bean.setSex(1);
+ }
+ viewModel.setInfoLiveData(bean); }
+ });
+ binding.tvFemale.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ GrowthExperienceInformationBean bean = viewModel.getInfoLiveData().getValue();
+ if (bean != null){
+ bean.setSex(0);
+ }
+ viewModel.setInfoLiveData(bean);
+ }
+ });
}
@Override
public void initData() {
-
}
@Override
public void initLiveDataObserve() {
-
}
}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/personal_center/BasicInfoActivityViewModel.java b/app/src/main/java/com/application/zhangshi_app_android/ui/personal_center/BasicInfoActivityViewModel.java
index 0626d1f..cf829d3 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/ui/personal_center/BasicInfoActivityViewModel.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/personal_center/BasicInfoActivityViewModel.java
@@ -1,11 +1,22 @@
package com.application.zhangshi_app_android.ui.personal_center;
+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.viewmodel.BaseViewModel;
+import com.android.app_base.http.ResultData;
+import com.android.app_base.utils.RxUtils;
+import com.android.app_base.utils.rxbus.MessageEvent;
+import com.android.app_base.utils.rxbus.RxBus;
+import com.application.zhangshi_app_android.bean.GrowthExperienceInformationBean;
import com.application.zhangshi_app_android.data.DataRepository;
+
+import io.reactivex.Observer;
+import io.reactivex.disposables.Disposable;
/**
* @author Ljj
@@ -13,6 +24,9 @@
* @desc 涓汉涓績鍩烘湰淇℃伅 ViewModel
*/
public class BasicInfoActivityViewModel extends BaseViewModel<DataRepository> {
+
+ private MutableLiveData<GrowthExperienceInformationBean> infoLiveData;//涓汉淇℃伅
+
public BasicInfoActivityViewModel(@NonNull Application application) {
super(application);
}
@@ -21,4 +35,55 @@
protected DataRepository initModel() {
return DataRepository.getInstance();
}
+
+ /**
+ * 淇濆瓨涓汉淇℃伅
+ */
+ public void saveInfo() {
+ model.updateGrowthExperienceInformation(infoLiveData.getValue())
+ .compose(RxUtils.schedulersTransformer())
+ .subscribe(new Observer<ResultData<String>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<String> data) {
+ if (data.getCode() == CODE_SUCCESS){
+ messageLiveData.postValue("淇濆瓨鎴愬姛");
+ }else {
+ messageLiveData.postValue(data.getMsg());
+ }
+ }
+
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ }); }
+
+
+ public MutableLiveData<GrowthExperienceInformationBean> getInfoLiveData() {
+ if (infoLiveData == null){
+ infoLiveData = new MutableLiveData<>();
+ }
+ return infoLiveData;
+ }
+
+ public void setInfoLiveData(GrowthExperienceInformationBean infoBean) {
+ if (infoLiveData == null){
+ infoLiveData = new MutableLiveData<>();
+ }
+ infoLiveData.setValue(infoBean);
+ }
+
+
+
}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/personal_center/LoginBgChangeActivity.java b/app/src/main/java/com/application/zhangshi_app_android/ui/personal_center/LoginBgChangeActivity.java
new file mode 100644
index 0000000..ba3af8f
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/personal_center/LoginBgChangeActivity.java
@@ -0,0 +1,160 @@
+package com.application.zhangshi_app_android.ui.personal_center;
+
+import android.view.View;
+
+import androidx.lifecycle.Observer;
+import androidx.recyclerview.widget.GridLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.android.app_base.base.adapter.BaseRVAdapter;
+import com.android.app_base.base.view.BaseActivity;
+import com.android.app_base.manager.UserManager;
+import com.android.app_base.utils.SPUtils;
+import com.android.app_base.utils.Utils;
+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.FamilyMemorabiliaBean;
+import com.application.zhangshi_app_android.databinding.ActivityLoginBgChangeBinding;
+import com.hjq.bar.TitleBar;
+import com.luck.picture.lib.entity.LocalMedia;
+import com.luck.picture.lib.interfaces.OnResultCallbackListener;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+/**
+ * @author Ljj
+ * @date 2023.07.20. 16:27
+ * @desc 鐧诲綍鑳屾櫙鏇存崲 Activity
+ */
+public class LoginBgChangeActivity extends BaseActivity<ActivityLoginBgChangeBinding,LoginBgChangeActivityViewModel> {
+ private ImageRvAdapter adapter;
+ private Set<String> loginBackgrounds;
+ private String selectLoginBackground;
+ @Override
+ public int getLayoutId() {
+ return R.layout.activity_login_bg_change;
+ }
+
+ @Override
+ public int getVariableId() {
+ return BR.viewModel;
+ }
+
+ @Override
+ public void initParam() {
+
+ }
+
+ @Override
+ public void initView() {
+ adapter = new ImageRvAdapter(this);
+ 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) {
+ UserManager.getInstance().selectImage(getSelfActivity(), 9, new OnResultCallbackListener<LocalMedia>() {
+ @Override
+ public void onResult(ArrayList<LocalMedia> result) {
+ if (result.size() == 0) return;
+ for (LocalMedia media : result) {
+ adapter.addItem(media.getRealPath());
+ loginBackgrounds.add(media.getRealPath());
+ SPUtils.getInstance("loginBackground").put("loginBackgrounds",loginBackgrounds);
+// String path = media.getRealPath();
+// File file = new File(path);
+// if (file.exists()) {
+// viewModel.uploadFile(file);
+// }
+ }
+ }
+
+ @Override
+ public void onCancel() {
+
+ }
+ });
+ }
+ });
+ adapter.setOnChildClickListener(R.id.iv_delete, new BaseRVAdapter.OnChildClickListener() {
+ @Override
+ public void onChildClick(RecyclerView recyclerView, View childView, int position) {
+ if (Boolean.TRUE.equals(viewModel.getTypeLiveData().getValue())){
+ //TODO 鍒犻櫎鍥剧墖
+// viewModel.deleteFile(adapter.getItem(position));
+ loginBackgrounds.remove(adapter.getItem(position));
+ adapter.removeItem(position);
+ SPUtils.getInstance("loginBackground").put("loginBackgrounds",loginBackgrounds);
+ if (!loginBackgrounds.contains(selectLoginBackground)){
+ selectLoginBackground = null;
+ SPUtils.getInstance("loginBackground").put("selectLoginBackground",selectLoginBackground);
+ }
+ }
+ }
+ });
+ adapter.setIsEdited(true);
+ adapter.setOnItemClickListener(new BaseRVAdapter.OnItemClickListener() {
+ @Override
+ public void onItemClick(RecyclerView recyclerView, View itemView, int position) {
+ selectLoginBackground = adapter.getItem(position);
+ adapter.setSelectPosition(selectLoginBackground);
+ SPUtils.getInstance("loginBackground").put("selectLoginBackground",selectLoginBackground);
+ }
+ });
+ binding.rvImage.setAdapter(adapter);
+
+
+ binding.ivOperate.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ viewModel.setTypeLiveData(Boolean.FALSE.equals(viewModel.getTypeLiveData().getValue()));
+ }
+ });
+ }
+
+ @Override
+ public void initData() {
+ loginBackgrounds = SPUtils.getInstance("loginBackground").getStringSet("loginBackgrounds");
+ selectLoginBackground = SPUtils.getInstance("loginBackground").getString("selectLoginBackground");
+ if (loginBackgrounds != null && loginBackgrounds.size() > 0) {
+ //灏唖et杞崲涓簂ist
+ for (String loginBackground : loginBackgrounds) {
+ adapter.addItem(loginBackground);
+ }
+ adapter.setSelectPosition(selectLoginBackground);
+ }else {
+ loginBackgrounds = new HashSet<>();
+ }
+ }
+
+ @Override
+ public void initLiveDataObserve() {
+ viewModel.getTypeLiveData().observe(this, new Observer<Boolean>() {
+ @Override
+ public void onChanged(Boolean aBoolean) {
+ adapter.setIsSelected(!aBoolean);
+ binding.ivOperate.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ viewModel.setTypeLiveData(!aBoolean);
+ }
+ });
+ }
+ });
+ }
+
+ @Override
+ public void onLeftClick(TitleBar titleBar) {
+ finish();
+ }
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/personal_center/LoginBgChangeActivityViewModel.java b/app/src/main/java/com/application/zhangshi_app_android/ui/personal_center/LoginBgChangeActivityViewModel.java
new file mode 100644
index 0000000..d00fd66
--- /dev/null
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/personal_center/LoginBgChangeActivityViewModel.java
@@ -0,0 +1,103 @@
+package com.application.zhangshi_app_android.ui.personal_center;
+
+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.viewmodel.BaseViewModel;
+import com.android.app_base.http.ResultData;
+import com.android.app_base.utils.RxUtils;
+import com.application.zhangshi_app_android.bean.FamilyMemorabiliaBean;
+import com.application.zhangshi_app_android.bean.UploadFileResponseBean;
+import com.application.zhangshi_app_android.data.DataRepository;
+
+import java.io.File;
+
+import io.reactivex.Observer;
+import io.reactivex.disposables.Disposable;
+import okhttp3.MediaType;
+import okhttp3.MultipartBody;
+import okhttp3.RequestBody;
+
+/**
+ * @author Ljj
+ * @date 2023.07.20. 16:29
+ * @desc 鐧诲綍鑳屾櫙鏇存崲 ViewModel
+ */
+public class LoginBgChangeActivityViewModel extends BaseViewModel<DataRepository> {
+
+ private MutableLiveData<Boolean> typeLiveData;//true 涓虹紪杈戠姸鎬侊紝鍙互鍒犻櫎 false 闈炵紪杈戠姸鎬侊紝鍙互閫夋嫨鏌愪篃涓�鍥剧墖浣滀负鑳屾櫙
+
+
+ public LoginBgChangeActivityViewModel(@NonNull Application application) {
+ super(application);
+ }
+
+ @Override
+ protected DataRepository initModel() {
+ return DataRepository.getInstance();
+ }
+
+ public void uploadFile(File file) {
+ RequestBody requestBody = RequestBody.create(MediaType.parse("multipart/form-data"), file);
+ MultipartBody.Part body = MultipartBody.Part.createFormData("uploadFile", file.getName(), requestBody);
+ model.uploadFile(body)
+ .compose(RxUtils.schedulersTransformer())
+ .subscribe(new Observer<ResultData<UploadFileResponseBean>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<UploadFileResponseBean> resultData) {
+ if (resultData.getCode() == CODE_SUCCESS){
+// FamilyMemorabiliaBean bean = getBeanMutableLiveData().getValue();
+// String url;
+// if (bean != null){
+// url = bean.getUrl();
+// if (url == null){
+// url = resultData.getData().getUrl();
+// }else {
+// url = url + "," + resultData.getData().getUrl();
+// }
+// bean.setUrl(url);
+// beanMutableLiveData.postValue(bean);
+// }
+ }else {
+ messageLiveData.postValue(resultData.getMsg());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+
+
+ public MutableLiveData<Boolean> getTypeLiveData() {
+ if (typeLiveData == null) {
+ typeLiveData = new MutableLiveData<>();
+ typeLiveData.setValue(false);
+ }
+ return typeLiveData;
+ }
+
+ public void setTypeLiveData(boolean v) {
+ if (typeLiveData == null) {
+ typeLiveData = new MutableLiveData<>();
+ }
+ typeLiveData.setValue(v);
+ }
+
+}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/personal_center/PersonalCenterFragment.java b/app/src/main/java/com/application/zhangshi_app_android/ui/personal_center/PersonalCenterFragment.java
index 88c85bd..5e46cd3 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/ui/personal_center/PersonalCenterFragment.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/personal_center/PersonalCenterFragment.java
@@ -1,5 +1,6 @@
package com.application.zhangshi_app_android.ui.personal_center;
+import android.content.Intent;
import android.graphics.drawable.ColorDrawable;
import android.os.Bundle;
import android.view.View;
@@ -9,12 +10,18 @@
import com.android.app_base.base.view.BaseFragment;
import com.android.app_base.manager.AppManager;
import com.android.app_base.utils.ScreenSizeUtils;
+import com.android.app_base.utils.rxbus.MessageEvent;
+import com.android.app_base.utils.rxbus.RxBus;
import com.application.zhangshi_app_android.BR;
import com.application.zhangshi_app_android.R;
+import com.application.zhangshi_app_android.bean.GrowthExperienceInformationBean;
import com.application.zhangshi_app_android.databinding.FragmentPersonalCenterBinding;
import com.application.zhangshi_app_android.ui.DLBaseFragment;
import com.application.zhangshi_app_android.ui.dialog.PetOwnerInfoDialog;
import com.application.zhangshi_app_android.ui.function.PetMemoActivity;
+
+import io.reactivex.Observer;
+import io.reactivex.functions.Consumer;
/**
* @author Ljj
@@ -54,7 +61,7 @@
popupWindow = initPopUpWindow(view);
setOnClickListener(
view.findViewById(R.id.tv_basic_info),
- view.findViewById(R.id.tv_permission_setting)
+ view.findViewById(R.id.tv_change_login_bg)
);
binding.ivOperate.setOnClickListener(v -> {
@@ -64,7 +71,13 @@
@Override
protected void initData() {
+ viewModel.getInfo();
+ }
+ @Override
+ public void onResume() {
+ super.onResume();
+ initData();
}
@Override
@@ -78,9 +91,11 @@
int id = v.getId();
if (id == R.id.tv_basic_info){
popupWindow.dismiss();
- AppManager.getAppManager().startActivity(BasicInfoActivity.class);
- }else if (id == R.id.tv_permission_setting){
+ AppManager.getAppManager().startActivity(new Intent(getSelfActivity(),BasicInfoActivity.class)
+ .putExtra("bean",viewModel.getInfoLiveData().getValue()));
+ }else if (id == R.id.tv_change_login_bg){
popupWindow.dismiss();
+ AppManager.getAppManager().startActivity(LoginBgChangeActivity.class);
}
}
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/personal_center/PersonalCenterFragmentViewModel.java b/app/src/main/java/com/application/zhangshi_app_android/ui/personal_center/PersonalCenterFragmentViewModel.java
index 028002a..4f0edf6 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/ui/personal_center/PersonalCenterFragmentViewModel.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/personal_center/PersonalCenterFragmentViewModel.java
@@ -1,11 +1,20 @@
package com.application.zhangshi_app_android.ui.personal_center;
+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.viewmodel.BaseViewModel;
+import com.android.app_base.http.ResultData;
+import com.android.app_base.utils.RxUtils;
+import com.application.zhangshi_app_android.bean.GrowthExperienceInformationBean;
import com.application.zhangshi_app_android.data.DataRepository;
+
+import io.reactivex.Observer;
+import io.reactivex.disposables.Disposable;
/**
* @author Ljj
@@ -13,6 +22,7 @@
* @desc 涓汉涓績 Fragment鐨� ViewModel
*/
public class PersonalCenterFragmentViewModel extends BaseViewModel<DataRepository> {
+ private MutableLiveData<GrowthExperienceInformationBean> infoLiveData;//涓汉淇℃伅
public PersonalCenterFragmentViewModel(@NonNull Application application) {
super(application);
}
@@ -21,4 +31,53 @@
protected DataRepository initModel() {
return DataRepository.getInstance();
}
+
+ /**
+ * 鑾峰彇涓汉淇℃伅
+ */
+ public void getInfo(){
+ model.getGrowthExperienceInformation()
+ .compose(RxUtils.schedulersTransformer())
+ .subscribe(new Observer<ResultData<GrowthExperienceInformationBean>>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ addSubscribe(d);
+ }
+
+ @Override
+ public void onNext(ResultData<GrowthExperienceInformationBean> data) {
+ if (data.getCode() == CODE_SUCCESS){
+ getInfoLiveData().postValue(data.getData());
+ }else {
+ messageLiveData.postValue(data.getMsg());
+ }
+ }
+
+
+ @Override
+ public void onError(Throwable e) {
+ messageLiveData.postValue(e.getMessage());
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+
+
+ public MutableLiveData<GrowthExperienceInformationBean> getInfoLiveData() {
+ if (infoLiveData == null){
+ infoLiveData = new MutableLiveData<>();
+ }
+ return infoLiveData;
+ }
+
+ public void setInfoLiveData(GrowthExperienceInformationBean infoBean) {
+ if (infoLiveData == null){
+ infoLiveData = new MutableLiveData<>();
+ }
+ infoLiveData.setValue(infoBean);
+ }
}
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
index 07caf2b..1261c72 100644
--- 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
@@ -4,6 +4,7 @@
import android.content.Context;
import android.graphics.Canvas;
import android.util.AttributeSet;
+import android.util.Log;
import android.view.GestureDetector;
import android.view.LayoutInflater;
import android.view.MotionEvent;
@@ -11,8 +12,10 @@
import android.view.View;
import android.widget.OverScroller;
import android.widget.RelativeLayout;
+import android.widget.Toast;
import androidx.annotation.Nullable;
+import androidx.constraintlayout.utils.widget.ImageFilterView;
import com.application.zhangshi_app_android.R;
@@ -48,7 +51,9 @@
// 鏀惧ぇ鍚庢墜鎸囩Щ鍔ㄤ綅缃�
private final OffSet moveOffset = new OffSet();
private boolean isDoubleClickZoomIn = false;
-
+
+
+ private ImageFilterView imageFilterView;
public TreeView(Context context) {
this(context, null);
}
@@ -70,6 +75,18 @@
layoutParams.alignWithParent = true;
layoutParams.addRule(CENTER_IN_PARENT);
addView(treeView,layoutParams);
+
+ imageFilterView = treeView.findViewById(R.id.imageFilterView);
+ imageFilterView.setOnTouchListener(new OnTouchListener() {
+ @Override
+ public boolean onTouch(View v, MotionEvent event) {
+ Log.d("TAG", "onTouch: getX"+event.getX());
+ Log.d("TAG", "onTouch: getY"+event.getY());
+ Toast.makeText(mContext,"琚Е鎽�",Toast.LENGTH_SHORT).show();
+ return false;
+ }
+ });
+
mGestureDetector = new GestureDetector(context, new MyGestureListener());
mScaleGestureDetector = new ScaleGestureDetector(context, new MyScaleGestureListener());
mOverScroller = new OverScroller(context);
@@ -102,24 +119,40 @@
bigScale = (float) getHeight() / (float) treeView.getMeasuredHeight() * ZOOM_SCALE;
// 褰撳墠缂╂斁姣斾緥 = 缂╂斁鍓嶇殑姣斾緥
- currentScale = smallScale;
+ currentScale = 1;
+
+ Log.d("TAG", "onSizeChanged: getX"+imageFilterView.getX());
+ Log.d("TAG", "onSizeChanged: getY"+imageFilterView.getY());
}
+// @Override
+// public boolean dispatchTouchEvent(MotionEvent ev) {
+// // 瀵硅Е鎽镐簨浠惰繘琛岀缉鏀惧拰骞崇Щ鍙樻崲
+// MotionEvent event = MotionEvent.obtain(ev);
+// event.setLocation((event.getX() - moveOffset.getPhyX()) / currentScale, (event.getY() - moveOffset.getPhyY()) / currentScale);
+//
+// // 灏嗚Е鎽镐簨浠朵紶閫掔粰瀛愯鍥�
+// boolean handled = super.dispatchTouchEvent(event);
+//
+// // 鍥炴敹瑙︽懜浜嬩欢
+// event.recycle();
+//
+// return handled;
+// }
@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);
- }
- }
+// // 绉诲姩鐢诲竷
+// 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) {
// 鍙屾寚鎿嶄綔
@@ -137,6 +170,9 @@
// 鍙屽嚮鎯呭喌 : 绗簩娆℃姮璧穂ACTION_POINTER_UP]鏃跺�欒Е鍙�
@Override
public boolean onSingleTapUp(MotionEvent e) {
+ Log.d("onDown", "onUp: ");
+ Log.d("onDown", "onUp: e.getX() = " + e.getX());
+ Log.d("onDown", "onUp: e.getY() = " + e.getY());
return super.onSingleTapUp(e);
}
@@ -193,6 +229,7 @@
return true;
}
+
// 鍙屽嚮 -- 绗簩娆℃寜涓嬫椂鍊欒Е鍙� (40ms - 300ms) [灏忎簬40ms鏄负浜嗛槻姝㈡姈鍔╙
@Override
public boolean onDoubleTap(MotionEvent e) {
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
index e8c67bf..94ab702 100644
--- 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
Binary files differ
diff --git a/app/src/main/res/drawable-xhdpi/bg_home_root_net_detail_first.png b/app/src/main/res/drawable-xhdpi/bg_home_root_net_detail_first.png
new file mode 100644
index 0000000..446e94e
--- /dev/null
+++ b/app/src/main/res/drawable-xhdpi/bg_home_root_net_detail_first.png
Binary files differ
diff --git a/app/src/main/res/drawable-xhdpi/bg_home_root_net_detail_second.png b/app/src/main/res/drawable-xhdpi/bg_home_root_net_detail_second.png
new file mode 100644
index 0000000..eac7ff7
--- /dev/null
+++ b/app/src/main/res/drawable-xhdpi/bg_home_root_net_detail_second.png
Binary files differ
diff --git a/app/src/main/res/drawable-xhdpi/bg_home_root_net_detail_third.png b/app/src/main/res/drawable-xhdpi/bg_home_root_net_detail_third.png
new file mode 100644
index 0000000..b35c7b0
--- /dev/null
+++ b/app/src/main/res/drawable-xhdpi/bg_home_root_net_detail_third.png
Binary files differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_image_select.png b/app/src/main/res/drawable-xhdpi/ic_image_select.png
new file mode 100644
index 0000000..065cd70
--- /dev/null
+++ b/app/src/main/res/drawable-xhdpi/ic_image_select.png
Binary files differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_indication_normal.png b/app/src/main/res/drawable-xhdpi/ic_indication_normal.png
new file mode 100644
index 0000000..017b637
--- /dev/null
+++ b/app/src/main/res/drawable-xhdpi/ic_indication_normal.png
Binary files differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_indication_selected.png b/app/src/main/res/drawable-xhdpi/ic_indication_selected.png
new file mode 100644
index 0000000..2518c5c
--- /dev/null
+++ b/app/src/main/res/drawable-xhdpi/ic_indication_selected.png
Binary files differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_move_to_top.png b/app/src/main/res/drawable-xhdpi/ic_move_to_top.png
new file mode 100644
index 0000000..f41c4b7
--- /dev/null
+++ b/app/src/main/res/drawable-xhdpi/ic_move_to_top.png
Binary files differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_operate_select_white.png b/app/src/main/res/drawable-xhdpi/ic_operate_select_white.png
new file mode 100644
index 0000000..9f06665
--- /dev/null
+++ b/app/src/main/res/drawable-xhdpi/ic_operate_select_white.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
index 85043c7..1233ca6 100644
--- 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
Binary files differ
diff --git a/app/src/main/res/drawable-xxhdpi/bg_home_root_net_detail_exp.png b/app/src/main/res/drawable-xxhdpi/bg_home_root_net_detail_exp.png
new file mode 100644
index 0000000..ac50f78
--- /dev/null
+++ b/app/src/main/res/drawable-xxhdpi/bg_home_root_net_detail_exp.png
Binary files differ
diff --git a/app/src/main/res/drawable-xxhdpi/bg_home_root_net_detail_first.png b/app/src/main/res/drawable-xxhdpi/bg_home_root_net_detail_first.png
new file mode 100644
index 0000000..d74cafb
--- /dev/null
+++ b/app/src/main/res/drawable-xxhdpi/bg_home_root_net_detail_first.png
Binary files differ
diff --git a/app/src/main/res/drawable-xxhdpi/bg_home_root_net_detail_second.png b/app/src/main/res/drawable-xxhdpi/bg_home_root_net_detail_second.png
new file mode 100644
index 0000000..aa5b463
--- /dev/null
+++ b/app/src/main/res/drawable-xxhdpi/bg_home_root_net_detail_second.png
Binary files differ
diff --git a/app/src/main/res/drawable-xxhdpi/bg_home_root_net_detail_third.png b/app/src/main/res/drawable-xxhdpi/bg_home_root_net_detail_third.png
new file mode 100644
index 0000000..c3c5e3b
--- /dev/null
+++ b/app/src/main/res/drawable-xxhdpi/bg_home_root_net_detail_third.png
Binary files differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_image_select.png b/app/src/main/res/drawable-xxhdpi/ic_image_select.png
new file mode 100644
index 0000000..0ce2063
--- /dev/null
+++ b/app/src/main/res/drawable-xxhdpi/ic_image_select.png
Binary files differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_indication_normal.png b/app/src/main/res/drawable-xxhdpi/ic_indication_normal.png
new file mode 100644
index 0000000..047c03a
--- /dev/null
+++ b/app/src/main/res/drawable-xxhdpi/ic_indication_normal.png
Binary files differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_indication_selected.png b/app/src/main/res/drawable-xxhdpi/ic_indication_selected.png
new file mode 100644
index 0000000..8ec4108
--- /dev/null
+++ b/app/src/main/res/drawable-xxhdpi/ic_indication_selected.png
Binary files differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_move_to_top.png b/app/src/main/res/drawable-xxhdpi/ic_move_to_top.png
new file mode 100644
index 0000000..dca3ca6
--- /dev/null
+++ b/app/src/main/res/drawable-xxhdpi/ic_move_to_top.png
Binary files differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_operate_select_white.png b/app/src/main/res/drawable-xxhdpi/ic_operate_select_white.png
new file mode 100644
index 0000000..33ebe71
--- /dev/null
+++ b/app/src/main/res/drawable-xxhdpi/ic_operate_select_white.png
Binary files differ
diff --git a/app/src/main/res/drawable/shape_f3f3f3_8.xml b/app/src/main/res/drawable/shape_f3f3f3_8.xml
new file mode 100644
index 0000000..98a232e
--- /dev/null
+++ b/app/src/main/res/drawable/shape_f3f3f3_8.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+ <corners android:radius="8dp"/>
+ <solid android:color="#f3f3f3"/>
+</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
index 51061a0..288382d 100644
--- 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
@@ -4,6 +4,6 @@
<corners
android:topLeftRadius="10dp"
android:topRightRadius="10dp"
- android:bottomLeftRadius="0dp"
- android:bottomRightRadius="10dp" />
+ android:bottomLeftRadius="10dp"
+ android:bottomRightRadius="0dp" />
</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/shape_gradient_update_progress.xml b/app/src/main/res/drawable/shape_gradient_update_progress.xml
new file mode 100644
index 0000000..6d8dab2
--- /dev/null
+++ b/app/src/main/res/drawable/shape_gradient_update_progress.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
+ <item
+ android:id="@android:id/background"
+ android:drawable="@drawable/shape_f3f3f3_8"
+ />
+ <item android:id="@android:id/progress">
+ <clip>
+ <shape>
+ <gradient android:type="linear"
+ android:startColor="#CC2F63F8"
+ android:endColor="#CCE30B9A"
+ />
+ <corners android:radius="@dimen/dp_8" />
+ </shape>
+ </clip>
+ </item>
+</layer-list>
diff --git a/app/src/main/res/layout/acitivity_tourism_experience_detail.xml b/app/src/main/res/layout/acitivity_tourism_experience_detail.xml
index 5a040a8..67134bc 100644
--- a/app/src/main/res/layout/acitivity_tourism_experience_detail.xml
+++ b/app/src/main/res/layout/acitivity_tourism_experience_detail.xml
@@ -4,6 +4,7 @@
xmlns:tools="http://schemas.android.com/tools">
<data>
+ <import type="android.text.TextUtils"/>
<variable
name="viewModel"
type="com.application.zhangshi_app_android.ui.function.TourismExperienceDetailActivityViewModel" />
@@ -18,9 +19,25 @@
<com.android.app_base.widget.ExtendTitleBar
android:layout_width="match_parent"
android:layout_height="wrap_content"
- app:title="@{viewModel.beanLiveData.title}"
+ app:title="@{TextUtils.isEmpty(viewModel.beanLiveData.title)?`鏂板缓鏃呮父缁忓巻`:viewModel.beanLiveData.title}"
app:titleGravity="left"
- />
+ app:leftIcon="@drawable/ic_back"
+ >
+ <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="@{viewModel.typeLiveData?@drawable/ic_operate_finish:@drawable/ic_operate}"
+ />
+ </FrameLayout>
+ </com.android.app_base.widget.ExtendTitleBar>
<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
@@ -48,9 +65,11 @@
android:inputType="text"
android:autofillHints="creditCardNumber"
android:textColorHint="#6b000000"
+ android:hint="@{viewModel.typeLiveData?`璇疯緭鍏ユ爣棰榒:``}"
android:textColor="#DE000000"
android:textSize="16sp"
android:text="@={viewModel.beanLiveData.title}"
+ android:enabled="@{viewModel.typeLiveData}"
/>
<TextView
@@ -63,13 +82,19 @@
/>
<EditText
+ android:id="@+id/et_time"
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" />
+ android:textColorHint="#6b000000"
+ android:hint="@{viewModel.typeLiveData?`璇烽�夋嫨鏃堕棿`:``}"
+ android:text="@={viewModel.beanLiveData.happenTime}"
+ android:textSize="16sp"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:isEditable="@{false}"
+ />
<TextView
android:layout_width="wrap_content"
android:layout_marginTop="10dp"
@@ -84,9 +109,12 @@
android:layout_marginTop="2dp"
android:inputType="text"
android:textColorHint="#6b000000"
+ android:hint="@{viewModel.typeLiveData?`璇疯緭鍏ュ湴鐐筦:``}"
android:text="@={viewModel.beanLiveData.address}"
android:textColor="#DE000000"
- android:textSize="16sp" />
+ android:enabled="@{viewModel.typeLiveData}"
+ android:textSize="16sp"
+ />
<TextView
android:layout_width="wrap_content"
android:layout_marginTop="10dp"
@@ -101,9 +129,12 @@
android:layout_marginTop="2dp"
android:inputType="text"
android:textColorHint="#6b000000"
+ android:hint="@{viewModel.typeLiveData?`璇疯緭鍏ヤ汉鐗ー:``}"
android:textColor="#DE000000"
- android:text="@={viewModel.beanLiveData.person}"
- android:textSize="16sp" />
+ android:text="@={viewModel.beanLiveData.people}"
+ android:textSize="16sp"
+ android:enabled="@{viewModel.typeLiveData}"
+ />
<TextView
android:layout_width="wrap_content"
android:layout_marginTop="10dp"
@@ -118,9 +149,12 @@
android:layout_marginTop="2dp"
android:inputType="text"
android:textColorHint="#6b000000"
+ android:hint="@{viewModel.typeLiveData?`璇疯緭鍏ユ梾鏈焋:``}"
android:textColor="#DE000000"
- android:text="@={viewModel.beanLiveData.travelTime}"
- android:textSize="16sp" />
+ android:text="@={viewModel.beanLiveData.travelPeriod}"
+ android:textSize="16sp"
+ android:enabled="@{viewModel.typeLiveData}"
+ />
<TextView
android:layout_width="wrap_content"
android:layout_marginTop="10dp"
@@ -135,9 +169,12 @@
android:layout_marginTop="2dp"
android:inputType="text"
android:textColorHint="#6b000000"
+ android:hint="@{viewModel.typeLiveData?`璇疯緭鍏ユ寔璇佹梾娓竊:``}"
android:textColor="#DE000000"
android:text="@={viewModel.beanLiveData.certificate}"
- android:textSize="16sp" />
+ android:textSize="16sp"
+ android:enabled="@{viewModel.typeLiveData}"
+ />
<TextView
android:layout_width="wrap_content"
android:layout_marginTop="10dp"
@@ -150,10 +187,11 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
- android:inputType="text"
+ android:inputType="numberDecimal"
android:textColorHint="#6b000000"
+ android:hint="@{viewModel.typeLiveData?`璇疯緭鍏ヨ垂鐢╜:``}"
android:textColor="#DE000000"
- android:text="@={viewModel.beanLiveData.cost}"
+ android:text="@={viewModel.beanLiveData.totalPrice}"
android:textSize="16sp" />
<TextView
android:layout_width="wrap_content"
@@ -164,6 +202,7 @@
android:textSize="12sp"
/>
<EditText
+ android:id="@+id/et_self"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
@@ -172,8 +211,10 @@
android:textColor="#DE000000"
tools:text="鑷垂"
android:drawablePadding="10dp"
+ app:isEditable="@{false}"
+ android:clickable="@{viewModel.typeLiveData}"
android:drawableStart="@drawable/ic_radio_button_selected"
- android:text="@{viewModel.beanLiveData.free==1?`鍏垂`:`鑷垂`}"
+ android:text="@{viewModel.beanLiveData.self==0?`鍏垂`:`鑷垂`}"
android:textSize="16sp" />
<TextView
android:layout_width="wrap_content"
@@ -189,9 +230,12 @@
android:layout_marginTop="2dp"
android:inputType="text"
android:textColorHint="#6b000000"
+ android:hint="@{viewModel.typeLiveData?`璇疯緭鍏ュ娉╜:``}"
android:textColor="#DE000000"
android:text="@={viewModel.beanLiveData.remark}"
- android:textSize="16sp" />
+ android:textSize="16sp"
+ android:enabled="@{viewModel.typeLiveData}"
+ />
<TextView
android:layout_width="wrap_content"
android:layout_marginTop="10dp"
diff --git a/app/src/main/res/layout/activity_annual_health_status.xml b/app/src/main/res/layout/activity_annual_health_status.xml
index f9363d1..dc6cb6b 100644
--- a/app/src/main/res/layout/activity_annual_health_status.xml
+++ b/app/src/main/res/layout/activity_annual_health_status.xml
@@ -12,13 +12,15 @@
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:orientation="vertical">
+ android:background="@color/color_normal_background"
+ >
<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"
+ app:leftIcon="@drawable/ic_back"
>
<FrameLayout
android:layout_width="24dp"
@@ -50,7 +52,7 @@
android:text="骞村害鍋ュ悍鎯呭喌"
android:layout_weight="1"
android:textColor="@color/white"
- android:textSize="@dimen/sp_20"
+ android:textSize="20sp"
/>
<ImageView
android:id="@+id/iv_search_default"
@@ -89,7 +91,10 @@
android:imeOptions="actionSearch"
android:text=""
android:singleLine="true"
- android:hint="鍦ㄢ�滃澶т簨璁板唴鎼滅储鈥�"
+ android:hint="鍦ㄢ�滃勾搴﹀仴搴锋儏鍐碘�濆唴鎼滅储"
+ android:focusable="false"
+ android:clickable="false"
+ android:editable="false"
/>
<ImageView
android:id="@+id/iv_search_type"
@@ -107,6 +112,7 @@
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center"
+ android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
@@ -126,19 +132,277 @@
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_assets" />
+ >
+ <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_annual_health_status" />
+ <com.scwang.smart.refresh.footer.BallPulseFooter
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"/>
+ </com.scwang.smart.refresh.layout.SmartRefreshLayout>
+ <RelativeLayout
+ android:id="@+id/container_search_parameter"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ app:layout_constraintTop_toBottomOf="@id/titleBar"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ android:layout_marginTop="-4dp"
+ tools:layout_height="wrap_content"
+ >
+ <LinearLayout
+ android:id="@+id/layout_search_parameter"
+ android:orientation="vertical"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:background="@color/white"
+ android:layout_marginHorizontal="56dp"
+ android:paddingEnd="12dp"
+ android:paddingStart="5dp"
+ >
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.5dp"
+ android:background="#FF939393" />
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center">
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:text="棰樺悕"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <com.android.app_base.widget.ClearEditText
+ android:layout_width="0dp"
+ android:layout_weight="4"
+ android:layout_height="wrap_content"
+ android:background="@null"
+ android:inputType="text"
+ android:layout_marginStart="6dp"
+ android:text="@={viewModel.requestBeanLiveData.title}"
+ android:hint="璇疯緭鍏ラ鍚�"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ app:background="@drawable/ic_clear"
+ />
+
+ </LinearLayout>
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.3dp"
+ android:background="#FF939393" />
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center"
+ >
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:text="鏃堕棿"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <LinearLayout
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="4"
+ android:gravity="center"
+ >
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/et_start_time"
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:gravity="center"
+ android:layout_marginStart="6dp"
+ android:text="@={viewModel.requestBeanLiveData.happenStartTime}"
+ android:hint="寮�濮嬫椂闂�"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ android:lines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ tools:text="2022-01-01"
+ />
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="鈥�"
+ />
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/et_end_time"
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:gravity="center"
+ android:layout_height="wrap_content"
+ android:text="@={viewModel.requestBeanLiveData.happenEndTime}"
+ android:hint="缁撴潫鏃堕棿"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ tools:text="2022-01-01"
+ />
+ <ImageView
+ android:id="@+id/iv_time_clear"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:background="@drawable/ic_clear"
+ android:visibility="invisible"
+ />
+ </LinearLayout>
+
+ </LinearLayout>
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.3dp"
+ android:background="#FF939393" />
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center">
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:text="绫诲埆"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <com.android.app_base.widget.ClearEditText
+ android:layout_width="0dp"
+ android:layout_weight="4"
+ android:layout_height="wrap_content"
+ android:background="@null"
+ android:inputType="text"
+ android:layout_marginStart="6dp"
+ android:text="@={viewModel.requestBeanLiveData.type}"
+ android:hint="璇疯緭鍏ョ被鍒�"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ app:background="@drawable/ic_clear"
+ />
+
+ </LinearLayout>
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.3dp"
+ android:background="#FF939393" />
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center">
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:text="灏辩梾鍖婚櫌"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:maxLines="1"
+ android:lines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <com.android.app_base.widget.ClearEditText
+ android:layout_width="0dp"
+ android:layout_weight="4"
+ android:layout_height="wrap_content"
+ android:background="@null"
+ android:inputType="text"
+ android:layout_marginStart="6dp"
+ android:text="@={viewModel.requestBeanLiveData.hospital}"
+ android:hint="璇疯緭鍏ュ氨鐥呭尰闄�"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ app:background="@drawable/ic_clear"
+ />
+ </LinearLayout>
+ </LinearLayout>
+
+ </RelativeLayout>
+ <com.google.android.material.floatingactionbutton.FloatingActionButton
+ android:id="@+id/fab_add"
+ android:layout_width="56dp"
+ android:layout_height="56dp"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ android:layout_marginEnd="25dp"
+ android:layout_marginBottom="@dimen/dp_44"
+ android:src="@drawable/ic_add"
+ app:fabCustomSize="56dp"
+ />
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_annual_health_status_detail.xml b/app/src/main/res/layout/activity_annual_health_status_detail.xml
index 53366db..8413cc2 100644
--- a/app/src/main/res/layout/activity_annual_health_status_detail.xml
+++ b/app/src/main/res/layout/activity_annual_health_status_detail.xml
@@ -18,9 +18,25 @@
<com.android.app_base.widget.ExtendTitleBar
android:layout_width="match_parent"
android:layout_height="wrap_content"
- app:title="骞村害鍋ュ悍鐘跺喌"
+ app:title="@{viewModel.beanLiveData.id==0?`鏂板缓骞村害鍋ュ悍鐘跺喌`:viewModel.beanLiveData.title}"
app:titleGravity="left"
- />
+ app:leftIcon="@drawable/ic_back"
+ >
+ <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="@{viewModel.typeLiveData?@drawable/ic_operate_finish:@drawable/ic_operate}" />
+ </FrameLayout>
+ </com.android.app_base.widget.ExtendTitleBar>
<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
@@ -41,17 +57,36 @@
android:textSize="12sp"
/>
-
- <EditText
+ <androidx.constraintlayout.widget.ConstraintLayout
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="@{String.valueOf(viewModel.beanLiveData.id)}"
- />
+ >
+ <EditText
+ android:id="@+id/et_id"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:inputType="text"
+ android:textColorHint="#6b000000"
+ android:textColor="#DE000000"
+ android:textSize="16sp"
+ android:text="@{viewModel.beanLiveData.id==0?`-1`:viewModel.beanLiveData.id+``}"
+ android:enabled="false"
+ android:src="@color/color_non_editable"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ />
+ <View
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:background="@color/color_non_editable"
+ app:layout_constraintTop_toTopOf="@id/et_id"
+ app:layout_constraintStart_toStartOf="@id/et_id"
+ app:layout_constraintBottom_toBottomOf="@id/et_id"
+ app:layout_constraintEnd_toEndOf="@id/et_id"
+ android:visibility="@{viewModel.typeLiveData}"
+ />
+ </androidx.constraintlayout.widget.ConstraintLayout>
+
<TextView
android:layout_width="wrap_content"
@@ -63,13 +98,20 @@
/>
<EditText
+ android:id="@+id/et_time"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:inputType="text"
+ android:textColorHint="#6b000000"
+ android:hint="@{viewModel.typeLiveData?`璇烽�夋嫨鏃堕棿`:``}"
android:textColor="#DE000000"
- android:text="@={viewModel.beanLiveData.time}"
- android:textSize="16sp" />
+ android:text="@={viewModel.beanLiveData.checkTime}"
+ android:textSize="16sp"
+ app:isEditable="@{false}"
+ android:clickable="@{viewModel.typeLiveData}"
+
+ />
<TextView
android:layout_width="wrap_content"
android:layout_marginTop="10dp"
@@ -84,9 +126,12 @@
android:layout_marginTop="2dp"
android:inputType="text"
android:textColorHint="#6b000000"
+ android:hint="@{viewModel.typeLiveData?`璇疯緭鍏ョ被鍒玚:``}"
android:text="@={viewModel.beanLiveData.type}"
android:textColor="#DE000000"
- android:textSize="16sp" />
+ android:textSize="16sp"
+ android:enabled="@{viewModel.typeLiveData}"
+ />
<TextView
android:layout_width="wrap_content"
android:layout_marginTop="10dp"
@@ -101,14 +146,17 @@
android:layout_marginTop="2dp"
android:inputType="text"
android:textColorHint="#6b000000"
+ android:hint="@{viewModel.typeLiveData?`璇疯緭鍏ュ氨鐥呭尰闄:``}"
android:textColor="#DE000000"
android:text="@={viewModel.beanLiveData.hospital}"
- android:textSize="16sp" />
+ android:textSize="16sp"
+ android:enabled="@{viewModel.typeLiveData}"
+ />
<TextView
android:layout_width="wrap_content"
android:layout_marginTop="10dp"
android:layout_height="wrap_content"
- android:text="鎻愬悕"
+ android:text="棰樺悕"
android:textColor="#767375"
android:textSize="12sp"
/>
@@ -118,9 +166,12 @@
android:layout_marginTop="2dp"
android:inputType="text"
android:textColorHint="#6b000000"
+ android:hint="@{viewModel.typeLiveData?`璇疯緭鍏ラ鍚峘:``}"
android:textColor="#DE000000"
- android:text="@={viewModel.beanLiveData.name}"
- android:textSize="16sp" />
+ android:text="@={viewModel.beanLiveData.title}"
+ android:textSize="16sp"
+ android:enabled="@{viewModel.typeLiveData}"
+ />
<TextView
android:layout_width="wrap_content"
android:layout_marginTop="10dp"
@@ -135,9 +186,12 @@
android:layout_marginTop="2dp"
android:inputType="text"
android:textColorHint="#6b000000"
+ android:hint="@{viewModel.typeLiveData?`璇疯緭鍏ユ敞鎰忎簨椤筦:``}"
android:textColor="#DE000000"
- android:text="@={viewModel.beanLiveData.attention}"
- android:textSize="16sp" />
+ android:text="@={viewModel.beanLiveData.notice}"
+ android:textSize="16sp"
+ android:enabled="@{viewModel.typeLiveData}"
+ />
<TextView
android:layout_width="wrap_content"
android:layout_marginTop="10dp"
@@ -152,9 +206,12 @@
android:layout_marginTop="2dp"
android:inputType="text"
android:textColorHint="#6b000000"
+ android:hint="@{viewModel.typeLiveData?`璇疯緭鍏ュ娉╜:``}"
android:textColor="#DE000000"
android:text="@={viewModel.beanLiveData.remark}"
- android:textSize="16sp" />
+ android:textSize="16sp"
+ android:enabled="@{viewModel.typeLiveData}"
+ />
<TextView
android:layout_width="wrap_content"
android:layout_marginTop="10dp"
diff --git a/app/src/main/res/layout/activity_basic_info.xml b/app/src/main/res/layout/activity_basic_info.xml
index 6fcc5b9..e3a0094 100644
--- a/app/src/main/res/layout/activity_basic_info.xml
+++ b/app/src/main/res/layout/activity_basic_info.xml
@@ -80,11 +80,12 @@
android:textSize="12sp"
android:alpha="0.54"
/>
- <TextView
+ <EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="寮犱笁"
+ android:text="@={viewModel.infoLiveData.nickName}"
android:textColor="#DE000000"
+ android:background="@null"
android:textSize="16sp"
android:layout_marginTop="5dp"
/>
@@ -110,12 +111,13 @@
android:textSize="12sp"
android:alpha="0.54"
/>
- <TextView
+ <EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="12345678901"
+ android:text="@={viewModel.infoLiveData.phoneNumber}"
android:textColor="#DE000000"
android:textSize="16sp"
+ android:background="@null"
android:layout_marginTop="5dp"
/>
<View
@@ -146,12 +148,13 @@
android:textSize="12sp"
android:alpha="0.54"
/>
- <TextView
+ <EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="zhang@126.com"
+ android:text="@={viewModel.infoLiveData.email}"
android:textColor="#DE000000"
android:textSize="16sp"
+ android:background="@null"
android:layout_marginTop="5dp"
/>
<View
@@ -182,12 +185,13 @@
android:layout_marginTop="5dp"
>
<TextView
+ android:id="@+id/tv_male"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="鐢�"
android:textColor="#DE000000"
android:textSize="16sp"
- android:drawableStart="@drawable/ic_radio_button_selected"
+ android:drawableStart="@{viewModel.infoLiveData.sex==1?@drawable/ic_radio_button_selected:@drawable/ic_radio_button_unselected}"
android:drawablePadding="5dp"
/>
<View
@@ -196,12 +200,13 @@
android:layout_weight="2"
/>
<TextView
+ android:id="@+id/tv_female"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="濂�"
android:textColor="#DE000000"
android:textSize="16sp"
- android:drawableStart="@drawable/ic_radio_button_unselected"
+ android:drawableStart="@{viewModel.infoLiveData.sex==0?@drawable/ic_radio_button_selected:@drawable/ic_radio_button_unselected}"
android:drawablePadding="5dp"
/>
<View
@@ -227,6 +232,7 @@
android:layout_marginTop="60dp"
>
<androidx.cardview.widget.CardView
+ android:id="@+id/layout_save"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:cardCornerRadius="10dp"
@@ -244,6 +250,7 @@
/>
</androidx.cardview.widget.CardView>
<androidx.cardview.widget.CardView
+ android:id="@+id/layout_close"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:cardCornerRadius="10dp"
@@ -251,15 +258,15 @@
app:cardElevation="0dp"
android:layout_marginStart="30dp"
>
+
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:textSize="16sp"
+ android:layout_marginHorizontal="36dp"
+ android:layout_marginVertical="12dp"
android:text="鍏抽棴"
android:textColor="#FF282828"
- android:layout_marginVertical="12dp"
- android:layout_marginHorizontal="36dp"
- />
+ android:textSize="16sp" />
</androidx.cardview.widget.CardView>
</LinearLayout>
</LinearLayout>
diff --git a/app/src/main/res/layout/activity_certificate_of_honor.xml b/app/src/main/res/layout/activity_certificate_of_honor.xml
index b234c6f..f00f761 100644
--- a/app/src/main/res/layout/activity_certificate_of_honor.xml
+++ b/app/src/main/res/layout/activity_certificate_of_honor.xml
@@ -1,7 +1,8 @@
<?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">
+ xmlns:tools="http://schemas.android.com/tools"
+ >
<data>
<variable
@@ -10,10 +11,12 @@
</data>
<androidx.constraintlayout.widget.ConstraintLayout
+ android:id="@+id/parentLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:orientation="vertical">
-
+ android:background="@color/color_normal_background"
+ android:orientation="vertical"
+ >
<com.android.app_base.widget.ExtendTitleBar
android:id="@+id/titleBar"
android:layout_width="match_parent"
@@ -34,32 +37,6 @@
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"
@@ -87,9 +64,11 @@
android:textColor="#61000000"
android:background="@null"
android:imeOptions="actionSearch"
- android:text=""
android:singleLine="true"
- android:hint="鍦ㄢ�滃澶т簨璁板唴鎼滅储鈥�"
+ android:text="鍦ㄢ�滆崳瑾夎瘉涔︹�滃唴鎼滅储"
+ android:editable="false"
+ android:focusable="false"
+ android:clickable="false"
/>
<ImageView
android:id="@+id/iv_search_type"
@@ -99,14 +78,40 @@
/>
</LinearLayout>
+ <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:textColor="@color/white"
+ android:layout_weight="1"
+ android:textSize="20sp"
+ app:textOverflowMode="@{4}"
+ />
+ <ImageView
+ android:id="@+id/iv_search_default"
+ android:layout_width="@dimen/dp_24"
+ android:layout_height="@dimen/dp_24"
+ android:background="@drawable/ic_search"
+ android:layout_marginStart="20dp"
+ />
+ </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"
+ android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
@@ -121,23 +126,194 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="18dp"
- android:text="鏆傛椂杩樻病鏈夋暟鎹摝~\n鐐瑰嚮鈥濓紜鈥濈珛鍗冲垱寤�"
+ android:text="鏆傛椂杩樻病鏈夋暟鎹摝~"
android:textSize="14sp"
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"
- />
+ app:layout_constraintBottom_toBottomOf="parent"
+ >
+ <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="wrap_content"
+ 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>
+
+ <RelativeLayout
+ android:id="@+id/container_search_parameter"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ app:layout_constraintTop_toBottomOf="@id/titleBar"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ android:layout_marginTop="-4dp"
+ tools:layout_height="wrap_content"
+ >
+ <LinearLayout
+ android:id="@+id/layout_search_parameter"
+ android:orientation="vertical"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:background="@color/white"
+ android:layout_marginHorizontal="56dp"
+ android:paddingEnd="12dp"
+ android:paddingStart="5dp"
+ >
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.5dp"
+ android:background="#FF939393" />
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center">
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:text="绫诲瀷"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <com.android.app_base.widget.ClearEditText
+ android:layout_width="0dp"
+ android:layout_weight="4"
+ android:layout_height="wrap_content"
+ android:background="@null"
+ android:inputType="text"
+ android:layout_marginStart="6dp"
+ android:text="@={viewModel.requestBeanLiveData.type}"
+ android:hint="璇疯緭鍏ョ被鍨�"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ app:background="@drawable/ic_clear"
+ />
+
+
+ </LinearLayout>
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.3dp"
+ android:background="#FF939393" />
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center">
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:text="鍚嶇О"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <com.android.app_base.widget.ClearEditText
+ android:layout_width="0dp"
+ android:layout_weight="4"
+ android:layout_height="wrap_content"
+ android:background="@null"
+ android:inputType="text"
+ android:layout_marginStart="6dp"
+ android:text="@={viewModel.requestBeanLiveData.name}"
+ android:hint="璇疯緭鍏ュ悕绉�"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ app:background="@drawable/ic_clear"
+ />
+
+ </LinearLayout>
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.3dp"
+ android:background="#FF939393" />
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center">
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:text="绾у埆"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:maxLines="1"
+ android:lines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <com.android.app_base.widget.ClearEditText
+ android:layout_width="0dp"
+ android:layout_weight="4"
+ android:layout_height="wrap_content"
+ android:background="@null"
+ android:inputType="text"
+ android:layout_marginStart="6dp"
+ android:text="@={viewModel.requestBeanLiveData.grade}"
+ android:hint="璇疯緭鍏ョ骇鍒�"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ app:background="@drawable/ic_clear"
+ />
+ </LinearLayout>
+ </LinearLayout>
+
+ </RelativeLayout>
</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
index 322d4d3..412ff48 100644
--- a/app/src/main/res/layout/activity_certificate_of_honor_detail.xml
+++ b/app/src/main/res/layout/activity_certificate_of_honor_detail.xml
@@ -52,24 +52,6 @@
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"
@@ -102,7 +84,7 @@
android:inputType="text"
android:textColorHint="#6b000000"
android:textColor="#DE000000"
- android:text="@={viewModel.beanLiveData.certificateNumber}"
+ android:text="@={viewModel.beanLiveData.idNo}"
android:textSize="16sp" />
<TextView
android:layout_width="wrap_content"
@@ -119,7 +101,7 @@
android:inputType="text"
android:textColorHint="#6b000000"
android:textColor="#DE000000"
- android:text="@={viewModel.beanLiveData.level}"
+ android:text="@={viewModel.beanLiveData.grade}"
android:textSize="16sp" />
<TextView
android:layout_width="wrap_content"
@@ -136,7 +118,7 @@
android:inputType="text"
android:textColorHint="#6b000000"
android:textColor="#DE000000"
- android:text="@={viewModel.beanLiveData.effectiveTime}"
+ android:text="@={viewModel.beanLiveData.validityDate}"
android:textSize="16sp" />
<TextView
android:layout_width="wrap_content"
@@ -153,7 +135,7 @@
android:inputType="text"
android:textColorHint="#6b000000"
android:textColor="#DE000000"
- android:text="@{viewModel.beanLiveData.getTime}"
+ android:text="@{viewModel.beanLiveData.getDate}"
android:textSize="16sp" />
<TextView
android:layout_width="wrap_content"
diff --git a/app/src/main/res/layout/activity_clean_storage.xml b/app/src/main/res/layout/activity_clean_storage.xml
index 6a7324d..b43b181 100644
--- a/app/src/main/res/layout/activity_clean_storage.xml
+++ b/app/src/main/res/layout/activity_clean_storage.xml
@@ -12,7 +12,8 @@
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:orientation="vertical">
+ android:background="@color/color_normal_background"
+ >
<com.android.app_base.widget.ExtendTitleBar
android:id="@+id/titleBar"
@@ -50,7 +51,7 @@
android:text="淇濇磥鏀剁撼"
android:layout_weight="1"
android:textColor="@color/white"
- android:textSize="@dimen/sp_20"
+ android:textSize="20sp"
/>
<ImageView
android:id="@+id/iv_search_default"
@@ -87,9 +88,11 @@
android:textColor="#61000000"
android:background="@null"
android:imeOptions="actionSearch"
- android:text=""
android:singleLine="true"
- android:hint="鍦ㄢ�滃澶т簨璁板唴鎼滅储鈥�"
+ android:text="鍦ㄢ�滀繚娲佹敹绾斥�濆唴鎼滅储"
+ android:focusable="false"
+ android:clickable="false"
+ android:editable="false"
/>
<ImageView
android:id="@+id/iv_search_type"
@@ -107,6 +110,7 @@
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center"
+ android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
@@ -126,19 +130,418 @@
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_assets" />
+ >
+ <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>
+ <RelativeLayout
+ android:id="@+id/container_search_parameter"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ app:layout_constraintTop_toBottomOf="@id/titleBar"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ android:layout_marginTop="-4dp"
+ tools:layout_height="wrap_content"
+ >
+ <LinearLayout
+ android:id="@+id/layout_search_parameter"
+ android:orientation="vertical"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:background="@color/white"
+ android:layout_marginHorizontal="56dp"
+ android:paddingEnd="12dp"
+ android:paddingStart="5dp"
+ >
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.5dp"
+ android:background="#FF939393" />
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center">
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:text="搴忓彿"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <com.android.app_base.widget.ClearEditText
+ android:id="@+id/et_search_id"
+ android:layout_width="0dp"
+ android:layout_weight="4"
+ android:layout_height="wrap_content"
+ android:background="@null"
+ android:inputType="numberSigned"
+ android:layout_marginStart="6dp"
+ android:hint="璇疯緭鍏ュ簭鍙�"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ app:background="@drawable/ic_clear"
+ />
+
+ </LinearLayout>
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.5dp"
+ android:background="#FF939393" />
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center">
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:text="绫诲瀷"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <com.android.app_base.widget.ClearEditText
+ android:layout_width="0dp"
+ android:layout_weight="4"
+ android:layout_height="wrap_content"
+ android:background="@null"
+ android:inputType="text"
+ android:layout_marginStart="6dp"
+ android:text="@={viewModel.requestBeanLiveData.kind}"
+ android:hint="璇疯緭鍏ョ被鍨�"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ app:background="@drawable/ic_clear"
+ />
+
+ </LinearLayout>
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.3dp"
+ android:background="#FF939393" />
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center">
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:text="绫诲埆"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <com.android.app_base.widget.ClearEditText
+ android:layout_width="0dp"
+ android:layout_weight="4"
+ android:layout_height="wrap_content"
+ android:background="@null"
+ android:inputType="text"
+ android:layout_marginStart="6dp"
+ android:text="@={viewModel.requestBeanLiveData.type}"
+ android:hint="璇疯緭鍏ョ被鍒�"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ app:background="@drawable/ic_clear"
+ />
+
+
+ </LinearLayout>
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.3dp"
+ android:background="#FF939393" />
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center">
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="match_parent"
+ android:text="淇濇磥鏂规硶"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <com.android.app_base.widget.ClearEditText
+ android:layout_width="0dp"
+ android:layout_weight="4"
+ android:layout_height="wrap_content"
+ android:background="@null"
+ android:inputType="text"
+ android:layout_marginStart="6dp"
+ android:text="@={viewModel.requestBeanLiveData.method}"
+ android:hint="璇疯緭鍏ヤ繚娲佹柟娉�"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ app:background="@drawable/ic_clear"
+ />
+
+ </LinearLayout>
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.3dp"
+ android:background="#FF939393" />
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center">
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:text="閫傜敤浜�"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:maxLines="1"
+ android:lines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <com.android.app_base.widget.ClearEditText
+ android:layout_width="0dp"
+ android:layout_weight="4"
+ android:layout_height="wrap_content"
+ android:background="@null"
+ android:inputType="text"
+ android:layout_marginStart="6dp"
+ android:text="@={viewModel.requestBeanLiveData.suitable}"
+ android:hint="璇疯緭鍏ラ�傜敤浜�"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ app:background="@drawable/ic_clear"
+ />
+ </LinearLayout>
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.3dp"
+ android:background="#FF939393"
+ />
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center"
+ >
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="match_parent"
+ android:text="鏉愭枡瀛樻斁鍦�"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:maxLines="1"
+ android:lines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="6sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <com.android.app_base.widget.ClearEditText
+ android:layout_width="0dp"
+ android:layout_weight="4"
+ android:layout_height="wrap_content"
+ android:background="@null"
+ android:inputType="text"
+ android:layout_marginStart="6dp"
+ android:text="@={viewModel.requestBeanLiveData.place}"
+ android:hint="璇疯緭鍏ユ潗鏂欏瓨鏀惧湴"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ app:background="@drawable/ic_clear"
+ />
+ </LinearLayout>
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.3dp"
+ android:background="#FF939393"
+ />
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center"
+ >
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="match_parent"
+ android:text="鏀剧疆鍦扮偣"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:maxLines="1"
+ android:lines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <com.android.app_base.widget.ClearEditText
+ android:layout_width="0dp"
+ android:layout_weight="4"
+ android:layout_height="wrap_content"
+ android:background="@null"
+ android:inputType="text"
+ android:layout_marginStart="6dp"
+ android:text="@={viewModel.requestBeanLiveData.location}"
+ android:hint="璇疯緭鍏ユ斁缃湴鐐�"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ app:background="@drawable/ic_clear"
+ />
+ </LinearLayout>
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.3dp"
+ android:background="#FF939393"
+ />
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center"
+ >
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:text="澶囨敞"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:maxLines="1"
+ android:lines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <com.android.app_base.widget.ClearEditText
+ android:layout_width="0dp"
+ android:layout_weight="4"
+ android:layout_height="wrap_content"
+ android:background="@null"
+ android:inputType="text"
+ android:layout_marginStart="6dp"
+ android:text="@={viewModel.requestBeanLiveData.remark}"
+ android:hint="璇疯緭鍏ュ娉�"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ app:background="@drawable/ic_clear"
+ />
+ </LinearLayout>
+ </LinearLayout>
+
+ </RelativeLayout>
+ <com.google.android.material.floatingactionbutton.FloatingActionButton
+ android:id="@+id/fab_add"
+ android:layout_width="56dp"
+ android:layout_height="56dp"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ android:layout_marginEnd="25dp"
+ android:layout_marginBottom="@dimen/dp_44"
+ android:src="@drawable/ic_add"
+ app:fabCustomSize="56dp"
+ />
</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
index ca3055e..101b054 100644
--- a/app/src/main/res/layout/activity_clean_storage_detail.xml
+++ b/app/src/main/res/layout/activity_clean_storage_detail.xml
@@ -16,11 +16,28 @@
android:orientation="vertical">
<com.android.app_base.widget.ExtendTitleBar
+ android:id="@+id/titleBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- app:title="淇濇磥鏀剁撼"
+ app:title="@{viewModel.beanLiveData.id==0?`鏂板淇濇磥鏀剁撼`:viewModel.beanLiveData.type}"
app:titleGravity="left"
- />
+ >
+ <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="@{viewModel.typeLiveData?@drawable/ic_operate_finish:@drawable/ic_operate}"
+ />
+ </FrameLayout>
+ </com.android.app_base.widget.ExtendTitleBar>
+
<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
@@ -46,11 +63,12 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="text"
+ android:hint="璇疯緭鍏ョ被鍨�(淇濇磥/鏀剁撼)"
android:autofillHints="creditCardNumber"
android:textColorHint="#6b000000"
android:textColor="#DE000000"
android:textSize="16sp"
- android:text="@={viewModel.beanLiveData.type}"
+ android:text="@={viewModel.beanLiveData.kind}"
/>
<TextView
@@ -67,8 +85,10 @@
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:inputType="text"
+ android:hint="璇疯緭鍏ラ�傜敤浜�"
+ android:textColorHint="#6b000000"
android:textColor="#DE000000"
- android:text="@={viewModel.beanLiveData.suitablePeople}"
+ android:text="@={viewModel.beanLiveData.suitable}"
android:textSize="16sp" />
<TextView
android:layout_width="wrap_content"
@@ -83,8 +103,9 @@
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:inputType="text"
+ android:hint="璇疯緭鍏ョ被鍒�"
android:textColorHint="#6b000000"
- android:text="@={viewModel.beanLiveData.category}"
+ android:text="@={viewModel.beanLiveData.type}"
android:textColor="#DE000000"
android:textSize="16sp" />
<TextView
@@ -100,9 +121,10 @@
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:inputType="text"
+ android:hint="璇疯緭鍏ヤ繚娲佹柟娉�"
android:textColorHint="#6b000000"
android:textColor="#DE000000"
- android:text="@={viewModel.beanLiveData.cleanMethod}"
+ android:text="@={viewModel.beanLiveData.method}"
android:textSize="16sp" />
<TextView
android:layout_width="wrap_content"
@@ -117,9 +139,10 @@
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:inputType="text"
+ android:hint="璇疯緭鍏ユ潗鏂欏瓨鏀惧湴"
android:textColorHint="#6b000000"
android:textColor="#DE000000"
- android:text="@={viewModel.beanLiveData.materialStorageLocation}"
+ android:text="@={viewModel.beanLiveData.place}"
android:textSize="16sp" />
<TextView
android:layout_width="wrap_content"
@@ -134,9 +157,10 @@
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:inputType="text"
+ android:hint="璇疯緭鍏ユ斁缃湴鐐�"
android:textColorHint="#6b000000"
android:textColor="#DE000000"
- android:text="@={viewModel.beanLiveData.placementLocation}"
+ android:text="@={viewModel.beanLiveData.location}"
android:textSize="16sp" />
<TextView
android:layout_width="wrap_content"
@@ -151,6 +175,7 @@
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:inputType="text"
+ android:hint="璇疯緭鍏ュ娉�"
android:textColorHint="#6b000000"
android:textColor="#DE000000"
android:text="@={viewModel.beanLiveData.remark}"
diff --git a/app/src/main/res/layout/activity_contacts.xml b/app/src/main/res/layout/activity_contacts.xml
index 1c7a03f..b031623 100644
--- a/app/src/main/res/layout/activity_contacts.xml
+++ b/app/src/main/res/layout/activity_contacts.xml
@@ -10,10 +10,12 @@
</data>
<androidx.constraintlayout.widget.ConstraintLayout
+ android:id="@+id/parentLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:orientation="vertical">
-
+ android:background="@color/color_normal_background"
+ android:orientation="vertical"
+ >
<com.android.app_base.widget.ExtendTitleBar
android:id="@+id/titleBar"
android:layout_width="match_parent"
@@ -34,7 +36,6 @@
android:background="@drawable/ic_operate"
/>
</FrameLayout>
-
<LinearLayout
android:id="@+id/layout_default"
android:layout_width="match_parent"
@@ -47,10 +48,11 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
- android:text="閫氳褰�(浠呬緵鏌ョ湅)"
+ android:text="閫氳褰曪紙浠呬緵鏌ョ湅锛�"
android:layout_weight="1"
android:textColor="@color/white"
- android:textSize="@dimen/sp_20"
+ android:textSize="20sp"
+ app:textOverflowMode="@{4}"
/>
<ImageView
android:id="@+id/iv_search_default"
@@ -59,7 +61,6 @@
android:background="@drawable/ic_search"
/>
</LinearLayout>
-
<LinearLayout
android:id="@+id/layout_search"
android:layout_width="match_parent"
@@ -87,9 +88,11 @@
android:textColor="#61000000"
android:background="@null"
android:imeOptions="actionSearch"
- android:text=""
android:singleLine="true"
- android:hint="鍦ㄢ�滈�氳褰曞唴鎼滅储鈥�"
+ android:text="鍦ㄢ�滈�氳褰曗�滃唴鎼滅储"
+ android:editable="false"
+ android:focusable="false"
+ android:clickable="false"
/>
<ImageView
android:id="@+id/iv_search_type"
@@ -98,20 +101,306 @@
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"
+ android:visibility="gone"
+ 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"
+ <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"
- tools:itemCount="10"
- tools:listitem="@layout/item_family_assets" />
+ app:layout_constraintBottom_toBottomOf="parent"
+ >
+ <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="wrap_content"
+ 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>
+
+ <RelativeLayout
+ android:id="@+id/container_search_parameter"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ app:layout_constraintTop_toBottomOf="@id/titleBar"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ android:layout_marginTop="-4dp"
+ tools:layout_height="wrap_content"
+ >
+ <LinearLayout
+ android:id="@+id/layout_search_parameter"
+ android:orientation="vertical"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:background="@color/white"
+ android:layout_marginHorizontal="56dp"
+ android:paddingEnd="12dp"
+ android:paddingStart="5dp"
+ >
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.5dp"
+ android:background="#FF939393" />
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center">
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:text="鎴愬憳濮撳悕"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:layout_gravity="center_vertical"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <com.android.app_base.widget.ClearEditText
+ android:layout_width="0dp"
+ android:layout_weight="4"
+ android:layout_height="wrap_content"
+ android:background="@null"
+ android:inputType="text"
+ android:layout_marginStart="6dp"
+ android:text="@={viewModel.requestBeanLiveData.myName}"
+ android:hint="璇疯緭鍏ユ垚鍛樺鍚�"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ app:background="@drawable/ic_clear"
+ />
+
+ </LinearLayout>
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.3dp"
+ android:background="#FF939393" />
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center">
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:text="濮撳悕"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <com.android.app_base.widget.ClearEditText
+ android:layout_width="0dp"
+ android:layout_weight="4"
+ android:layout_height="wrap_content"
+ android:background="@null"
+ android:inputType="text"
+ android:layout_marginStart="6dp"
+ android:text="@={viewModel.requestBeanLiveData.name}"
+ android:hint="璇疯緭鍏ュ鍚�"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ app:background="@drawable/ic_clear"
+ />
+
+
+ </LinearLayout>
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.3dp"
+ android:background="#FF939393" />
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center">
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:text="绉板懠"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <com.android.app_base.widget.ClearEditText
+ android:layout_width="0dp"
+ android:layout_weight="4"
+ android:layout_height="wrap_content"
+ android:background="@null"
+ android:inputType="text"
+ android:layout_marginStart="6dp"
+ android:text="@={viewModel.requestBeanLiveData.nickName}"
+ android:hint="璇疯緭鍏ョО鍛�"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ app:background="@drawable/ic_clear"
+ />
+
+ </LinearLayout>
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.3dp"
+ android:background="#FF939393" />
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center_vertical">
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="match_parent"
+ android:text="宸ヤ綔鍗曚綅"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:layout_gravity="center_vertical"
+ android:maxLines="1"
+ android:lines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <com.android.app_base.widget.ClearEditText
+ android:layout_width="0dp"
+ android:layout_weight="4"
+ android:layout_height="wrap_content"
+ android:background="@null"
+ android:inputType="text"
+ android:layout_marginStart="6dp"
+ android:text="@={viewModel.requestBeanLiveData.work}"
+ android:hint="璇疯緭鍏ュ伐浣滃崟浣�"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ app:background="@drawable/ic_clear"
+ />
+ </LinearLayout>
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.3dp"
+ android:background="#FF939393" />
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center_vertical">
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="match_parent"
+ android:text="鎵嬫満鍙风爜"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <com.android.app_base.widget.ClearEditText
+ android:layout_width="0dp"
+ android:layout_weight="4"
+ android:layout_height="wrap_content"
+ android:background="@null"
+ android:inputType="number"
+ android:layout_marginStart="6dp"
+ android:text="@={viewModel.requestBeanLiveData.phone}"
+ android:hint="璇疯緭鍏ユ墜鏈哄彿鐮�"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ app:background="@drawable/ic_clear"
+ />
+ </LinearLayout>
+ </LinearLayout>
+
+ </RelativeLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</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 6409ac9..75f72ec 100644
--- a/app/src/main/res/layout/activity_family_assets.xml
+++ b/app/src/main/res/layout/activity_family_assets.xml
@@ -4,16 +4,19 @@
xmlns:tools="http://schemas.android.com/tools">
<data>
+ <import type="android.view.View"/>
<variable
name="viewModel"
type="com.application.zhangshi_app_android.ui.function.FamilyAssetsActivityViewModel" />
</data>
<androidx.constraintlayout.widget.ConstraintLayout
+ android:id="@+id/parentLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:orientation="vertical">
-
+ android:background="@color/color_normal_background"
+ android:orientation="vertical"
+ >
<com.android.app_base.widget.ExtendTitleBar
android:id="@+id/titleBar"
android:layout_width="match_parent"
@@ -34,7 +37,6 @@
android:background="@drawable/ic_operate"
/>
</FrameLayout>
-
<LinearLayout
android:id="@+id/layout_default"
android:layout_width="match_parent"
@@ -47,10 +49,11 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
- android:text="瀹跺涵璧勪骇"
+ android:text="瀹跺涵璧勪骇锛堜粎渚涙煡鐪嬶級"
android:layout_weight="1"
android:textColor="@color/white"
- android:textSize="@dimen/sp_20"
+ android:textSize="20sp"
+ app:textOverflowMode="@{4}"
/>
<ImageView
android:id="@+id/iv_search_default"
@@ -59,7 +62,6 @@
android:background="@drawable/ic_search"
/>
</LinearLayout>
-
<LinearLayout
android:id="@+id/layout_search"
android:layout_width="match_parent"
@@ -87,9 +89,11 @@
android:textColor="#61000000"
android:background="@null"
android:imeOptions="actionSearch"
- android:text=""
android:singleLine="true"
- android:hint="鍦ㄢ�滃澶т簨璁板唴鎼滅储鈥�"
+ android:text="鍦ㄢ�滃搴祫浜р�滃唴鎼滅储"
+ android:editable="false"
+ android:focusable="false"
+ android:clickable="false"
/>
<ImageView
android:id="@+id/iv_search_type"
@@ -98,15 +102,14 @@
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"
+ android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
@@ -131,27 +134,266 @@
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_constraintBottom_toBottomOf="parent"
>
<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"
+ android:layout_height="wrap_content"
tools:itemCount="20"
- tools:listitem="@layout/item_family_assets" />
+ 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>
+ <RelativeLayout
+ android:id="@+id/container_search_parameter"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ app:layout_constraintTop_toBottomOf="@id/titleBar"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ android:layout_marginTop="-4dp"
+ tools:layout_height="wrap_content"
+ >
+ <LinearLayout
+ android:id="@+id/layout_search_parameter"
+ android:orientation="vertical"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:background="@color/white"
+ android:layout_marginHorizontal="56dp"
+ android:paddingEnd="12dp"
+ android:paddingStart="5dp"
+ >
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.5dp"
+ android:background="#FF939393" />
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center">
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:text="绫诲埆"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <com.android.app_base.widget.ClearEditText
+ android:layout_width="0dp"
+ android:layout_weight="4"
+ android:layout_height="wrap_content"
+ android:background="@null"
+ android:inputType="text"
+ android:layout_marginStart="6dp"
+ android:text="@={viewModel.requestBeanLiveData.type}"
+ android:hint="璇疯緭鍏ョ被鍒�"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ app:background="@drawable/ic_clear"
+ />
+
+ </LinearLayout>
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.3dp"
+ android:background="#FF939393" />
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center">
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:text="鎸佹湁浜�"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <com.android.app_base.widget.ClearEditText
+ android:layout_width="0dp"
+ android:layout_weight="4"
+ android:layout_height="wrap_content"
+ android:background="@null"
+ android:inputType="text"
+ android:layout_marginStart="6dp"
+ android:text="@={viewModel.requestBeanLiveData.holder}"
+ android:hint="璇疯緭鍏ユ寔鏈変汉"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ app:background="@drawable/ic_clear"
+ />
+
+
+ </LinearLayout>
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.3dp"
+ android:background="#FF939393" />
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center"
+ >
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:text="鏃堕棿"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <LinearLayout
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="4"
+ android:gravity="center"
+ >
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/et_start_time"
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:gravity="center"
+ android:layout_marginStart="6dp"
+ android:text="@={viewModel.requestBeanLiveData.happenStartTime}"
+ android:hint="寮�濮嬫椂闂�"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ android:lines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ tools:text="2022-01-01"
+ />
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="鈥�"
+ />
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/et_end_time"
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:gravity="center"
+ android:layout_height="wrap_content"
+ android:text="@={viewModel.requestBeanLiveData.happenEndTime}"
+ android:hint="缁撴潫鏃堕棿"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ tools:text="2022-01-01"
+ />
+ <ImageView
+ android:id="@+id/iv_time_clear"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:background="@drawable/ic_clear"
+ android:visibility="invisible"
+ />
+ </LinearLayout>
+
+ </LinearLayout>
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.3dp"
+ android:background="#FF939393" />
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center">
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:text="瀛樻斁鍦扮偣"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:maxLines="1"
+ android:lines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <com.android.app_base.widget.ClearEditText
+ android:layout_width="0dp"
+ android:layout_weight="4"
+ android:layout_height="wrap_content"
+ android:background="@null"
+ android:inputType="text"
+ android:layout_marginStart="6dp"
+ android:text="@={viewModel.requestBeanLiveData.address}"
+ android:hint="璇疯緭鍏ュ瓨鏀惧湴鐐�"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ app:background="@drawable/ic_clear"
+ />
+ </LinearLayout>
+ </LinearLayout>
+
+ </RelativeLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>
\ No newline at end of file
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 fb54eb1..934a442 100644
--- a/app/src/main/res/layout/activity_family_assets_detail.xml
+++ b/app/src/main/res/layout/activity_family_assets_detail.xml
@@ -10,7 +10,7 @@
</data>
<LinearLayout
- tools:context=".ui.function.CreateFamilyProjectActivity"
+ tools:context=".ui.function.FamilyMemorabiliaDetailActivity"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/color_normal_background"
@@ -19,8 +19,8 @@
<com.android.app_base.widget.ExtendTitleBar
android:layout_width="match_parent"
android:layout_height="wrap_content"
- app:title="鍝堝搱鍝�"
app:titleGravity="left"
+ app:title="@{viewModel.beanLiveData.holder + `鐨刞 + viewModel.beanLiveData.type}"
/>
<ScrollView
android:layout_width="match_parent"
@@ -69,7 +69,7 @@
android:layout_marginTop="2dp"
android:inputType="text"
android:textColor="#DE000000"
- android:text="@={viewModel.beanLiveData.createTime}"
+ android:text="@={viewModel.beanLiveData.happenTime}"
android:textSize="16sp" />
<TextView
android:layout_width="wrap_content"
@@ -156,9 +156,45 @@
android:textColor="#DE000000"
android:text="@={viewModel.beanLiveData.remark}"
android:textSize="16sp" />
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="10dp"
+ android:gravity="center_vertical"
+ >
+ <TextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:text="澶囧繕鏈�"
+ android:textColor="#FF000000"
+ android:textSize="20sp"
+ />
+ <ImageView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:background="@drawable/ic_tourism_add"
+ android:layout_marginEnd="15dp"
+ android:visibility="gone"
+ />
+ </LinearLayout>
+ <RelativeLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="10dp"
+ >
+ <androidx.recyclerview.widget.RecyclerView
+ android:id="@+id/rv_memo"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ tools:listitem="@layout/item_memo"
+ tools:itemCount="2"
+ />
+ </RelativeLayout>
+
<TextView
android:layout_width="wrap_content"
- android:layout_marginTop="10dp"
+ android:layout_marginTop="15dp"
android:layout_height="wrap_content"
android:text="鐢靛瓙鏂囦欢"
android:textColor="#767375"
@@ -167,24 +203,23 @@
<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
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:background="@drawable/shape_6b0000_stroke"
+ android:layout_marginBottom="20dp"
+ android:layout_marginTop="2dp"
android:paddingStart="10dp"
android:paddingEnd="5dp"
android:paddingVertical="10dp"
/>
-
</RelativeLayout>
+
</LinearLayout>
</ScrollView>
diff --git a/app/src/main/res/layout/activity_family_memorabilia.xml b/app/src/main/res/layout/activity_family_memorabilia.xml
index 179bf0f..263a4c1 100644
--- a/app/src/main/res/layout/activity_family_memorabilia.xml
+++ b/app/src/main/res/layout/activity_family_memorabilia.xml
@@ -4,6 +4,7 @@
xmlns:tools="http://schemas.android.com/tools"
>
<data>
+ <import type="android.view.View"/>
<variable
name="viewModel"
type="com.application.zhangshi_app_android.ui.function.FamilyMemorabiliaActivityViewModel"/>
@@ -13,7 +14,8 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".ui.function.FamilyMemorabiliaActivity"
- android:orientation="vertical">
+ android:background="@color/color_normal_background"
+ >
<com.android.app_base.widget.ExtendTitleBar
android:id="@+id/titleBar"
@@ -51,7 +53,7 @@
android:text="瀹跺ぇ浜嬭"
android:layout_weight="1"
android:textColor="@color/white"
- android:textSize="@dimen/sp_20"
+ android:textSize="20sp"
/>
<ImageView
android:id="@+id/iv_search_default"
@@ -91,6 +93,8 @@
android:text=""
android:singleLine="true"
android:hint="鍦ㄢ�滃澶т簨璁板唴鎼滅储鈥�"
+ android:focusable="false"
+ android:clickable="false"
/>
<ImageView
android:id="@+id/iv_search_type"
@@ -108,6 +112,7 @@
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center"
+ android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
@@ -131,7 +136,6 @@
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"
>
@@ -144,6 +148,7 @@
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent"
+ android:layout_marginTop="20dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toBottomOf="@+id/titleBar"
tools:itemCount="20"
@@ -152,18 +157,256 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</com.scwang.smart.refresh.layout.SmartRefreshLayout>
+ <RelativeLayout
+ android:id="@+id/container_search_parameter"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ app:layout_constraintTop_toBottomOf="@id/titleBar"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ android:layout_marginTop="-4dp"
+ tools:layout_height="wrap_content"
+ >
+ <LinearLayout
+ android:id="@+id/layout_search_parameter"
+ android:orientation="vertical"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:background="@color/white"
+ android:layout_marginHorizontal="56dp"
+ android:paddingEnd="12dp"
+ android:paddingStart="5dp"
+ >
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.5dp"
+ android:background="#FF939393" />
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center">
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:text="鏍囬"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <com.android.app_base.widget.ClearEditText
+ android:layout_width="0dp"
+ android:layout_weight="4"
+ android:layout_height="wrap_content"
+ android:background="@null"
+ android:inputType="text"
+ android:layout_marginStart="6dp"
+ android:text="@={viewModel.requestBeanLiveData.title}"
+ android:hint="璇疯緭鍏ユ爣棰�"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ app:background="@drawable/ic_clear"
+ />
+
+ </LinearLayout>
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.3dp"
+ android:background="#FF939393" />
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center">
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:text="浜虹墿"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <com.android.app_base.widget.ClearEditText
+ android:layout_width="0dp"
+ android:layout_weight="4"
+ android:layout_height="wrap_content"
+ android:background="@null"
+ android:inputType="text"
+ android:layout_marginStart="6dp"
+ android:text="@={viewModel.requestBeanLiveData.people}"
+ android:hint="璇疯緭鍏ヤ汉鐗�"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ app:background="@drawable/ic_clear"
+ />
+ </LinearLayout>
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.3dp"
+ android:background="#FF939393" />
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center"
+ >
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:text="鏃堕棿"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <LinearLayout
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="4"
+ android:gravity="center"
+ >
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/et_start_time"
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:gravity="center"
+ android:layout_marginStart="6dp"
+ android:text="@={viewModel.requestBeanLiveData.happenStartTime}"
+ android:hint="寮�濮嬫椂闂�"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ android:lines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ tools:text="2022-01-01"
+ />
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="鈥�"
+ />
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/et_end_time"
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:gravity="center"
+ android:layout_height="wrap_content"
+ android:text="@={viewModel.requestBeanLiveData.happenEndTime}"
+ android:hint="缁撴潫鏃堕棿"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ tools:text="2022-01-01"
+ />
+ <ImageView
+ android:id="@+id/iv_time_clear"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:background="@drawable/ic_clear"
+ android:visibility="invisible"
+ />
+ </LinearLayout>
+
+ </LinearLayout>
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.3dp"
+ android:background="#FF939393" />
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center">
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:text="鍦扮偣"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:maxLines="1"
+ android:lines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <com.android.app_base.widget.ClearEditText
+ android:layout_width="0dp"
+ android:layout_weight="4"
+ android:layout_height="wrap_content"
+ android:background="@null"
+ android:inputType="text"
+ android:layout_marginStart="6dp"
+ android:text="@={viewModel.requestBeanLiveData.address}"
+ android:hint="璇疯緭鍏ュ湴鐐�"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ app:background="@drawable/ic_clear"
+ />
+ </LinearLayout>
+ </LinearLayout>
+
+ </RelativeLayout>
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/fab_add"
- android:layout_width="@dimen/dp_56"
- android:layout_height="@dimen/dp_56"
+ android:layout_width="56dp"
+ android:layout_height="56dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
- android:layout_marginEnd="@dimen/dp_25"
+ android:layout_marginEnd="25dp"
android:layout_marginBottom="@dimen/dp_44"
android:src="@drawable/ic_add"
- app:fabCustomSize="@dimen/dp_56"
+ app:fabCustomSize="56dp"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/app/src/main/res/layout/activity_family_memorabilia_create.xml b/app/src/main/res/layout/activity_family_memorabilia_detail.xml
similarity index 66%
rename from app/src/main/res/layout/activity_family_memorabilia_create.xml
rename to app/src/main/res/layout/activity_family_memorabilia_detail.xml
index b48456f..790056b 100644
--- a/app/src/main/res/layout/activity_family_memorabilia_create.xml
+++ b/app/src/main/res/layout/activity_family_memorabilia_detail.xml
@@ -6,34 +6,22 @@
<data>
<variable
name="viewModel"
- type="com.application.zhangshi_app_android.ui.function.CreateFamilyProjectActivityViewModel" />
+ type="com.application.zhangshi_app_android.ui.function.FamilyMemorabiliaDetailActivityViewModel" />
</data>
<LinearLayout
- tools:context=".ui.function.CreateFamilyProjectActivity"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/color_normal_background"
android:orientation="vertical">
- <com.hjq.bar.TitleBar
+ <com.android.app_base.widget.ExtendTitleBar
android:id="@+id/titleBar"
android:layout_width="match_parent"
- android:layout_height="?attr/actionBarSize"
- app:layout_constraintTop_toTopOf="parent"
- android:paddingHorizontal="0dp"
- android:background="@color/color_title_bar_background"
- app:leftIcon="@null"
- app:rightIcon="@null"
+ android:layout_height="wrap_content"
+ app:title="@{viewModel.beanMutableLiveData.id==0?`鏂板瀹跺ぇ浜嬭`:viewModel.beanMutableLiveData.title}"
+ app:titleGravity="left"
>
- <ImageView
- android:id="@+id/iv_menu"
- android:layout_width="24dp"
- android:layout_height="24dp"
- android:layout_marginHorizontal="16dp"
- android:background="@drawable/ic_menu"
- android:layout_gravity="center_vertical"
- />
<FrameLayout
android:layout_width="24dp"
android:layout_height="24dp"
@@ -48,35 +36,16 @@
android:background="@{viewModel.typeLiveData?@drawable/ic_operate_finish:@drawable/ic_operate}"
/>
</FrameLayout>
+ </com.android.app_base.widget.ExtendTitleBar>
- <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:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_marginStart="16dp"
- android:text="寮犳皬APP绔嬮」"
- android:layout_weight="1"
- android:textColor="@color/white"
- android:textSize="@dimen/sp_20"
- />
- </LinearLayout>
-
-
- </com.hjq.bar.TitleBar>
- <ScrollView
+ <androidx.core.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintTop_toBottomOf="@id/titleBar"
>
<LinearLayout
android:layout_width="match_parent"
- android:layout_height="match_parent"
+ android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingHorizontal="20dp"
>
@@ -87,7 +56,7 @@
android:layout_height="@dimen/dp_20"
android:text="鏍囬"
android:textColor="#ff000000"
- android:textSize="@dimen/sp_12"
+ android:textSize="12sp"
/>
@@ -95,13 +64,13 @@
android:id="@+id/editTextsequence"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:hint="璇疯緭鍏ユ爣棰�"
android:inputType="text"
- android:autofillHints="creditCardNumber"
+ android:hint="@{viewModel.typeLiveData?`璇疯緭鍏ユ爣棰榒:``}"
android:textColorHint="#6b000000"
android:textColor="#DE000000"
- android:textSize="@dimen/sp_16"
+ android:textSize="16sp"
android:text="@={viewModel.beanMutableLiveData.title}"
+ android:enabled="@{viewModel.typeLiveData}"
/>
<TextView
@@ -111,20 +80,24 @@
android:layout_height="wrap_content"
android:text="鏃堕棿"
android:textColor="#ff000000"
- android:textSize="@dimen/sp_12"
+ android:textSize="12sp"
/>
<EditText
- android:id="@+id/editTextTime"
+ android:id="@+id/et_time"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_2"
- android:hint="璇疯緭鍏ユ椂闂�(鏍煎紡锛�2001-01-01)"
+ android:hint="@{viewModel.typeLiveData?`璇疯緭鍏ユ椂闂�(鏍煎紡锛�2001-01-01)`:``}"
android:inputType="text"
- android:textColorHint="#6b000000"
+ android:text="@={viewModel.beanMutableLiveData.happenTime}"
android:textColor="#DE000000"
- android:text="@={viewModel.beanMutableLiveData.createTime}"
- android:textSize="@dimen/sp_16" />
+ android:textColorHint="#6b000000"
+ android:textSize="16sp"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:isEditable="@{false}"
+ />
+
<TextView
android:id="@+id/textview_figure_1"
android:layout_width="wrap_content"
@@ -132,7 +105,7 @@
android:layout_height="wrap_content"
android:text="浜虹墿"
android:textColor="#ff000000"
- android:textSize="@dimen/sp_12"
+ android:textSize="12sp"
/>
@@ -141,12 +114,14 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_2"
- android:hint="璇疯緭鍏ヤ汉鐗�"
android:inputType="text"
+ android:hint="@{viewModel.typeLiveData?`璇疯緭鍏ヤ汉鐗ー:``}"
android:textColorHint="#6b000000"
android:text="@={viewModel.beanMutableLiveData.people}"
android:textColor="#DE000000"
- android:textSize="@dimen/sp_16" />
+ android:textSize="16sp"
+ android:enabled="@{viewModel.typeLiveData}"
+ />
<TextView
android:id="@+id/textview_spot"
android:layout_width="wrap_content"
@@ -154,7 +129,7 @@
android:layout_height="@dimen/dp_20"
android:text="鍦扮偣"
android:textColor="#ff000000"
- android:textSize="@dimen/sp_12"
+ android:textSize="12sp"
/>
@@ -162,13 +137,14 @@
android:id="@+id/editTextSpot"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_marginTop="@dimen/dp_2"
- android:hint="璇疯緭鍏ュ湴鐐�"
android:inputType="text"
+ android:hint="@{viewModel.typeLiveData?`璇疯緭鍏ュ湴鐐筦:``}"
android:textColorHint="#6b000000"
android:textColor="#DE000000"
android:text="@={viewModel.beanMutableLiveData.address}"
- android:textSize="@dimen/sp_16" />
+ android:textSize="16sp"
+ android:enabled="@{viewModel.typeLiveData}"
+ />
<TextView
android:id="@+id/textview_figure_2"
android:layout_width="wrap_content"
@@ -176,7 +152,7 @@
android:layout_height="wrap_content"
android:text="澶囨敞"
android:textColor="#ff000000"
- android:textSize="@dimen/sp_12"
+ android:textSize="12sp"
/>
@@ -185,12 +161,14 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_2"
- android:hint="璇疯緭鍏ュ娉�"
android:inputType="text"
+ android:hint="@{viewModel.typeLiveData?`璇疯緭鍏ュ娉╜:``}"
android:textColorHint="#6b000000"
android:textColor="#DE000000"
android:text="@={viewModel.beanMutableLiveData.remark}"
- android:textSize="@dimen/sp_16" />
+ android:textSize="16sp"
+ android:enabled="@{viewModel.typeLiveData}"
+ />
<TextView
android:id="@+id/textview_elecfile"
android:layout_width="wrap_content"
@@ -198,23 +176,30 @@
android:layout_height="wrap_content"
android:text="鐢靛瓙鏂囦欢"
android:textColor="#ff000000"
- android:textSize="@dimen/sp_12"
+ android:textSize="12sp"
/>
- <com.android.app_base.widget.WrapRecyclerView
- android:id="@+id/rv_image"
- android:orientation="vertical"
+ <RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:background="@drawable/shape_6b0000_stroke"
- android:layout_marginBottom="20dp"
- android:layout_marginTop="@dimen/dp_2"
- android:paddingStart="10dp"
- android:paddingEnd="5dp"
- android:paddingVertical="10dp"
- />
+ >
+ <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:background="@drawable/shape_6b0000_stroke"
+ android:layout_marginBottom="20dp"
+ android:layout_marginTop="2dp"
+ android:paddingStart="10dp"
+ android:paddingEnd="5dp"
+ android:paddingVertical="10dp"
+ tools:itemCount="30"
+ />
+
+ </RelativeLayout>
</LinearLayout>
- </ScrollView>
+ </androidx.core.widget.NestedScrollView>
</LinearLayout>
diff --git a/app/src/main/res/layout/activity_genealogy.xml b/app/src/main/res/layout/activity_genealogy.xml
new file mode 100644
index 0000000..a5ea74d
--- /dev/null
+++ b/app/src/main/res/layout/activity_genealogy.xml
@@ -0,0 +1,367 @@
+<?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.home.GenealogyActivityViewModel" />
+ </data>
+
+ <androidx.constraintlayout.widget.ConstraintLayout
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="vertical"
+ android:background="@color/color_normal_background"
+ >
+
+ <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"
+ app:leftIcon="@drawable/ic_back"
+ >
+ <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"
+ android:visibility="gone"
+ />
+ </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="20sp"
+ app:textOverflowMode="@{4}"
+ />
+ <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:singleLine="true"
+ android:text="鍦ㄢ�滃鏍圭綉鈥濆唴鎼滅储"
+ android:enabled="false"
+ />
+ <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"
+ android:visibility="gone"
+ 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>
+ <com.scwang.smart.refresh.layout.SmartRefreshLayout
+ android:id="@+id/refreshLayout"
+ android:layout_width="match_parent"
+ android:layout_height="0dp"
+ app:layout_constraintTop_toBottomOf="@+id/titleBar"
+ app:layout_constraintBottom_toBottomOf="parent"
+ >
+ <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="wrap_content"
+ tools:itemCount="20"
+ tools:listitem="@layout/item_home_member_list" />
+
+ <com.scwang.smart.refresh.footer.BallPulseFooter
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"/>
+ </com.scwang.smart.refresh.layout.SmartRefreshLayout>
+
+ <RelativeLayout
+ android:id="@+id/container_search_parameter"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ app:layout_constraintTop_toBottomOf="@id/titleBar"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ android:layout_marginTop="-4dp"
+ tools:layout_height="wrap_content"
+ >
+ <LinearLayout
+ android:id="@+id/layout_search_parameter"
+ android:orientation="vertical"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:background="@color/white"
+ android:layout_marginHorizontal="56dp"
+ android:paddingEnd="12dp"
+ android:paddingStart="5dp"
+ >
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.5dp"
+ android:background="#FF939393" />
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center">
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:text="韬唤"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <com.android.app_base.widget.ClearEditText
+ android:id="@+id/et_identity"
+ android:layout_width="0dp"
+ android:layout_weight="4"
+ android:layout_height="wrap_content"
+ android:background="@null"
+ android:inputType="text"
+ android:layout_marginStart="6dp"
+ android:hint="璇烽�夋嫨韬唤浠f暟"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ app:background="@drawable/ic_clear"
+ app:isEditable="@{false}"
+ />
+
+ </LinearLayout>
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.3dp"
+ android:background="#FF939393" />
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center">
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:text="濮撳悕"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <com.android.app_base.widget.ClearEditText
+ android:layout_width="0dp"
+ android:layout_weight="4"
+ android:layout_height="wrap_content"
+ android:background="@null"
+ android:inputType="text"
+ android:layout_marginStart="6dp"
+ android:text="@={viewModel.requestBeanLiveData.nickName}"
+ android:hint="璇疯緭鍏ュ鍚�"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ app:background="@drawable/ic_clear"
+ />
+
+
+ </LinearLayout>
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.3dp"
+ android:background="#FF939393" />
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center">
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:text="鎬у埆"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <com.android.app_base.widget.ClearEditText
+ android:id="@+id/et_sex"
+ android:layout_width="0dp"
+ android:layout_weight="4"
+ android:layout_height="wrap_content"
+ android:background="@null"
+ android:inputType="text"
+ android:layout_marginStart="6dp"
+ android:hint="璇烽�夋嫨鎬у埆"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ app:background="@drawable/ic_clear"
+ app:isEditable="@{false}"
+ />
+
+
+ </LinearLayout>
+
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.3dp"
+ android:background="#FF939393" />
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center">
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:text="鐢熸棩"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:maxLines="1"
+ android:lines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <com.android.app_base.widget.ClearEditText
+ android:id="@+id/et_birthday"
+ android:layout_width="0dp"
+ android:layout_weight="4"
+ android:layout_height="wrap_content"
+ android:background="@null"
+ android:inputType="text"
+ android:layout_marginStart="6dp"
+ android:text="@={viewModel.requestBeanLiveData.birth}"
+ android:hint="璇烽�夋嫨鐢熸棩"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ app:background="@drawable/ic_clear"
+ app:isEditable="@{false}"
+ />
+ </LinearLayout>
+ </LinearLayout>
+
+ </RelativeLayout>
+
+ </androidx.constraintlayout.widget.ConstraintLayout>
+
+</layout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_growth_experience.xml b/app/src/main/res/layout/activity_growth_experience.xml
index fca0cbc..8db9405 100644
--- a/app/src/main/res/layout/activity_growth_experience.xml
+++ b/app/src/main/res/layout/activity_growth_experience.xml
@@ -8,16 +8,18 @@
name="viewModel"
type="com.application.zhangshi_app_android.ui.function.GrowthExperienceActivityViewModel" />
</data>
- <LinearLayout
+ <androidx.constraintlayout.widget.ConstraintLayout
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:id="@+id/title_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- app:title="鎴愰暱缁忓巻"
+ app:layout_constraintTop_toTopOf="parent"
+ app:title="鎴愰暱缁忓巻锛堜粎渚涙煡鐪嬶級"
app:titleGravity="left"
>
<FrameLayout
@@ -37,11 +39,14 @@
</com.android.app_base.widget.ExtendTitleBar>
<LinearLayout
android:layout_width="match_parent"
- android:layout_height="match_parent"
+ android:layout_height="0dp"
android:orientation="vertical"
android:paddingHorizontal="20dp"
+ app:layout_constraintTop_toBottomOf="@id/title_bar"
+ app:layout_constraintBottom_toBottomOf="parent"
>
<androidx.core.widget.NestedScrollView
+ android:id="@+id/nestedScrollView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
@@ -57,7 +62,7 @@
android:layout_height="wrap_content"
android:text="鍩烘湰淇℃伅"
android:textColor="#ff000000"
- android:textSize="@dimen/sp_20"
+ android:textSize="20sp"
android:textStyle="bold"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
@@ -78,7 +83,7 @@
android:layout_height="@dimen/dp_20"
android:text="濮撳悕"
android:textColor="#88000000"
- android:textSize="@dimen/sp_12" />
+ android:textSize="12sp" />
<TextView
android:id="@+id/editText_name"
@@ -87,7 +92,7 @@
android:autofillHints="creditCardNumber"
android:textColor="#DE000000"
android:textColorHint="#6b000000"
- android:textSize="@dimen/sp_16"
+ android:textSize="16sp"
android:text="@{viewModel.infoLiveData.nickName}"
tools:text="寮犱笁" />
@@ -114,7 +119,7 @@
android:layout_height="@dimen/dp_20"
android:text="鏇剧敤鍚�"
android:textColor="#88000000"
- android:textSize="@dimen/sp_12" />
+ android:textSize="12sp" />
<TextView
android:id="@+id/editText_usedName"
@@ -122,7 +127,7 @@
android:layout_height="wrap_content"
android:autofillHints="creditCardNumber"
android:textColor="#DE000000"
- android:textSize="@dimen/sp_16"
+ android:textSize="16sp"
tools:text="寮犲洓"
android:text="@{viewModel.infoLiveData.oldName}"
/>
@@ -141,6 +146,7 @@
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@+id/layout_1"
android:layout_marginEnd="20dp"
+ app:imageUrl="@{viewModel.infoLiveData.img}"
/>
<LinearLayout
@@ -160,7 +166,7 @@
android:layout_height="@dimen/dp_20"
android:text="鎬у埆"
android:textColor="#88000000"
- android:textSize="@dimen/sp_12" />
+ android:textSize="12sp" />
<TextView
android:layout_width="wrap_content"
@@ -168,9 +174,9 @@
android:autofillHints="creditCardNumber"
android:textColor="#DE000000"
android:textColorHint="#6b000000"
- android:textSize="@dimen/sp_16"
+ android:textSize="16sp"
tools:text="鐢�"
- android:text="@{String.valueOf(viewModel.infoLiveData.sex)}"
+ android:text="@{viewModel.infoLiveData.sexStr}"
/>
<View
@@ -193,7 +199,7 @@
android:layout_height="@dimen/dp_20"
android:text="姘戞棌"
android:textColor="#88000000"
- android:textSize="@dimen/sp_12" />
+ android:textSize="12sp" />
<TextView
android:layout_width="wrap_content"
@@ -201,7 +207,7 @@
android:autofillHints="creditCardNumber"
android:textColor="#DE000000"
android:textColorHint="#6b000000"
- android:textSize="@dimen/sp_16"
+ android:textSize="16sp"
tools:text="姹夋棌"
android:text="@{viewModel.infoLiveData.nationality}"
/>
@@ -227,7 +233,7 @@
android:layout_height="@dimen/dp_20"
android:text="鍥界睄"
android:textColor="#88000000"
- android:textSize="@dimen/sp_12" />
+ android:textSize="12sp" />
<TextView
android:layout_width="wrap_content"
@@ -235,7 +241,7 @@
android:autofillHints="creditCardNumber"
android:textColor="#DE000000"
android:textColorHint="#6b000000"
- android:textSize="@dimen/sp_16"
+ android:textSize="16sp"
tools:text="涓浗"
android:text="@{viewModel.infoLiveData.nation}"
/>
@@ -260,7 +266,7 @@
android:layout_height="@dimen/dp_20"
android:text="濠氬Щ鐘跺喌"
android:textColor="#88000000"
- android:textSize="@dimen/sp_12" />
+ android:textSize="12sp" />
<TextView
android:layout_width="wrap_content"
@@ -268,9 +274,9 @@
android:autofillHints="creditCardNumber"
android:textColor="#DE000000"
android:textColorHint="#6b000000"
- android:textSize="@dimen/sp_16"
+ android:textSize="16sp"
tools:text="鏈"
- android:text="@{String.valueOf(viewModel.infoLiveData.maritalStatus)}"/>
+ android:text="@{viewModel.infoLiveData.maritalStatus}"/>
<View
android:layout_width="match_parent"
@@ -292,7 +298,7 @@
android:layout_height="@dimen/dp_20"
android:text="鑱旂郴鏂瑰紡"
android:textColor="#88000000"
- android:textSize="@dimen/sp_12" />
+ android:textSize="12sp" />
<TextView
android:layout_width="wrap_content"
@@ -300,7 +306,7 @@
android:autofillHints="creditCardNumber"
android:textColor="#DE000000"
android:textColorHint="#6b000000"
- android:textSize="@dimen/sp_16"
+ android:textSize="16sp"
tools:text="1234567890"
android:text="@{viewModel.infoLiveData.phoneNumber}"/>
@@ -326,7 +332,7 @@
android:layout_height="@dimen/dp_20"
android:text="鏀挎不闈㈣矊"
android:textColor="#88000000"
- android:textSize="@dimen/sp_12" />
+ android:textSize="12sp" />
<TextView
android:layout_width="wrap_content"
@@ -334,7 +340,7 @@
android:autofillHints="creditCardNumber"
android:textColor="#DE000000"
android:textColorHint="#6b000000"
- android:textSize="@dimen/sp_16"
+ android:textSize="16sp"
tools:text="缇や紬"
android:text="@{viewModel.infoLiveData.politicalOutlook}"/>
@@ -360,7 +366,7 @@
android:layout_height="@dimen/dp_20"
android:text="韬唤璇佸彿"
android:textColor="#88000000"
- android:textSize="@dimen/sp_12" />
+ android:textSize="12sp" />
<TextView
android:layout_width="wrap_content"
@@ -368,7 +374,7 @@
android:autofillHints="creditCardNumber"
android:textColor="#DE000000"
android:textColorHint="#6b000000"
- android:textSize="@dimen/sp_16"
+ android:textSize="16sp"
tools:text="440000199801010001"
android:text="@{viewModel.infoLiveData.idNum}"/>
@@ -393,7 +399,7 @@
android:layout_height="@dimen/dp_20"
android:text="鎴风睄鍦板潃"
android:textColor="#88000000"
- android:textSize="@dimen/sp_12" />
+ android:textSize="12sp" />
<TextView
android:layout_width="wrap_content"
@@ -401,7 +407,7 @@
android:autofillHints="creditCardNumber"
android:textColor="#DE000000"
android:textColorHint="#6b000000"
- android:textSize="@dimen/sp_16"
+ android:textSize="16sp"
tools:text="骞夸笢鐪佸箍宸炲競鐣鍖哄皬璋峰洿琛楅亾"
android:text="@{viewModel.infoLiveData.locationAddress}" />
@@ -422,7 +428,7 @@
android:layout_marginTop="16dp"
tools:layout_height="wrap_content"
>
- <LinearLayout
+ <androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/layout_experience_title"
android:layout_width="match_parent"
android:layout_height="50dp"
@@ -430,21 +436,29 @@
>
<TextView
android:id="@+id/tv_primary_experience"
- android:layout_width="0dp"
+ android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="涓昏瀛︿範鍙婂伐浣滅粡鍘�"
android:textColor="#ff000000"
- android:textSize="@dimen/sp_20"
- android:textStyle="bold" />
+ android:textSize="20sp"
+ android:textStyle="bold"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+
+ />
<ImageView
android:id="@+id/iv_experience_fold"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:background="@{viewModel.isExperienceExpendedLiveData ? @drawable/ic_unfold : @drawable/ic_fold}"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
/>
- </LinearLayout>
+ </androidx.constraintlayout.widget.ConstraintLayout>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_primary"
@@ -463,7 +477,7 @@
app:layout_constraintTop_toBottomOf="@id/layout_experience"
android:layout_marginTop="10dp"
>
- <LinearLayout
+ <androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/layout_relation_title"
android:layout_width="match_parent"
android:layout_height="50dp"
@@ -476,15 +490,22 @@
android:layout_height="wrap_content"
android:text="瀹跺涵鎴愬憳鍙婁富瑕佺ぞ浼氬叧绯绘儏鍐�"
android:textColor="#ff000000"
- android:textSize="@dimen/sp_20"
- android:textStyle="bold" />
+ android:textSize="20sp"
+ android:textStyle="bold"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ />
<ImageView
android:id="@+id/iv_relation_fold"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@{viewModel.isRelationExpendedLiveData ? @drawable/ic_unfold : @drawable/ic_fold}"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
/>
- </LinearLayout>
+ </androidx.constraintlayout.widget.ConstraintLayout>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_relationship"
@@ -513,7 +534,7 @@
android:layout_marginTop="@dimen/dp_5"
android:text="绉诲眳鍥斤紙澧冿級鎯呭喌"
android:textColor="#ff000000"
- android:textSize="@dimen/sp_20"
+ android:textSize="20sp"
android:textStyle="bold"
/>
@@ -529,7 +550,8 @@
android:id="@+id/radioButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:checked="true"
+ android:checked="@{viewModel.infoLiveData.outStatus==1?true:false}"
+ android:clickable="false"
android:text="鏄�"
/>
<View
@@ -548,13 +570,14 @@
android:id="@+id/editText_Residence_Number"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:paddingHorizontal="20dp"
android:autofillHints="creditCardNumber"
android:textColor="#DE000000"
- android:textSize="@dimen/sp_16"
+ android:textSize="16sp"
+ tools:text="1234567890"
+ android:text="@{viewModel.infoLiveData.idNo}"
/>
<View
- android:layout_width="140dp"
+ android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#6B000000"
android:layout_marginTop="8dp"
@@ -569,7 +592,7 @@
android:layout_marginTop="10dp"
app:layout_constraintTop_toBottomOf="@id/layout_10"
>
- <LinearLayout
+ <androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/layout_holder_title"
android:layout_width="match_parent"
android:layout_height="50dp"
@@ -582,17 +605,24 @@
android:layout_weight="1"
android:text="鎸佹湁鍑哄叆澧冭瘉浠舵儏鍐�"
android:textColor="#ff000000"
- android:textSize="@dimen/sp_20"
- android:textStyle="bold" />
+ android:textSize="20sp"
+ android:textStyle="bold"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ />
- <ImageButton
+ <ImageView
android:id="@+id/iv_holder_fold"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:background="@{viewModel.isHolderExpendedLiveData ? @drawable/ic_unfold : @drawable/ic_fold}"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
/>
- </LinearLayout>
+ </androidx.constraintlayout.widget.ConstraintLayout>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_certificates"
@@ -612,7 +642,7 @@
app:layout_constraintTop_toBottomOf="@id/layout_holder"
android:layout_marginTop="10dp"
>
- <LinearLayout
+ <androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/layout_abroad_title"
android:layout_width="match_parent"
android:layout_height="50dp"
@@ -625,17 +655,24 @@
android:layout_weight="1"
android:text="鍑哄浗锛堝锛夋儏鍐�"
android:textColor="#ff000000"
- android:textSize="@dimen/sp_20"
- android:textStyle="bold" />
+ android:textSize="20sp"
+ android:textStyle="bold"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ />
- <ImageButton
+ <ImageView
android:id="@+id/iv_abroad_fold"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_gravity="center_vertical"
- android:background="@{viewModel.isAbroadExpendedLiveData ? @drawable/ic_unfold : @drawable/ic_fold}}"
+ android:background="@{viewModel.isAbroadExpendedLiveData ? @drawable/ic_unfold : @drawable/ic_fold}"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
/>
- </LinearLayout>
+ </androidx.constraintlayout.widget.ConstraintLayout>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_abroad"
@@ -653,7 +690,7 @@
android:layout_marginTop="20dp"
android:text="鑷紶"
android:textColor="#ff000000"
- android:textSize="@dimen/sp_20"
+ android:textSize="20sp"
android:textStyle="bold"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toBottomOf="@+id/layout_abroad"
@@ -678,6 +715,8 @@
android:background="@drawable/shape_fffad1e0_stroke_0_10_10_10"
android:paddingHorizontal="16dp"
android:paddingVertical="10dp"
+ android:visibility="gone"
+ tools:visibility="visible"
app:layout_constraintTop_toBottomOf="@id/tab_layout"
/>
@@ -686,5 +725,16 @@
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.core.widget.NestedScrollView>
</LinearLayout>
- </LinearLayout>
+ <androidx.constraintlayout.utils.widget.ImageFilterView
+ android:id="@+id/fab_move_to_top"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ android:layout_marginEnd="25dp"
+ android:layout_marginBottom="44dp"
+ app:fabCustomSize="100dp"
+ android:background="@drawable/ic_move_to_top"
+ />
+ </androidx.constraintlayout.widget.ConstraintLayout>
</layout>
diff --git a/app/src/main/res/layout/activity_health_care.xml b/app/src/main/res/layout/activity_health_care.xml
index 53bd954..6346ca2 100644
--- a/app/src/main/res/layout/activity_health_care.xml
+++ b/app/src/main/res/layout/activity_health_care.xml
@@ -25,23 +25,24 @@
app:title="鍋ュ悍淇濆仴"
app:titleGravity="left"
>
+
<FrameLayout
- android:layout_width="24dp"
+ android:layout_width="19dp"
android:layout_height="24dp"
- android:layout_marginHorizontal="16dp"
android:layout_gravity="center_vertical|end"
- >
+ android:layout_marginHorizontal="16dp">
+
<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"
- />
+ android:background="@{viewModel.typeLiveData?@drawable/ic_operate_finish:@drawable/ic_operate}" />
</FrameLayout>
</com.android.app_base.widget.ExtendTitleBar>
- <ScrollView
+ <androidx.core.widget.NestedScrollView
+ android:id="@+id/nestedScrollView"
android:layout_width="match_parent"
android:layout_height="0dp"
app:layout_constraintBottom_toBottomOf="parent"
@@ -64,9 +65,10 @@
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="XXX鐜扮姸鍋ュ悍鎯呭喌淇℃伅"
+ android:text="@{viewModel.healthCareBaseInfoBeanLiveData.name +`鐜扮姸鍋ュ悍鎯呭喌淇℃伅`}"
android:textColor="@color/black"
android:textSize="20sp"
+ tools:text="xxx鐜扮姸鍋ュ悍鎯呭喌淇℃伅"
/>
<TextView
android:layout_width="wrap_content"
@@ -95,13 +97,16 @@
android:textSize="12sp"
android:alpha="0.54"
/>
- <TextView
+ <EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="寮犱笁"
+ android:text="@={viewModel.healthCareBaseInfoBeanLiveData.name}"
+ android:background="@null"
+ android:enabled="@{viewModel.typeLiveData}"
android:textColor="#DE000000"
android:textSize="14sp"
android:layout_marginTop="5dp"
+ android:inputType="textMultiLine"
/>
<View
android:layout_width="match_parent"
@@ -126,9 +131,12 @@
android:alpha="0.54"
/>
<TextView
+ android:id="@+id/tv_sex"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="鐢�"
+ android:text="@={viewModel.healthCareBaseInfoBeanLiveData.sexStr}"
+ android:background="@null"
+ android:enabled="@{viewModel.typeLiveData}"
android:textColor="#DE000000"
android:textSize="14sp"
android:layout_marginTop="5dp"
@@ -160,13 +168,15 @@
android:textSize="12sp"
android:alpha="0.54"
/>
- <TextView
+ <EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="鏈"
- android:textColor="#DE000000"
+ android:text="@={viewModel.healthCareBaseInfoBeanLiveData.educationLevel}"
+ android:background="@null"
+ android:enabled="@{viewModel.typeLiveData}" android:textColor="#DE000000"
android:textSize="14sp"
android:layout_marginTop="5dp"
+ android:inputType="textMultiLine"
/>
<View
android:layout_width="match_parent"
@@ -190,13 +200,15 @@
android:textSize="12sp"
android:alpha="0.54"
/>
- <TextView
+ <EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="缁忕悊"
- android:textColor="#DE000000"
+ android:text="@={viewModel.healthCareBaseInfoBeanLiveData.work}"
+ android:background="@null"
+ android:enabled="@{viewModel.typeLiveData}" android:textColor="#DE000000"
android:textSize="14sp"
android:layout_marginTop="5dp"
+ android:inputType="textMultiLine"
/>
<View
android:layout_width="match_parent"
@@ -225,14 +237,15 @@
android:textSize="12sp"
android:alpha="0.54"
/>
- <TextView
+ <EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="17818824255"
- android:textColor="#DE000000"
+ android:text="@={viewModel.healthCareBaseInfoBeanLiveData.phone}"
+ android:background="@null"
+ android:enabled="@{viewModel.typeLiveData}" android:textColor="#DE000000"
android:textSize="14sp"
android:layout_marginTop="5dp"
- android:ellipsize="marquee"
+ android:inputType="phone"
/>
<View
android:layout_width="match_parent"
@@ -256,13 +269,15 @@
android:textSize="12sp"
android:alpha="0.54"
/>
- <TextView
+ <EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="Zhang@123.com"
- android:textColor="#DE000000"
+ android:text="@={viewModel.healthCareBaseInfoBeanLiveData.email}"
+ android:background="@null"
+ android:enabled="@{viewModel.typeLiveData}" android:textColor="#DE000000"
android:textSize="14sp"
android:layout_marginTop="5dp"
+ android:inputType="textMultiLine"
/>
<View
android:layout_width="match_parent"
@@ -291,13 +306,15 @@
android:textSize="12sp"
android:alpha="0.54"
/>
- <TextView
+ <EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="骞夸笢鐪佸箍宸炲競鐣鍖哄皬璋峰洿琛楅亾骞夸笢宸ヤ笟澶у"
- android:textColor="#DE000000"
+ android:text="@={viewModel.healthCareBaseInfoBeanLiveData.address}"
+ android:background="@null"
+ android:enabled="@{viewModel.typeLiveData}" android:textColor="#DE000000"
android:textSize="14sp"
android:layout_marginTop="5dp"
+ android:inputType="textMultiLine"
/>
<View
android:layout_width="match_parent"
@@ -335,9 +352,11 @@
app:layout_constraintHorizontal_chainStyle="spread_inside"
>
<ImageView
+ android:id="@+id/iv_a"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ app:select_state="@={viewModel.healthCareBaseInfoBeanLiveData.bloodClass.a}"
+ android:clickable="@{viewModel.typeLiveData}"
/>
<TextView
android:layout_width="wrap_content"
@@ -363,7 +382,9 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected" />
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareBaseInfoBeanLiveData.bloodClass.b}"
+ />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@@ -388,12 +409,14 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected" />
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareBaseInfoBeanLiveData.bloodClass.o}"
+ />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxLines="1"
- android:text="C鍨�"
+ android:text="O鍨�"
android:textColor="#DE000000"
android:textSize="16sp"
android:layout_marginStart="8dp"
@@ -412,7 +435,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareBaseInfoBeanLiveData.bloodClass.rh}"
/>
<TextView
android:layout_width="wrap_content"
@@ -437,7 +461,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareBaseInfoBeanLiveData.bloodClass.other}"
/>
<TextView
android:layout_width="wrap_content"
@@ -461,13 +486,14 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareBaseInfoBeanLiveData.bloodClass.unknown}"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxLines="1"
- android:text="RH闃村瀷"
+ android:text="涓嶆竻妤�"
android:textColor="#DE000000"
android:textSize="14sp"
android:layout_marginStart="8dp"
@@ -499,7 +525,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareBaseInfoBeanLiveData.allergyClass.medicine}"
/>
<TextView
android:layout_width="wrap_content"
@@ -521,7 +548,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareBaseInfoBeanLiveData.allergyClass.food}"
/>
<TextView
android:layout_width="wrap_content"
@@ -543,7 +571,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareBaseInfoBeanLiveData.allergyClass.other}"
/>
<TextView
android:layout_width="wrap_content"
@@ -580,7 +609,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareBaseInfoBeanLiveData.geneticDiseaseClass.hypertension}"
/>
<TextView
android:layout_width="wrap_content"
@@ -602,7 +632,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareBaseInfoBeanLiveData.geneticDiseaseClass.diabetes}"
/>
<TextView
android:layout_width="wrap_content"
@@ -624,7 +655,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareBaseInfoBeanLiveData.geneticDiseaseClass.tumor}"
/>
<TextView
android:layout_width="wrap_content"
@@ -646,7 +678,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareBaseInfoBeanLiveData.geneticDiseaseClass.other}"
/>
<TextView
android:layout_width="wrap_content"
@@ -678,14 +711,15 @@
android:textSize="12sp"
android:alpha="0.54"
/>
- <TextView
+ <EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="闃垮徃鍖规灄"
- android:textColor="#DE000000"
+ android:text="@={viewModel.healthCareBaseInfoBeanLiveData.medicine}"
+ android:background="@null"
+ android:enabled="@{viewModel.typeLiveData}" android:textColor="#DE000000"
android:textSize="14sp"
android:layout_marginTop="5dp"
- android:ellipsize="marquee"
+ android:inputType="textMultiLine"
/>
<View
android:layout_width="match_parent"
@@ -709,13 +743,15 @@
android:textSize="12sp"
android:alpha="0.54"
/>
- <TextView
+ <EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="鍐犲績鐥呫�佸摦鍠�"
- android:textColor="#DE000000"
+ android:text="@={viewModel.healthCareBaseInfoBeanLiveData.baseDisease}"
+ android:background="@null"
+ android:enabled="@{viewModel.typeLiveData}" android:textColor="#DE000000"
android:textSize="14sp"
android:layout_marginTop="5dp"
+ android:inputType="textMultiLine"
/>
<View
android:layout_width="match_parent"
@@ -788,14 +824,15 @@
android:textSize="12sp"
android:alpha="0.54"
/>
- <TextView
+ <EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:maxLines="1"
- android:text="鐢滃搧銆佺偣蹇�"
- android:textColor="#DE000000"
+ android:text="@={viewModel.healthCareLifeHabitsBeanLiveData.eatGood}"
+ android:background="@null"
+ android:enabled="@{viewModel.typeLiveData}" android:textColor="#DE000000"
android:textSize="14sp"
android:layout_marginTop="5dp"
+ android:inputType="textMultiLine"
/>
<View
android:layout_width="match_parent"
@@ -820,16 +857,15 @@
android:textSize="12sp"
android:alpha="0.54"
/>
- <TextView
+ <EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:maxLines="1"
- android:text="杈涜荆銆佸喎鍐�"
- android:textColor="#DE000000"
+ android:text="@={viewModel.healthCareLifeHabitsBeanLiveData.eatBad}"
+ android:background="@null"
+ android:enabled="@{viewModel.typeLiveData}" android:textColor="#DE000000"
android:textSize="14sp"
android:layout_marginTop="5dp"
- android:drawableStart="@drawable/ic_radio_button"
- android:drawablePadding="8dp"
+ android:inputType="textMultiLine"
/>
<View
android:layout_width="match_parent"
@@ -859,14 +895,16 @@
android:textSize="12sp"
android:alpha="0.54"
/>
- <TextView
+ <EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:maxLines="1"
- android:text="鍠濊尪"
+ android:text="@={viewModel.healthCareLifeHabitsBeanLiveData.hobby}"
+ android:background="@null"
+ android:enabled="@{viewModel.typeLiveData}"
android:textColor="#DE000000"
android:textSize="14sp"
android:layout_marginTop="5dp"
+ android:inputType="textMultiLine"
/>
<View
android:layout_width="match_parent"
@@ -891,14 +929,15 @@
android:textSize="12sp"
android:alpha="0.54"
/>
- <TextView
+ <EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:maxLines="1"
- android:text="鍚哥儫"
- android:textColor="#DE000000"
+ android:text="@={viewModel.healthCareLifeHabitsBeanLiveData.addition}"
+ android:background="@null"
+ android:enabled="@{viewModel.typeLiveData}" android:textColor="#DE000000"
android:textSize="14sp"
android:layout_marginTop="5dp"
+ android:inputType="textMultiLine"
/>
<View
android:layout_width="match_parent"
@@ -931,7 +970,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareLifeHabitsBeanLiveData.sleepClass.good}"
/>
<TextView
android:layout_width="wrap_content"
@@ -953,7 +993,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareLifeHabitsBeanLiveData.sleepClass.general}"
/>
<TextView
android:layout_width="wrap_content"
@@ -975,7 +1016,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareLifeHabitsBeanLiveData.sleepClass.easyWake}"
/>
<TextView
android:layout_width="wrap_content"
@@ -997,7 +1039,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareLifeHabitsBeanLiveData.sleepClass.dreaminess}"
/>
<TextView
android:layout_width="wrap_content"
@@ -1024,7 +1067,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareLifeHabitsBeanLiveData.sleepClass.sleepless}"
/>
<TextView
android:layout_width="wrap_content"
@@ -1046,7 +1090,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareLifeHabitsBeanLiveData.sleepClass.snore}"
/>
<TextView
android:layout_width="wrap_content"
@@ -1068,7 +1113,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareLifeHabitsBeanLiveData.sleepClass.wakefulness}"
/>
<TextView
android:layout_width="wrap_content"
@@ -1101,14 +1147,16 @@
android:textSize="12sp"
android:alpha="0.54"
/>
- <TextView
+ <EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:maxLines="1"
- android:text="1娆�/d"
+ android:text="@={viewModel.healthCareLifeHabitsBeanLiveData.eatGood}"
+ android:background="@null"
+ android:enabled="@{viewModel.typeLiveData}"
android:textColor="#DE000000"
android:textSize="14sp"
android:layout_marginTop="5dp"
+ android:inputType="textMultiLine"
/>
<View
android:layout_width="match_parent"
@@ -1133,14 +1181,15 @@
android:textSize="12sp"
android:alpha="0.54"
/>
- <TextView
+ <EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:maxLines="1"
- android:text="6娆�/d"
- android:textColor="#DE000000"
+ android:text="@={viewModel.healthCareLifeHabitsBeanLiveData.eatGood}"
+ android:background="@null"
+ android:enabled="@{viewModel.typeLiveData}" android:textColor="#DE000000"
android:textSize="14sp"
android:layout_marginTop="5dp"
+ android:inputType="textMultiLine"
/>
<View
android:layout_width="match_parent"
@@ -1172,7 +1221,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareLifeHabitsBeanLiveData.stoolStatusClass.normal}"
/>
<TextView
android:layout_width="wrap_content"
@@ -1193,7 +1243,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareLifeHabitsBeanLiveData.stoolStatusClass.constipation}"
/>
<TextView
android:layout_width="wrap_content"
@@ -1214,7 +1265,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareLifeHabitsBeanLiveData.stoolStatusClass.diarrhea}"
/>
<TextView
android:layout_width="wrap_content"
@@ -1235,7 +1287,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareLifeHabitsBeanLiveData.stoolStatusClass.incontinence}"
/>
<TextView
android:layout_width="wrap_content"
@@ -1257,20 +1310,26 @@
android:alpha="0.54"
android:layout_marginTop="20dp"
/>
- <LinearLayout
+ <androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
>
<LinearLayout
+ android:id="@+id/ll_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toStartOf="@id/ll_2"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintHorizontal_chainStyle="spread_inside"
>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareLifeHabitsBeanLiveData.urineStatusClass.normal}"
/>
<TextView
android:layout_width="wrap_content"
@@ -1283,15 +1342,19 @@
/>
</LinearLayout>
<LinearLayout
+ android:id="@+id/ll_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
- android:layout_marginStart="20dp"
+ app:layout_constraintStart_toEndOf="@id/ll_1"
+ app:layout_constraintEnd_toStartOf="@id/ll_3"
+ app:layout_constraintTop_toTopOf="parent"
>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareLifeHabitsBeanLiveData.urineStatusClass.nightUrinaryRetention}"
/>
<TextView
android:layout_width="wrap_content"
@@ -1304,15 +1367,18 @@
/>
</LinearLayout>
<LinearLayout
+ android:id="@+id/ll_3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
- android:layout_marginStart="20dp"
- >
+ app:layout_constraintStart_toEndOf="@id/ll_2"
+ app:layout_constraintEnd_toStartOf="@id/ll_4"
+ app:layout_constraintTop_toTopOf="parent" >
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareLifeHabitsBeanLiveData.urineStatusClass.incontinence}"
/>
<TextView
android:layout_width="wrap_content"
@@ -1325,15 +1391,18 @@
/>
</LinearLayout>
<LinearLayout
+ android:id="@+id/ll_4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
- android:layout_marginStart="20dp"
- >
+ app:layout_constraintStart_toEndOf="@id/ll_3"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent" >
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareLifeHabitsBeanLiveData.urineStatusClass.enuresis}"
/>
<TextView
android:layout_width="wrap_content"
@@ -1345,7 +1414,7 @@
android:layout_marginStart="8dp"
/>
</LinearLayout>
- </LinearLayout>
+ </androidx.constraintlayout.widget.ConstraintLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@@ -1368,7 +1437,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareLifeHabitsBeanLiveData.eatingHabitsClass.uniformityOfMeatAndVegetables}"
/>
<TextView
android:layout_width="wrap_content"
@@ -1394,7 +1464,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareLifeHabitsBeanLiveData.eatingHabitsClass.meat}"
/>
<TextView
android:layout_width="wrap_content"
@@ -1420,7 +1491,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareLifeHabitsBeanLiveData.eatingHabitsClass.vegetable}"
/>
<TextView
android:layout_width="wrap_content"
@@ -1446,7 +1518,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareLifeHabitsBeanLiveData.eatingHabitsClass.salt}"
/>
<TextView
android:layout_width="wrap_content"
@@ -1472,7 +1545,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareLifeHabitsBeanLiveData.eatingHabitsClass.oil}"
/>
<TextView
android:layout_width="wrap_content"
@@ -1498,7 +1572,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareLifeHabitsBeanLiveData.eatingHabitsClass.sugar}"
/>
<TextView
android:layout_width="wrap_content"
@@ -1524,7 +1599,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareLifeHabitsBeanLiveData.eatingHabitsClass.other}"
/>
<TextView
android:layout_width="wrap_content"
@@ -1560,7 +1636,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareLifeHabitsBeanLiveData.lifeEventClass.bereave}"
/>
<TextView
android:layout_width="wrap_content"
@@ -1582,7 +1659,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareLifeHabitsBeanLiveData.lifeEventClass.liveAlone}"
/>
<TextView
android:layout_width="wrap_content"
@@ -1609,7 +1687,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareLifeHabitsBeanLiveData.lifeEventClass.inHospital}"
/>
<TextView
android:layout_width="wrap_content"
@@ -1618,7 +1697,7 @@
android:text="涓�骞翠箣鍐呬綇闄㈡不鐤�"
android:textColor="#DE000000"
android:textSize="16sp"
- android:layout_marginStart="8dp"
+ android:layout_marginStart="5dp"
/>
</LinearLayout>
@@ -1632,7 +1711,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareLifeHabitsBeanLiveData.lifeEventClass.divide}"
/>
<TextView
android:layout_width="wrap_content"
@@ -1713,14 +1793,17 @@
android:textSize="12sp"
android:alpha="0.54"
/>
- <TextView
- android:layout_width="wrap_content"
+
+ <EditText
+ android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:maxLines="1"
- android:text="26.5 掳C"
+ android:text="@={viewModel.healthCareNursingExaminationBeanLiveData.temperature}"
+ android:background="@null"
+ android:enabled="@{viewModel.typeLiveData}"
android:textColor="#B3000000"
android:textSize="16sp"
android:layout_marginTop="5dp"
+ android:inputType="text"
/>
<View
android:layout_width="match_parent"
@@ -1745,16 +1828,16 @@
android:textSize="12sp"
android:alpha="0.54"
/>
- <TextView
+ <EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:maxLines="1"
- android:text="60涓�/鍒�"
+ android:text="@={viewModel.healthCareNursingExaminationBeanLiveData.pulse}"
+ android:background="@null"
+ android:enabled="@{viewModel.typeLiveData}"
android:textColor="#B3000000"
android:textSize="16sp"
android:layout_marginTop="5dp"
- android:drawableStart="@drawable/ic_radio_button"
- android:drawablePadding="8dp"
+ android:inputType="text"
/>
<View
android:layout_width="match_parent"
@@ -1784,14 +1867,16 @@
android:textSize="12sp"
android:alpha="0.54"
/>
- <TextView
+ <EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:maxLines="1"
- android:text="120"
+ android:text="@={viewModel.healthCareNursingExaminationBeanLiveData.bloodPressure}"
+ android:background="@null"
+ android:enabled="@{viewModel.typeLiveData}"
android:textColor="#B3000000"
android:textSize="16sp"
android:layout_marginTop="5dp"
+ android:inputType="text"
/>
<View
android:layout_width="match_parent"
@@ -1816,14 +1901,16 @@
android:textSize="12sp"
android:alpha="0.54"
/>
- <TextView
+ <EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:maxLines="1"
- android:text="65kg"
+ android:text="@={viewModel.healthCareNursingExaminationBeanLiveData.weight}"
+ android:background="@null"
+ android:enabled="@{viewModel.typeLiveData}"
android:textColor="#B3000000"
android:textSize="16sp"
android:layout_marginTop="5dp"
+ android:inputType="text"
/>
<View
android:layout_width="match_parent"
@@ -1855,7 +1942,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareNursingExaminationBeanLiveData.skinTypeClass.acne}"
/>
<TextView
android:layout_width="wrap_content"
@@ -1876,12 +1964,12 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
- android:layout_marginStart="20dp"
>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareNursingExaminationBeanLiveData.skinTypeClass.psoriasis}"
/>
<TextView
android:layout_width="wrap_content"
@@ -1902,12 +1990,12 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
- android:layout_marginStart="20dp"
>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareNursingExaminationBeanLiveData.skinTypeClass.color}"
/>
<TextView
android:layout_width="wrap_content"
@@ -1928,12 +2016,12 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
- android:layout_marginStart="20dp"
>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareNursingExaminationBeanLiveData.skinTypeClass.edema}"
/>
<TextView
android:layout_width="wrap_content"
@@ -1959,7 +2047,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareNursingExaminationBeanLiveData.skinTypeClass.rash}"
/>
<TextView
android:layout_width="wrap_content"
@@ -1984,7 +2073,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareNursingExaminationBeanLiveData.skinTypeClass.bloodStasis}"
/>
<TextView
android:layout_width="wrap_content"
@@ -2009,7 +2099,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareNursingExaminationBeanLiveData.skinTypeClass.snom}"
/>
<TextView
android:layout_width="wrap_content"
@@ -2035,7 +2126,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareNursingExaminationBeanLiveData.skinTypeClass.nevus}"
/>
<TextView
android:layout_width="wrap_content"
@@ -2056,7 +2148,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareNursingExaminationBeanLiveData.skinTypeClass.ulcer}"
/>
<TextView
android:layout_width="wrap_content"
@@ -2096,7 +2189,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareNursingExaminationBeanLiveData.psychologyTypeClass.optimistic}"
/>
<TextView
android:layout_width="wrap_content"
@@ -2121,7 +2215,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareNursingExaminationBeanLiveData.psychologyTypeClass.worry}"
/>
<TextView
android:layout_width="wrap_content"
@@ -2146,7 +2241,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareNursingExaminationBeanLiveData.psychologyTypeClass.fear}"
/>
<TextView
android:layout_width="wrap_content"
@@ -2172,7 +2268,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareNursingExaminationBeanLiveData.psychologyTypeClass.suspicion}"
/>
<TextView
android:layout_width="wrap_content"
@@ -2197,7 +2294,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareNursingExaminationBeanLiveData.psychologyTypeClass.constrain}"
/>
<TextView
android:layout_width="wrap_content"
@@ -2222,7 +2320,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareNursingExaminationBeanLiveData.psychologyTypeClass.miss}"
/>
<TextView
android:layout_width="wrap_content"
@@ -2257,7 +2356,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareNursingExaminationBeanLiveData.attitudeClass.lucidity}"
/>
<TextView
android:layout_width="wrap_content"
@@ -2282,7 +2382,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareNursingExaminationBeanLiveData.attitudeClass.unknown}"
/>
<TextView
android:layout_width="wrap_content"
@@ -2307,7 +2408,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareNursingExaminationBeanLiveData.attitudeClass.normal}"
/>
<TextView
android:layout_width="wrap_content"
@@ -2332,7 +2434,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareNursingExaminationBeanLiveData.attitudeClass.abnormal}"
/>
<TextView
android:layout_width="wrap_content"
@@ -2367,7 +2470,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareNursingExaminationBeanLiveData.nutritionClass.good}"
/>
<TextView
android:layout_width="wrap_content"
@@ -2392,7 +2496,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareNursingExaminationBeanLiveData.nutritionClass.medium}"
/>
<TextView
android:layout_width="wrap_content"
@@ -2417,7 +2522,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareNursingExaminationBeanLiveData.nutritionClass.poor}"
/>
<TextView
android:layout_width="wrap_content"
@@ -2442,7 +2548,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareNursingExaminationBeanLiveData.nutritionClass.obesity}"
/>
<TextView
android:layout_width="wrap_content"
@@ -2525,7 +2632,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareExistingProblemsBeanLiveData.brainDiseaseClass.ischemicStroke}"
/>
<TextView
android:layout_width="wrap_content"
@@ -2550,7 +2658,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareExistingProblemsBeanLiveData.brainDiseaseClass.cerebralHemorrhage}"
/>
<TextView
android:layout_width="wrap_content"
@@ -2575,7 +2684,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareExistingProblemsBeanLiveData.brainDiseaseClass.other}"
/>
<TextView
android:layout_width="wrap_content"
@@ -2601,7 +2711,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareExistingProblemsBeanLiveData.brainDiseaseClass.subarachnoidHemorrhage}"
/>
<TextView
android:layout_width="wrap_content"
@@ -2626,7 +2737,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareExistingProblemsBeanLiveData.brainDiseaseClass.tia}"
/>
<TextView
android:layout_width="wrap_content"
@@ -2661,7 +2773,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareExistingProblemsBeanLiveData.heartDiseaseClass.myocardialInfarct}"
/>
<TextView
android:layout_width="wrap_content"
@@ -2686,7 +2799,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareExistingProblemsBeanLiveData.heartDiseaseClass.anginaPectoris}"
/>
<TextView
android:layout_width="wrap_content"
@@ -2711,7 +2825,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareExistingProblemsBeanLiveData.heartDiseaseClass.congestiveHeartFailure}"
/>
<TextView
android:layout_width="wrap_content"
@@ -2737,7 +2852,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareExistingProblemsBeanLiveData.heartDiseaseClass.coronaryRevascularization}"
/>
<TextView
android:layout_width="wrap_content"
@@ -2762,7 +2878,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareExistingProblemsBeanLiveData.heartDiseaseClass.precordialPain}"
/>
<TextView
android:layout_width="wrap_content"
@@ -2788,7 +2905,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareExistingProblemsBeanLiveData.heartDiseaseClass.other}"
/>
<TextView
android:layout_width="wrap_content"
@@ -2823,7 +2941,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareExistingProblemsBeanLiveData.vascularDiseaseClass.dissectingAneurysm}"
/>
<TextView
android:layout_width="wrap_content"
@@ -2848,7 +2967,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareExistingProblemsBeanLiveData.vascularDiseaseClass.arterialOcclusiveDiseases}"
/>
<TextView
android:layout_width="wrap_content"
@@ -2873,7 +2993,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareExistingProblemsBeanLiveData.vascularDiseaseClass.other}"
/>
<TextView
android:layout_width="wrap_content"
@@ -2908,7 +3029,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareExistingProblemsBeanLiveData.digestiveSystemDiseaseClass.gastroduodenalUlcer}"
/>
<TextView
android:layout_width="wrap_content"
@@ -2933,7 +3055,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareExistingProblemsBeanLiveData.digestiveSystemDiseaseClass.esophagitis}"
/>
<TextView
android:layout_width="wrap_content"
@@ -2959,7 +3082,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareExistingProblemsBeanLiveData.digestiveSystemDiseaseClass.gastritis}"
/>
<TextView
android:layout_width="wrap_content"
@@ -2984,13 +3108,14 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareExistingProblemsBeanLiveData.digestiveSystemDiseaseClass.colitis}"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxLines="1"
- android:text="鑲濈値"
+ android:text="婧冪枴鎬х粨鑲犵値"
android:textColor="#DE000000"
android:textSize="16sp"
android:layout_marginStart="8dp"
@@ -3009,13 +3134,14 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareExistingProblemsBeanLiveData.digestiveSystemDiseaseClass.hepatitis}"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxLines="1"
- android:text="鍏跺畠"
+ android:text="鑲濈値"
android:textColor="#DE000000"
android:textSize="16sp"
android:layout_marginStart="8dp"
@@ -3035,7 +3161,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareExistingProblemsBeanLiveData.digestiveSystemDiseaseClass.cholecystitis}"
/>
<TextView
android:layout_width="wrap_content"
@@ -3060,7 +3187,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareExistingProblemsBeanLiveData.digestiveSystemDiseaseClass.cholelithiasis}"
/>
<TextView
android:layout_width="wrap_content"
@@ -3085,7 +3213,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareExistingProblemsBeanLiveData.digestiveSystemDiseaseClass.fattyLiver}"
/>
<TextView
android:layout_width="wrap_content"
@@ -3111,7 +3240,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareExistingProblemsBeanLiveData.digestiveSystemDiseaseClass.hyperlipidemia}"
/>
<TextView
android:layout_width="wrap_content"
@@ -3136,7 +3266,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareExistingProblemsBeanLiveData.digestiveSystemDiseaseClass.haemorrhoids}"
/>
<TextView
android:layout_width="wrap_content"
@@ -3161,7 +3292,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareExistingProblemsBeanLiveData.digestiveSystemDiseaseClass.other}"
/>
<TextView
android:layout_width="wrap_content"
@@ -3196,7 +3328,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareExistingProblemsBeanLiveData.respiratorySystemDiseaseClass.copd}"
/>
<TextView
android:layout_width="wrap_content"
@@ -3221,7 +3354,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareExistingProblemsBeanLiveData.respiratorySystemDiseaseClass.pneumonia}"
/>
<TextView
android:layout_width="wrap_content"
@@ -3246,7 +3380,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareExistingProblemsBeanLiveData.respiratorySystemDiseaseClass.bronchitis}"
/>
<TextView
android:layout_width="wrap_content"
@@ -3272,7 +3407,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareExistingProblemsBeanLiveData.respiratorySystemDiseaseClass.bronchialAsthma}"
/>
<TextView
android:layout_width="wrap_content"
@@ -3297,7 +3433,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareExistingProblemsBeanLiveData.respiratorySystemDiseaseClass.pulmonaryTuberculosis}"
/>
<TextView
android:layout_width="wrap_content"
@@ -3322,7 +3459,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareExistingProblemsBeanLiveData.respiratorySystemDiseaseClass.upperRespiratoryTractInfection}"
/>
<TextView
android:layout_width="wrap_content"
@@ -3348,7 +3486,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareExistingProblemsBeanLiveData.respiratorySystemDiseaseClass.other}"
/>
<TextView
android:layout_width="wrap_content"
@@ -3383,7 +3522,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareExistingProblemsBeanLiveData.kidneyDiseaseClass.diabetes}"
/>
<TextView
android:layout_width="wrap_content"
@@ -3408,7 +3548,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareExistingProblemsBeanLiveData.kidneyDiseaseClass.renalFailure}"
/>
<TextView
android:layout_width="wrap_content"
@@ -3433,7 +3574,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareExistingProblemsBeanLiveData.kidneyDiseaseClass.acuteNephritis}"
/>
<TextView
android:layout_width="wrap_content"
@@ -3460,7 +3602,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareExistingProblemsBeanLiveData.kidneyDiseaseClass.chronicNephritis}"
/>
<TextView
android:layout_width="wrap_content"
@@ -3481,7 +3624,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareExistingProblemsBeanLiveData.kidneyDiseaseClass.urinaryCalculus}"
/>
<TextView
android:layout_width="wrap_content"
@@ -3508,7 +3652,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareExistingProblemsBeanLiveData.kidneyDiseaseClass.urinaryTractInfection}"
/>
<TextView
android:layout_width="wrap_content"
@@ -3529,7 +3674,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareExistingProblemsBeanLiveData.kidneyDiseaseClass.other}"
/>
<TextView
android:layout_width="wrap_content"
@@ -3565,7 +3711,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareExistingProblemsBeanLiveData.otherDiseaseClass.pregnant}"
/>
<TextView
android:layout_width="wrap_content"
@@ -3586,7 +3733,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareExistingProblemsBeanLiveData.otherDiseaseClass.cold}"
/>
<TextView
android:layout_width="wrap_content"
@@ -3613,7 +3761,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareExistingProblemsBeanLiveData.otherDiseaseClass.infectious}"
/>
<TextView
android:layout_width="wrap_content"
@@ -3634,7 +3783,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareExistingProblemsBeanLiveData.otherDiseaseClass.pulmonaryBulla}"
/>
<TextView
android:layout_width="wrap_content"
@@ -3660,7 +3810,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareExistingProblemsBeanLiveData.otherDiseaseClass.hemoptysis}"
/>
<TextView
android:layout_width="wrap_content"
@@ -3687,7 +3838,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareExistingProblemsBeanLiveData.otherDiseaseClass.pneumothorax}"
/>
<TextView
android:layout_width="wrap_content"
@@ -3708,7 +3860,8 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_radio_button_selected"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:select_state="@={viewModel.healthCareExistingProblemsBeanLiveData.otherDiseaseClass.activeBleeding}"
/>
<TextView
android:layout_width="wrap_content"
@@ -3741,8 +3894,8 @@
app:tabIndicatorHeight="0dp"
app:tabGravity="fill"
/>
- <TextView
- android:id="@+id/tv_fill"
+ <EditText
+ android:id="@+id/et_fill"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/shape_fffad1e0_stroke_0_10_10_10"
@@ -3750,9 +3903,24 @@
android:paddingVertical="10dp"
android:layout_marginHorizontal="20dp"
app:layout_constraintTop_toBottomOf="@id/tab_layout"
+ android:enabled="@{viewModel.typeLiveData}"
+ android:hint="@{viewModel.typeLiveData ? `璇峰~鍐檂 : ``}"
+ android:inputType="textMultiLine"
+ android:textColor="#FF131215"
/>
</LinearLayout>
- </ScrollView>
+ </androidx.core.widget.NestedScrollView>
+ <androidx.constraintlayout.utils.widget.ImageFilterView
+ android:id="@+id/fab_move_to_top"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ android:layout_marginEnd="25dp"
+ android:layout_marginBottom="44dp"
+ app:fabCustomSize="100dp"
+ android:background="@drawable/ic_move_to_top"
+ />
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_home_devices.xml b/app/src/main/res/layout/activity_home_devices.xml
index 9698ca1..491d369 100644
--- a/app/src/main/res/layout/activity_home_devices.xml
+++ b/app/src/main/res/layout/activity_home_devices.xml
@@ -12,7 +12,8 @@
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:orientation="vertical">
+ android:background="@color/color_normal_background"
+ >
<com.android.app_base.widget.ExtendTitleBar
android:id="@+id/titleBar"
@@ -50,7 +51,7 @@
android:text="瀹跺涵璁惧"
android:layout_weight="1"
android:textColor="@color/white"
- android:textSize="@dimen/sp_20"
+ android:textSize="20sp"
/>
<ImageView
android:id="@+id/iv_search_default"
@@ -89,7 +90,10 @@
android:imeOptions="actionSearch"
android:text=""
android:singleLine="true"
- android:hint="鍦ㄢ�滃澶т簨璁板唴鎼滅储鈥�"
+ android:hint="鍦ㄢ�滃搴澶団�濆唴鎼滅储"
+ android:focusable="false"
+ android:clickable="false"
+ android:editable="false"
/>
<ImageView
android:id="@+id/iv_search_type"
@@ -107,6 +111,7 @@
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center"
+ android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
@@ -126,18 +131,322 @@
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"
- tools:itemCount="20"
- tools:layout_editor_absoluteX="-81dp"
- tools:listitem="@layout/item_home_devices" />
+ >
+ <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="3"
+ tools:listitem="@layout/item_little_doctor" />
+ <com.scwang.smart.refresh.footer.BallPulseFooter
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"/>
+ </com.scwang.smart.refresh.layout.SmartRefreshLayout>
+ <RelativeLayout
+ android:id="@+id/container_search_parameter"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ app:layout_constraintTop_toBottomOf="@id/titleBar"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ android:layout_marginTop="-4dp"
+ tools:layout_height="wrap_content"
+ >
+ <LinearLayout
+ android:id="@+id/layout_search_parameter"
+ android:orientation="vertical"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:background="@color/white"
+ android:layout_marginHorizontal="56dp"
+ android:paddingEnd="12dp"
+ android:paddingStart="5dp"
+ >
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.5dp"
+ android:background="#FF939393" />
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center">
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:text="浜嬮」鍐呭"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <com.android.app_base.widget.ClearEditText
+ android:layout_width="0dp"
+ android:layout_weight="4"
+ android:layout_height="wrap_content"
+ android:background="@null"
+ android:inputType="text"
+ android:layout_marginStart="6dp"
+ android:text="@={viewModel.requestBeanLiveData.content}"
+ android:hint="璇疯緭鍏ヤ簨椤瑰唴瀹�"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ app:background="@drawable/ic_clear"
+ />
+
+ </LinearLayout>
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.3dp"
+ android:background="#FF939393" />
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center">
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:text="璁惧鍚嶇О"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <com.android.app_base.widget.ClearEditText
+ android:layout_width="0dp"
+ android:layout_weight="4"
+ android:layout_height="wrap_content"
+ android:background="@null"
+ android:inputType="text"
+ android:layout_marginStart="6dp"
+ android:text="@={viewModel.requestBeanLiveData.name}"
+ android:hint="璇疯緭鍏ヨ澶囧悕绉�"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ app:background="@drawable/ic_clear"
+ />
+
+
+ </LinearLayout>
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.3dp"
+ android:background="#FF939393" />
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center">
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:text="璐拱浜�"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <com.android.app_base.widget.ClearEditText
+ android:layout_width="0dp"
+ android:layout_weight="4"
+ android:layout_height="wrap_content"
+ android:background="@null"
+ android:inputType="text"
+ android:layout_marginStart="6dp"
+ android:text="@={viewModel.requestBeanLiveData.buyer}"
+ android:hint="璇疯緭鍏ヨ喘涔颁汉"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ app:background="@drawable/ic_clear"
+ />
+
+ </LinearLayout>
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.3dp"
+ android:background="#FF939393" />
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center"
+ >
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:text="鏃堕棿"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <LinearLayout
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="4"
+ android:gravity="center"
+ >
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/et_start_time"
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:gravity="center"
+ android:layout_marginStart="6dp"
+ android:text="@={viewModel.requestBeanLiveData.happenStartTime}"
+ android:hint="寮�濮嬫椂闂�"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ android:lines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ tools:text="2022-01-01"
+ />
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="鈥�"
+ />
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/et_end_time"
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:gravity="center"
+ android:layout_height="wrap_content"
+ android:text="@={viewModel.requestBeanLiveData.happenEndTime}"
+ android:hint="缁撴潫鏃堕棿"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ tools:text="2022-01-01"
+ />
+ <ImageView
+ android:id="@+id/iv_time_clear"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:background="@drawable/ic_clear"
+ android:visibility="invisible"
+ />
+ </LinearLayout>
+
+ </LinearLayout>
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.3dp"
+ android:background="#FF939393" />
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center">
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:text="瀛樻斁鍦扮偣"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center_vertical"
+ android:lines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <com.android.app_base.widget.ClearEditText
+ android:layout_width="0dp"
+ android:layout_weight="4"
+ android:layout_height="wrap_content"
+ android:background="@null"
+ android:inputType="text"
+ android:layout_marginStart="6dp"
+ android:text="@={viewModel.requestBeanLiveData.location}"
+ android:hint="璇疯緭鍏ュ瓨鏀惧湴鐐�"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ app:background="@drawable/ic_clear"
+ />
+ </LinearLayout>
+ </LinearLayout>
+
+ </RelativeLayout>
+ <com.google.android.material.floatingactionbutton.FloatingActionButton
+ android:id="@+id/fab_add"
+ android:layout_width="56dp"
+ android:layout_height="56dp"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ android:layout_marginEnd="25dp"
+ android:layout_marginBottom="@dimen/dp_44"
+ android:src="@drawable/ic_add"
+ app:fabCustomSize="56dp"
+ />
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>
\ No newline at end of file
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 1324ff9..af40a90 100644
--- a/app/src/main/res/layout/activity_home_devices_detail.xml
+++ b/app/src/main/res/layout/activity_home_devices_detail.xml
@@ -17,10 +17,28 @@
android:orientation="vertical">
<com.android.app_base.widget.ExtendTitleBar
+ android:id="@+id/titleBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
+ app:title="@{viewModel.beanLiveData.id!=0?viewModel.beanLiveData.name:`娣诲姞璁惧`}"
app:titleGravity="left"
- />
+ >
+ <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="@{viewModel.typeLiveData?@drawable/ic_operate_finish:@drawable/ic_operate}"
+ />
+ </FrameLayout>
+ </com.android.app_base.widget.ExtendTitleBar>
+
<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
@@ -31,6 +49,7 @@
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingHorizontal="20dp"
+ android:paddingBottom="20dp"
>
<TextView
android:layout_width="wrap_content"
@@ -45,12 +64,14 @@
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:inputType="text"
+ android:inputType="textMultiLine"
android:autofillHints="creditCardNumber"
android:textColorHint="#6b000000"
+ android:hint="@{viewModel.typeLiveData?`璇疯緭鍏ヨ澶囧悕绉癭:``}"
android:textColor="#DE000000"
android:textSize="16sp"
android:text="@={viewModel.beanLiveData.name}"
+ android:enabled="@{viewModel.typeLiveData}"
/>
<TextView
@@ -63,13 +84,19 @@
/>
<EditText
+ android:id="@+id/et_time"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:inputType="text"
+ android:textColorHint="#6b000000"
+ android:hint="@{viewModel.typeLiveData?`璇烽�夋嫨鏃堕棿`:``}"
android:textColor="#DE000000"
- android:text="@={viewModel.beanLiveData.createDate}"
- android:textSize="16sp" />
+ android:text="@={viewModel.beanLiveData.happenTime}"
+ android:textSize="16sp"
+ android:clickable="@{viewModel.typeLiveData}"
+ app:isEditable="@{false}"
+ />
<TextView
android:layout_width="wrap_content"
android:layout_marginTop="10dp"
@@ -82,11 +109,14 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
- android:inputType="text"
+ android:inputType="textMultiLine"
android:textColorHint="#6b000000"
+ android:hint="@{viewModel.typeLiveData?`璇疯緭鍏ヨ喘涔颁汉`:``}"
android:text="@={viewModel.beanLiveData.buyer}"
android:textColor="#DE000000"
- android:textSize="16sp" />
+ android:textSize="16sp"
+ android:enabled="@{viewModel.typeLiveData}"
+ />
<TextView
android:layout_width="wrap_content"
android:layout_marginTop="10dp"
@@ -99,11 +129,14 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
- android:inputType="text"
+ android:inputType="textMultiLine"
android:textColorHint="#6b000000"
+ android:hint="@{viewModel.typeLiveData?`璇疯緭鍏ヤ簨椤瑰唴瀹筦:``}"
android:textColor="#DE000000"
android:text="@={viewModel.beanLiveData.content}"
- android:textSize="16sp" />
+ android:textSize="16sp"
+ android:enabled="@{viewModel.typeLiveData}"
+ />
<TextView
android:layout_width="wrap_content"
android:layout_marginTop="10dp"
@@ -118,9 +151,12 @@
android:layout_marginTop="2dp"
android:inputType="text"
android:textColorHint="#6b000000"
+ android:hint="@{viewModel.typeLiveData?`璇疯緭鍏ュ瓨鏀惧湴鐐筦:``}"
android:textColor="#DE000000"
android:text="@={viewModel.beanLiveData.location}"
- android:textSize="16sp" />
+ android:textSize="16sp"
+ android:enabled="@{viewModel.typeLiveData}"
+ />
<TextView
android:layout_width="wrap_content"
android:layout_marginTop="10dp"
@@ -133,11 +169,50 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
- android:inputType="text"
+ android:inputType="textMultiLine"
+ android:hint="@{viewModel.typeLiveData?`璇疯緭鍏ュ娉╜:``}"
android:textColorHint="#6b000000"
android:textColor="#DE000000"
android:text="@={viewModel.beanLiveData.remark}"
- android:textSize="16sp" />
+ android:textSize="16sp"
+ android:enabled="@{viewModel.typeLiveData}"
+ />
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="10dp"
+ android:gravity="center_vertical"
+ >
+ <TextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:text="澶囧繕鏈�"
+ android:textColor="#FF000000"
+ android:textSize="20sp"
+ />
+ <ImageView
+ android:id="@+id/iv_add_memo"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:background="@drawable/ic_tourism_add"
+ android:layout_marginEnd="15dp"
+ android:visibility="@{viewModel.typeLiveData}"
+ />
+ </LinearLayout>
+ <RelativeLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="10dp"
+ >
+ <androidx.recyclerview.widget.RecyclerView
+ android:id="@+id/rv_memo"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ tools:listitem="@layout/item_memo"
+ tools:itemCount="2"
+ />
+ </RelativeLayout>
<TextView
android:layout_width="wrap_content"
android:layout_marginTop="10dp"
diff --git a/app/src/main/res/layout/activity_honor_collection.xml b/app/src/main/res/layout/activity_honor_collection.xml
index 0e21024..d8fdf0f 100644
--- a/app/src/main/res/layout/activity_honor_collection.xml
+++ b/app/src/main/res/layout/activity_honor_collection.xml
@@ -12,7 +12,9 @@
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:orientation="vertical">
+ android:orientation="vertical"
+ android:background="@color/color_normal_background"
+ >
<com.android.app_base.widget.ExtendTitleBar
android:id="@+id/titleBar"
@@ -34,7 +36,6 @@
android:background="@drawable/ic_operate"
/>
</FrameLayout>
-
<LinearLayout
android:id="@+id/layout_default"
android:layout_width="match_parent"
@@ -47,10 +48,11 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
- android:text="鑽h獕鏀惰棌"
+ android:text="鑽h獕鏀惰棌(浠呬緵鏌ョ湅)"
android:layout_weight="1"
android:textColor="@color/white"
- android:textSize="@dimen/sp_20"
+ android:textSize="20sp"
+ app:textOverflowMode="@{4}"
/>
<ImageView
android:id="@+id/iv_search_default"
@@ -59,7 +61,6 @@
android:background="@drawable/ic_search"
/>
</LinearLayout>
-
<LinearLayout
android:id="@+id/layout_search"
android:layout_width="match_parent"
@@ -87,9 +88,11 @@
android:textColor="#61000000"
android:background="@null"
android:imeOptions="actionSearch"
- android:text=""
android:singleLine="true"
- android:hint="鍦ㄢ�滃澶т簨璁板唴鎼滅储鈥�"
+ android:text="鍦ㄢ�滆崳瑾夋敹钘忓唴鎼滅储鈥�"
+ android:editable="false"
+ android:clickable="false"
+ android:focusable="false"
/>
<ImageView
android:id="@+id/iv_search_type"
@@ -98,7 +101,6 @@
android:background="@drawable/ic_search_by"
/>
</LinearLayout>
-
</com.android.app_base.widget.ExtendTitleBar>
<LinearLayout
@@ -107,6 +109,7 @@
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center"
+ android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
@@ -126,18 +129,270 @@
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_assets" />
+ app:layout_constraintBottom_toBottomOf="parent"
+ >
+ <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="wrap_content"
+ tools:itemCount="20"
+ tools:listitem="@layout/item_honor_collection" />
+
+ <com.scwang.smart.refresh.footer.BallPulseFooter
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"/>
+ </com.scwang.smart.refresh.layout.SmartRefreshLayout>
+
+ <RelativeLayout
+ android:id="@+id/container_search_parameter"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ app:layout_constraintTop_toBottomOf="@id/titleBar"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ android:layout_marginTop="-4dp"
+ tools:layout_height="wrap_content"
+ >
+ <LinearLayout
+ android:id="@+id/layout_search_parameter"
+ android:orientation="vertical"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:background="@color/white"
+ android:layout_marginHorizontal="56dp"
+ android:paddingEnd="12dp"
+ android:paddingStart="5dp"
+ >
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.5dp"
+ android:background="#FF939393" />
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center">
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:text="绫诲埆"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <com.android.app_base.widget.ClearEditText
+ android:layout_width="0dp"
+ android:layout_weight="4"
+ android:layout_height="wrap_content"
+ android:background="@null"
+ android:inputType="text"
+ android:layout_marginStart="6dp"
+ android:text="@={viewModel.requestBeanLiveData.type}"
+ android:hint="璇疯緭鍏ョ被鍒�"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ app:background="@drawable/ic_clear"
+ />
+
+ </LinearLayout>
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.3dp"
+ android:background="#FF939393" />
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center">
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:text="鎷ユ湁鑰�"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <com.android.app_base.widget.ClearEditText
+ android:layout_width="0dp"
+ android:layout_weight="4"
+ android:layout_height="wrap_content"
+ android:background="@null"
+ android:inputType="text"
+ android:layout_marginStart="6dp"
+ android:text="@={viewModel.requestBeanLiveData.owner}"
+ android:hint="璇疯緭鍏ユ嫢鏈夎��"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ app:background="@drawable/ic_clear"
+ />
+
+
+ </LinearLayout>
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.3dp"
+ android:background="#FF939393" />
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center"
+ >
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:text="鏃堕棿"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <LinearLayout
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="4"
+ android:gravity="center"
+ >
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/et_start_time"
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:gravity="center"
+ android:layout_marginStart="6dp"
+ android:text="@={viewModel.requestBeanLiveData.happenStartTime}"
+ android:hint="寮�濮嬫椂闂�"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ android:lines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ tools:text="2022-01-01"
+ />
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="鈥�"
+ />
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/et_end_time"
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:gravity="center"
+ android:layout_height="wrap_content"
+ android:text="@={viewModel.requestBeanLiveData.happenEndTime}"
+ android:hint="缁撴潫鏃堕棿"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ tools:text="2022-01-01"
+ />
+ <ImageView
+ android:id="@+id/iv_time_clear"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:background="@drawable/ic_clear"
+ android:visibility="invisible"
+ />
+ </LinearLayout>
+
+ </LinearLayout>
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.3dp"
+ android:background="#FF939393" />
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center">
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:text="瀛樻斁浣嶇疆"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:maxLines="1"
+ android:lines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <com.android.app_base.widget.ClearEditText
+ android:layout_width="0dp"
+ android:layout_weight="4"
+ android:layout_height="wrap_content"
+ android:background="@null"
+ android:inputType="text"
+ android:layout_marginStart="6dp"
+ android:text="@={viewModel.requestBeanLiveData.location}"
+ android:hint="璇疯緭鍏ュ瓨鏀句綅缃�"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ app:background="@drawable/ic_clear"
+ />
+ </LinearLayout>
+ </LinearLayout>
+
+ </RelativeLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/app/src/main/res/layout/activity_honor_collection_detail.xml b/app/src/main/res/layout/activity_honor_collection_detail.xml
index 6a4b7c7..96b7332 100644
--- a/app/src/main/res/layout/activity_honor_collection_detail.xml
+++ b/app/src/main/res/layout/activity_honor_collection_detail.xml
@@ -1,6 +1,7 @@
<?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:app="http://schemas.android.com/apk/res-auto"
+ xmlns:tools="http://schemas.android.com/tools">
<data>
<variable
@@ -20,16 +21,16 @@
app:title="@{viewModel.beanLiveData.owner+`鐨刞+ viewModel.beanLiveData.type}"
app:titleGravity="left"
/>
- <ScrollView
+ <androidx.core.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
+ app:layout_constraintTop_toBottomOf="@id/titleBar"
>
<LinearLayout
android:layout_width="match_parent"
- android:layout_height="match_parent"
+ android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingHorizontal="20dp"
- android:paddingBottom="20dp"
>
<TextView
android:layout_width="wrap_content"
@@ -39,8 +40,6 @@
android:textColor="#767375"
android:textSize="12sp"
/>
-
-
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
@@ -51,7 +50,6 @@
android:textSize="16sp"
android:text="@={viewModel.beanLiveData.name}"
/>
-
<TextView
android:layout_width="wrap_content"
android:layout_marginTop="10dp"
@@ -60,14 +58,13 @@
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:text="@={viewModel.beanLiveData.happenTime}"
android:textSize="16sp" />
<TextView
android:layout_width="wrap_content"
@@ -155,35 +152,35 @@
android:text="@={viewModel.beanLiveData.remark}"
android:textSize="16sp" />
<TextView
+ android:id="@+id/textview_elecfile"
android:layout_width="wrap_content"
- android:layout_marginTop="10dp"
+ android:layout_marginTop="@dimen/dp_10"
android:layout_height="wrap_content"
android:text="鐢靛瓙鏂囦欢"
- android:textColor="#767375"
+ android:textColor="#ff000000"
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:background="@drawable/shape_6b0000_stroke"
+ android:layout_marginBottom="20dp"
+ android:layout_marginTop="2dp"
android:paddingStart="10dp"
android:paddingEnd="5dp"
android:paddingVertical="10dp"
/>
-
</RelativeLayout>
</LinearLayout>
- </ScrollView>
+ </androidx.core.widget.NestedScrollView>
</LinearLayout>
diff --git a/app/src/main/res/layout/activity_hundred_wish.xml b/app/src/main/res/layout/activity_hundred_wish.xml
index 7ba9212..7766ecf 100644
--- a/app/src/main/res/layout/activity_hundred_wish.xml
+++ b/app/src/main/res/layout/activity_hundred_wish.xml
@@ -34,7 +34,6 @@
android:background="@drawable/ic_operate"
/>
</FrameLayout>
-
<LinearLayout
android:id="@+id/layout_default"
android:layout_width="match_parent"
@@ -47,10 +46,11 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
- android:text="鐧惧勾蹇冩効(浠呬緵鏌ョ湅)"
+ android:text="鐧惧勾蹇冩効锛堜粎渚涙煡鐪嬶級"
android:layout_weight="1"
android:textColor="@color/white"
- android:textSize="@dimen/sp_20"
+ android:textSize="20sp"
+ app:textOverflowMode="@{4}"
/>
<ImageView
android:id="@+id/iv_search_default"
@@ -59,7 +59,6 @@
android:background="@drawable/ic_search"
/>
</LinearLayout>
-
<LinearLayout
android:id="@+id/layout_search"
android:layout_width="match_parent"
@@ -87,9 +86,11 @@
android:textColor="#61000000"
android:background="@null"
android:imeOptions="actionSearch"
- android:text=""
android:singleLine="true"
- android:hint="鍦ㄢ�滃澶т簨璁板唴鎼滅储鈥�"
+ android:text="鍦ㄢ�滅櫨骞村績鎰库�濆唴鎼滅储"
+ android:editable="false"
+ android:clickable="false"
+ android:focusable="false"
/>
<ImageView
android:id="@+id/iv_search_type"
@@ -98,7 +99,6 @@
android:background="@drawable/ic_search_by"
/>
</LinearLayout>
-
</com.android.app_base.widget.ExtendTitleBar>
<LinearLayout
@@ -107,6 +107,7 @@
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center"
+ android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
@@ -121,22 +122,274 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="18dp"
- android:text="鏆傛椂杩樻病鏈夋暟鎹摝~\n鐐瑰嚮鈥濓紜鈥濈珛鍗冲垱寤�"
+ android:text="鏆傛椂杩樻病鏈夋暟鎹摝~"
android:textSize="14sp"
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"
- />
+ app:layout_constraintBottom_toBottomOf="parent"
+ >
+ <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="wrap_content"
+ tools:itemCount="20"
+ tools:listitem="@layout/item_hundred_wish" />
+
+ <com.scwang.smart.refresh.footer.BallPulseFooter
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"/>
+ </com.scwang.smart.refresh.layout.SmartRefreshLayout>
+
+ <RelativeLayout
+ android:id="@+id/container_search_parameter"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ app:layout_constraintTop_toBottomOf="@id/titleBar"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ android:layout_marginTop="-4dp"
+ tools:layout_height="wrap_content"
+ >
+ <LinearLayout
+ android:id="@+id/layout_search_parameter"
+ android:orientation="vertical"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:background="@color/white"
+ android:layout_marginHorizontal="56dp"
+ android:paddingEnd="12dp"
+ android:paddingStart="5dp"
+ >
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.5dp"
+ android:background="#FF939393" />
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center"
+ >
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:text="鏃堕棿"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <LinearLayout
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="4"
+ android:gravity="center"
+ >
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/et_start_time"
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:gravity="center"
+ android:layout_marginStart="6dp"
+ android:text="@={viewModel.requestBeanLiveData.happenStartTime}"
+ android:hint="寮�濮嬫椂闂�"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ android:lines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ tools:text="2022-01-01"
+ />
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="鈥�"
+ />
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/et_end_time"
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:gravity="center"
+ android:layout_height="wrap_content"
+ android:text="@={viewModel.requestBeanLiveData.happenEndTime}"
+ android:hint="缁撴潫鏃堕棿"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ tools:text="2022-01-01"
+ />
+ <ImageView
+ android:id="@+id/iv_time_clear"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:background="@drawable/ic_clear"
+ android:visibility="invisible"
+ />
+ </LinearLayout>
+
+ </LinearLayout>
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.3dp"
+ android:background="#FF939393" />
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center">
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:text="鐞嗘兂鏍囬"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <com.android.app_base.widget.ClearEditText
+ android:layout_width="0dp"
+ android:layout_weight="4"
+ android:layout_height="wrap_content"
+ android:background="@null"
+ android:inputType="text"
+ android:layout_marginStart="6dp"
+ android:text="@={viewModel.requestBeanLiveData.title}"
+ android:hint="璇疯緭鍏ョ悊鎯虫爣棰�"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ app:background="@drawable/ic_clear"
+ />
+
+
+ </LinearLayout>
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.3dp"
+ android:background="#FF939393" />
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center">
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:text="鍙楁儬浜�"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <com.android.app_base.widget.ClearEditText
+ android:layout_width="0dp"
+ android:layout_weight="4"
+ android:layout_height="wrap_content"
+ android:background="@null"
+ android:inputType="text"
+ android:layout_marginStart="6dp"
+ android:text="@={viewModel.requestBeanLiveData.beneficiary}"
+ android:hint="璇疯緭鍏ュ彈鎯犱汉"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ app:background="@drawable/ic_clear"
+ />
+
+ </LinearLayout>
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.3dp"
+ android:background="#FF939393" />
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center">
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:text="缁ф壙浜�"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <com.android.app_base.widget.ClearEditText
+ android:layout_width="0dp"
+ android:layout_weight="4"
+ android:layout_height="wrap_content"
+ android:background="@null"
+ android:inputType="text"
+ android:layout_marginStart="6dp"
+ android:text="@={viewModel.requestBeanLiveData.heir}"
+ android:hint="璇疯緭鍏ョ户鎵夸汉"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ app:background="@drawable/ic_clear"
+ />
+
+ </LinearLayout>
+ </LinearLayout>
+
+ </RelativeLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/app/src/main/res/layout/activity_hundred_wish_detail.xml b/app/src/main/res/layout/activity_hundred_wish_detail.xml
index 92678e0..393677c 100644
--- a/app/src/main/res/layout/activity_hundred_wish_detail.xml
+++ b/app/src/main/res/layout/activity_hundred_wish_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.happenTime}"
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.reason}"
+ android:text="@={viewModel.beanLiveData.cause}"
android:textColor="#DE000000"
android:textSize="16sp" />
<TextView
@@ -153,7 +153,7 @@
android:inputType="text"
android:textColorHint="#6b000000"
android:textColor="#DE000000"
- android:text="@{viewModel.beanLiveData.isEffective==1?`鏄痐:`鍚}"
+ android:text="@={viewModel.beanLiveData.isEffective}"
android:textSize="16sp" />
<TextView
android:layout_width="wrap_content"
diff --git a/app/src/main/res/layout/activity_income_and_expenses.xml b/app/src/main/res/layout/activity_income_and_expenses.xml
index e1982a9..079f876 100644
--- a/app/src/main/res/layout/activity_income_and_expenses.xml
+++ b/app/src/main/res/layout/activity_income_and_expenses.xml
@@ -12,7 +12,8 @@
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:orientation="vertical">
+ android:background="@color/color_normal_background"
+ >
<com.android.app_base.widget.ExtendTitleBar
android:id="@+id/titleBar"
@@ -47,10 +48,10 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
- android:text="鏀舵敮鍙拌处"
+ android:text="瀹跺涵鏀舵敮鍙拌处"
android:layout_weight="1"
android:textColor="@color/white"
- android:textSize="@dimen/sp_20"
+ android:textSize="20sp"
/>
<ImageView
android:id="@+id/iv_search_default"
@@ -89,7 +90,10 @@
android:imeOptions="actionSearch"
android:text=""
android:singleLine="true"
- android:hint="鍦ㄢ�滃澶т簨璁板唴鎼滅储鈥�"
+ android:hint="鍦ㄢ�滃搴敹鏀彴璐︹�濆唴鎼滅储"
+ android:focusable="false"
+ android:clickable="false"
+ android:editable="false"
/>
<ImageView
android:id="@+id/iv_search_type"
@@ -107,6 +111,7 @@
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center"
+ android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
@@ -126,19 +131,277 @@
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_assets" />
+ >
+ <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_memorabilia" />
+ <com.scwang.smart.refresh.footer.BallPulseFooter
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"/>
+ </com.scwang.smart.refresh.layout.SmartRefreshLayout>
+ <RelativeLayout
+ android:id="@+id/container_search_parameter"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ app:layout_constraintTop_toBottomOf="@id/titleBar"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ android:layout_marginTop="-4dp"
+ tools:layout_height="wrap_content"
+ >
+ <LinearLayout
+ android:id="@+id/layout_search_parameter"
+ android:orientation="vertical"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:background="@color/white"
+ android:layout_marginHorizontal="56dp"
+ android:paddingEnd="12dp"
+ android:paddingStart="5dp"
+ >
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.5dp"
+ android:background="#FF939393" />
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center">
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:text="鍙拌处/鍩洪噾"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <com.android.app_base.widget.ClearEditText
+ android:layout_width="0dp"
+ android:layout_weight="4"
+ android:layout_height="wrap_content"
+ android:background="@null"
+ android:inputType="text"
+ android:layout_marginStart="6dp"
+ android:text="@={viewModel.requestBeanLiveData.type}"
+ android:hint="璇疯緭鍏ュ彴璐�/鍩洪噾"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ app:background="@drawable/ic_clear"
+ />
+
+ </LinearLayout>
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.3dp"
+ android:background="#FF939393" />
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center"
+ >
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:text="鏃堕棿"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <LinearLayout
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="4"
+ android:gravity="center"
+ >
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/et_start_time"
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:gravity="center"
+ android:layout_marginStart="6dp"
+ android:text="@={viewModel.requestBeanLiveData.happenStartTime}"
+ android:hint="寮�濮嬫椂闂�"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ android:lines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ tools:text="2022-01-01"
+ />
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="鈥�"
+ />
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/et_end_time"
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:gravity="center"
+ android:layout_height="wrap_content"
+ android:text="@={viewModel.requestBeanLiveData.happenEndTime}"
+ android:hint="缁撴潫鏃堕棿"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ tools:text="2022-01-01"
+ />
+ <ImageView
+ android:id="@+id/iv_time_clear"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:background="@drawable/ic_clear"
+ android:visibility="invisible"
+ />
+ </LinearLayout>
+
+ </LinearLayout>
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.3dp"
+ android:background="#FF939393" />
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center">
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:text="鐢ㄩ��"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <com.android.app_base.widget.ClearEditText
+ android:layout_width="0dp"
+ android:layout_weight="4"
+ android:layout_height="wrap_content"
+ android:background="@null"
+ android:inputType="text"
+ android:layout_marginStart="6dp"
+ android:text="@={viewModel.requestBeanLiveData.useFor}"
+ android:hint="璇疯緭鍏ョ敤閫�"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ app:background="@drawable/ic_clear"
+ />
+
+ </LinearLayout>
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.3dp"
+ android:background="#FF939393" />
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center">
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:text="浣跨敤浜�"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:maxLines="1"
+ android:lines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <com.android.app_base.widget.ClearEditText
+ android:layout_width="0dp"
+ android:layout_weight="4"
+ android:layout_height="wrap_content"
+ android:background="@null"
+ android:inputType="text"
+ android:layout_marginStart="6dp"
+ android:text="@={viewModel.requestBeanLiveData.usePeople}"
+ android:hint="璇疯緭鍏ヤ娇鐢ㄤ汉"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ app:background="@drawable/ic_clear"
+ />
+ </LinearLayout>
+ </LinearLayout>
+
+ </RelativeLayout>
+ <com.google.android.material.floatingactionbutton.FloatingActionButton
+ android:id="@+id/fab_add"
+ android:layout_width="56dp"
+ android:layout_height="56dp"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ android:layout_marginEnd="25dp"
+ android:layout_marginBottom="@dimen/dp_44"
+ android:src="@drawable/ic_add"
+ app:fabCustomSize="56dp"
+ />
</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
index ae9cbae..06f04d4 100644
--- a/app/src/main/res/layout/activity_income_and_expenses_detail.xml
+++ b/app/src/main/res/layout/activity_income_and_expenses_detail.xml
@@ -16,10 +16,28 @@
android:orientation="vertical">
<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" />
+ app:titleGravity="left"
+ >
+ <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="@{viewModel.typeLiveData?@drawable/ic_operate_finish:@drawable/ic_operate}"
+ />
+ </FrameLayout>
+ </com.android.app_base.widget.ExtendTitleBar>
+
<ScrollView
android:layout_width="match_parent"
@@ -27,7 +45,7 @@
>
<LinearLayout
android:layout_width="match_parent"
- android:layout_height="match_parent"
+ android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingHorizontal="20dp"
android:paddingBottom="20dp"
@@ -36,7 +54,7 @@
android:layout_width="wrap_content"
android:layout_marginTop="@dimen/dp_10"
android:layout_height="@dimen/dp_20"
- android:text="鍩洪噾/鍙拌处"
+ android:text="鍙拌处"
android:textColor="#767375"
android:textSize="12sp"
/>
@@ -48,9 +66,11 @@
android:inputType="text"
android:autofillHints="creditCardNumber"
android:textColorHint="#6b000000"
+ android:hint="@{viewModel.typeLiveData?`璇疯緭鍏ュ彴璐:``}"
android:textColor="#DE000000"
android:textSize="16sp"
- android:text="@{viewModel.beanLiveData.type==0?`鍩洪噾`:`鍙拌处`}"
+ android:enabled="@{viewModel.typeLiveData}"
+ android:text="@={viewModel.beanLiveData.type}"
/>
<TextView
@@ -63,12 +83,18 @@
/>
<EditText
+ android:id="@+id/et_time"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:inputType="text"
+ android:hint="@{viewModel.typeLiveData?`璇烽�夋嫨鏃堕棿`:``}"
+ android:textColorHint="#6b000000"
android:textColor="#DE000000"
- android:text="@={viewModel.beanLiveData.createTime}"
+ android:backgroundTint="#6B000000"
+ app:isEditable="@{false}"
+ android:clickable="@{viewModel.typeLiveData}"
+ android:text="@={viewModel.beanLiveData.happenTime}"
android:textSize="16sp" />
<TextView
android:layout_width="wrap_content"
@@ -78,15 +104,21 @@
android:textColor="#767375"
android:textSize="12sp"
/>
+
<EditText
+ android:id="@+id/et_price"
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:hint="@{viewModel.typeLiveData?`璇烽�夋嫨鏀跺叆/鏀嚭`:``}"
+ android:text="@={viewModel.beanLiveData.price}"
android:textColor="#DE000000"
+ android:textColorHint="#6b000000"
+ android:backgroundTint="#6B000000"
+ app:isEditable="@{false}"
+ android:clickable="@{viewModel.typeLiveData}"
android:textSize="16sp" />
+
<TextView
android:layout_width="wrap_content"
android:layout_marginTop="10dp"
@@ -101,7 +133,9 @@
android:layout_marginTop="2dp"
android:inputType="text"
android:textColorHint="#6b000000"
+ android:hint="@{viewModel.typeLiveData?`璇疯緭鍏ョ敤閫擿:``}"
android:textColor="#DE000000"
+ android:enabled="@{viewModel.typeLiveData}"
android:text="@={viewModel.beanLiveData.useFor}"
android:textSize="16sp" />
<TextView
@@ -117,15 +151,17 @@
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:inputType="text"
+ android:hint="@{viewModel.typeLiveData?`璇疯緭鍏ヤ娇鐢ㄤ汉`:``}"
android:textColorHint="#6b000000"
android:textColor="#DE000000"
+ android:enabled="@{viewModel.typeLiveData}"
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:text="鏀粯鏂瑰紡"
android:textColor="#767375"
android:textSize="12sp"
/>
@@ -134,15 +170,17 @@
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:inputType="text"
+ android:hint="@{viewModel.typeLiveData?`璇疯緭鍏ユ敮浠樻柟寮廯:``}"
android:textColorHint="#6b000000"
android:textColor="#DE000000"
- android:text="@{viewModel.beanLiveData.kind==0?`鐜伴噾`:`鑷姩鍒掓墸`}"
+ android:enabled="@{viewModel.typeLiveData}"
+ android:text="@={viewModel.beanLiveData.kind}"
android:textSize="16sp" />
<TextView
android:layout_width="wrap_content"
android:layout_marginTop="10dp"
android:layout_height="wrap_content"
- android:text="浣欓"
+ android:text="閲戦"
android:textColor="#767375"
android:textSize="12sp"
/>
@@ -151,8 +189,10 @@
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:inputType="text"
+ android:hint="@{viewModel.typeLiveData?`璇疯緭鍏ラ噾棰漙:``}"
android:textColorHint="#6b000000"
android:textColor="#DE000000"
+ android:enabled="@{viewModel.typeLiveData}"
android:text="@={viewModel.beanLiveData.balance}"
android:textSize="16sp" />
<TextView
@@ -168,8 +208,10 @@
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:inputType="text"
+ android:hint="@{viewModel.typeLiveData?`璇疯緭鍏ュ娉╜:``}"
android:textColorHint="#6b000000"
android:textColor="#DE000000"
+ android:enabled="@{viewModel.typeLiveData}"
android:text="@={viewModel.beanLiveData.remark}"
android:textSize="16sp" />
<TextView
diff --git a/app/src/main/res/layout/activity_little_doctor.xml b/app/src/main/res/layout/activity_little_doctor.xml
index 725efc8..90845c6 100644
--- a/app/src/main/res/layout/activity_little_doctor.xml
+++ b/app/src/main/res/layout/activity_little_doctor.xml
@@ -4,13 +4,16 @@
xmlns:tools="http://schemas.android.com/tools">
<data>
-
+ <variable
+ name="viewModel"
+ type="com.application.zhangshi_app_android.ui.function.LittleDoctorActivityViewModel" />
</data>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:orientation="vertical">
+ android:background="@color/color_normal_background"
+ >
<com.android.app_base.widget.ExtendTitleBar
android:id="@+id/titleBar"
@@ -48,7 +51,7 @@
android:text="灏忓尰鐢�"
android:layout_weight="1"
android:textColor="@color/white"
- android:textSize="@dimen/sp_20"
+ android:textSize="20sp"
/>
<ImageView
android:id="@+id/iv_search_default"
@@ -87,7 +90,10 @@
android:imeOptions="actionSearch"
android:text=""
android:singleLine="true"
- android:hint="鍦ㄢ�滃澶т簨璁板唴鎼滅储鈥�"
+ android:hint="鍦ㄢ�滃皬鍖荤敓鈥濆唴鎼滅储"
+ android:focusable="false"
+ android:clickable="false"
+ android:editable="false"
/>
<ImageView
android:id="@+id/iv_search_type"
@@ -105,6 +111,7 @@
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center"
+ android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
@@ -124,19 +131,241 @@
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_assets" />
+ >
+ <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="3"
+ tools:listitem="@layout/item_little_doctor" />
+ <com.scwang.smart.refresh.footer.BallPulseFooter
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"/>
+ </com.scwang.smart.refresh.layout.SmartRefreshLayout>
+ <RelativeLayout
+ android:id="@+id/container_search_parameter"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ app:layout_constraintTop_toBottomOf="@id/titleBar"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ android:layout_marginTop="-4dp"
+ tools:layout_height="wrap_content"
+ >
+ <LinearLayout
+ android:id="@+id/layout_search_parameter"
+ android:orientation="vertical"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:background="@color/white"
+ android:layout_marginHorizontal="56dp"
+ android:paddingEnd="12dp"
+ android:paddingStart="5dp"
+ >
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.5dp"
+ android:background="#FF939393" />
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center">
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:text="绫诲瀷"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <com.android.app_base.widget.ClearEditText
+ android:layout_width="0dp"
+ android:layout_weight="4"
+ android:layout_height="wrap_content"
+ android:background="@null"
+ android:inputType="text"
+ android:layout_marginStart="6dp"
+ android:text="@={viewModel.requestBeanLiveData.type}"
+ android:hint="璇疯緭鍏ョ被鍨�"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ app:background="@drawable/ic_clear"
+ />
+
+ </LinearLayout>
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.3dp"
+ android:background="#FF939393" />
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center">
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:text="鐥囩姸"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <com.android.app_base.widget.ClearEditText
+ android:layout_width="0dp"
+ android:layout_weight="4"
+ android:layout_height="wrap_content"
+ android:background="@null"
+ android:inputType="text"
+ android:layout_marginStart="6dp"
+ android:text="@={viewModel.requestBeanLiveData.symptom}"
+ android:hint="璇疯緭鍏ョ棁鐘�"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ app:background="@drawable/ic_clear"
+ />
+
+
+ </LinearLayout>
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.3dp"
+ android:background="#FF939393" />
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center">
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:text="澶勬柟"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <com.android.app_base.widget.ClearEditText
+ android:layout_width="0dp"
+ android:layout_weight="4"
+ android:layout_height="wrap_content"
+ android:background="@null"
+ android:inputType="text"
+ android:layout_marginStart="6dp"
+ android:text="@={viewModel.requestBeanLiveData.prescription}"
+ android:hint="璇疯緭鍏ュ鏂�"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ app:background="@drawable/ic_clear"
+ />
+
+ </LinearLayout>
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.3dp"
+ android:background="#FF939393" />
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center">
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:text="閫傜敤浜�"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:maxLines="1"
+ android:lines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <com.android.app_base.widget.ClearEditText
+ android:layout_width="0dp"
+ android:layout_weight="4"
+ android:layout_height="wrap_content"
+ android:background="@null"
+ android:inputType="text"
+ android:layout_marginStart="6dp"
+ android:text="@={viewModel.requestBeanLiveData.suitable}"
+ android:hint="璇疯緭鍏ラ�傜敤浜�"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ app:background="@drawable/ic_clear"
+ />
+ </LinearLayout>
+ </LinearLayout>
+
+ </RelativeLayout>
+ <com.google.android.material.floatingactionbutton.FloatingActionButton
+ android:id="@+id/fab_add"
+ android:layout_width="56dp"
+ android:layout_height="56dp"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ android:layout_marginEnd="25dp"
+ android:layout_marginBottom="@dimen/dp_44"
+ android:src="@drawable/ic_add"
+ app:fabCustomSize="56dp"
+ />
</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
index 8f0ae8b..21bbfbe 100644
--- a/app/src/main/res/layout/activity_little_doctor_detail.xml
+++ b/app/src/main/res/layout/activity_little_doctor_detail.xml
@@ -16,11 +16,27 @@
android:orientation="vertical">
<com.android.app_base.widget.ExtendTitleBar
+ android:id="@+id/titleBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- app:title="灏忓尰鐢�"
+ app:title="@{viewModel.beanLiveData.symptom}"
app:titleGravity="left"
- />
+ >
+ <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="@{viewModel.typeLiveData?@drawable/ic_operate_finish:@drawable/ic_operate}"
+ />
+ </FrameLayout>
+ </com.android.app_base.widget.ExtendTitleBar>
<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
@@ -36,7 +52,7 @@
android:layout_width="wrap_content"
android:layout_marginTop="@dimen/dp_10"
android:layout_height="@dimen/dp_20"
- android:text="鐥囩姸"
+ android:text="绫诲瀷"
android:textColor="#767375"
android:textSize="12sp"
/>
@@ -48,7 +64,27 @@
android:inputType="text"
android:autofillHints="creditCardNumber"
android:textColorHint="#6b000000"
+ android:hint="璇疯緭鍏ョ被鍨�"
android:textColor="#DE000000"
+ android:textSize="16sp"
+ android:text="@={viewModel.beanLiveData.type}"
+ />
+ <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:hint="璇疯緭鍏ョ棁鐘�"
android:textSize="16sp"
android:text="@={viewModel.beanLiveData.symptom}"
/>
@@ -68,6 +104,8 @@
android:layout_marginTop="2dp"
android:inputType="text"
android:textColor="#DE000000"
+ android:textColorHint="#6b000000"
+ android:hint="璇疯緭鍏ラ�傜敤浜�"
android:text="@={viewModel.beanLiveData.suitable}"
android:textSize="16sp" />
<TextView
@@ -84,6 +122,7 @@
android:layout_marginTop="2dp"
android:inputType="text"
android:textColorHint="#6b000000"
+ android:hint="璇疯緭鍏ユ寔缁椂闂�"
android:text="@={viewModel.beanLiveData.duration}"
android:textColor="#DE000000"
android:textSize="16sp" />
@@ -101,6 +140,7 @@
android:layout_marginTop="2dp"
android:inputType="text"
android:textColorHint="#6b000000"
+ android:hint="璇疯緭鍏ヤ腑鍖诲鏂�"
android:textColor="#DE000000"
android:text="@={viewModel.beanLiveData.cmedical}"
android:textSize="16sp" />
@@ -118,6 +158,7 @@
android:layout_marginTop="2dp"
android:inputType="text"
android:textColorHint="#6b000000"
+ android:hint="璇疯緭鍏ヨタ鍖诲鏂�"
android:textColor="#DE000000"
android:text="@={viewModel.beanLiveData.wmedical}"
android:textSize="16sp" />
@@ -134,6 +175,7 @@
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:inputType="text"
+ android:hint="璇疯緭鍏ュ姛鏁�"
android:textColorHint="#6b000000"
android:textColor="#DE000000"
android:text="@={viewModel.beanLiveData.effect}"
@@ -152,6 +194,7 @@
android:layout_marginTop="2dp"
android:inputType="text"
android:textColorHint="#6b000000"
+ android:hint="璇疯緭鍏ュ娉�"
android:textColor="#DE000000"
android:text="@={viewModel.beanLiveData.remark}"
android:textSize="16sp" />
diff --git a/app/src/main/res/layout/activity_login.xml b/app/src/main/res/layout/activity_login.xml
index 59e69fb..bc2451b 100644
--- a/app/src/main/res/layout/activity_login.xml
+++ b/app/src/main/res/layout/activity_login.xml
@@ -53,7 +53,9 @@
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="18dp"
- android:background="@drawable/bg_login_zhang" />
+ android:background="@drawable/bg_login_zhang"
+ app:imageUri="@{viewModel.selectLoginBackgroundLiveData}"
+ />
<TextView
android:id="@+id/tv_title"
diff --git a/app/src/main/res/layout/activity_login_bg_change.xml b/app/src/main/res/layout/activity_login_bg_change.xml
new file mode 100644
index 0000000..95d797b
--- /dev/null
+++ b/app/src/main/res/layout/activity_login_bg_change.xml
@@ -0,0 +1,62 @@
+<?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.personal_center.LoginBgChangeActivityViewModel" />
+ </data>
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="vertical"
+ android:background="@color/color_normal_background"
+ >
+ <com.android.app_base.widget.ExtendTitleBar
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ app:titleGravity="left"
+ app:title="鐧诲綍椤佃儗鏅洿鎹�"
+ app:leftIcon="@drawable/ic_back"
+ >
+ <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="@{viewModel.typeLiveData?@drawable/ic_operate_finish:@drawable/ic_operate_select_white}"
+ />
+ </FrameLayout>
+
+ </com.android.app_base.widget.ExtendTitleBar>
+ <RelativeLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="20dp"
+ android:layout_marginHorizontal="20dp"
+ >
+ <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="20dp"
+ android:layout_marginTop="2dp"
+ android:paddingStart="10dp"
+ android:paddingEnd="5dp"
+ android:paddingVertical="10dp"
+ tools:itemCount="3"
+ tools:listitem="@layout/item_image"
+ />
+ </RelativeLayout>
+ </LinearLayout>
+</layout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index 152a8ec..a172f91 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -24,7 +24,7 @@
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/main_bnv"
android:layout_width="match_parent"
- android:layout_height="@dimen/dp_56"
+ android:layout_height="56dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
diff --git a/app/src/main/res/layout/activity_marriage.xml b/app/src/main/res/layout/activity_marriage.xml
index 91fcba1..36d17b8 100644
--- a/app/src/main/res/layout/activity_marriage.xml
+++ b/app/src/main/res/layout/activity_marriage.xml
@@ -17,7 +17,7 @@
>
<com.android.app_base.widget.ExtendTitleBar
- android:id="@+id/extendTitleBar"
+ android:id="@+id/titleBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:elevation="10dp"
@@ -26,11 +26,12 @@
app:titleGravity="left"
/>
- <ScrollView
+ <androidx.core.widget.NestedScrollView
+ android:id="@+id/nestedScrollView"
android:layout_width="match_parent"
android:layout_height="0dp"
app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintTop_toBottomOf="@+id/extendTitleBar"
+ app:layout_constraintTop_toBottomOf="@id/titleBar"
>
<LinearLayout
android:layout_width="match_parent"
@@ -75,7 +76,7 @@
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="寮犱笁"
+ android:text="@{viewModel.infoLiveData.name}"
android:textColor="#DE000000"
android:textSize="14sp"
android:layout_marginTop="5dp"
@@ -105,7 +106,7 @@
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="鐢�"
+ android:text="@{viewModel.infoLiveData.sex}"
android:textColor="#DE000000"
android:textSize="14sp"
android:layout_marginTop="5dp"
@@ -140,7 +141,7 @@
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="2010-01-01"
+ android:text="@{viewModel.infoLiveData.birthday}"
android:textColor="#DE000000"
android:textSize="14sp"
android:layout_marginTop="5dp"
@@ -170,7 +171,7 @@
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="姹夋棌"
+ android:text="@{viewModel.infoLiveData.nation}"
android:textColor="#DE000000"
android:textSize="14sp"
android:layout_marginTop="5dp"
@@ -202,14 +203,18 @@
android:textSize="12sp"
android:alpha="0.54"
/>
- <TextView
+ <androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="445222200110233318"
+ android:text="@{viewModel.infoLiveData.idNo}"
android:textColor="#DE000000"
android:textSize="14sp"
android:layout_marginTop="5dp"
android:ellipsize="marquee"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMaxTextSize="14sp"
+ app:autoSizeMinTextSize="12sp"
/>
<View
android:layout_width="match_parent"
@@ -233,13 +238,18 @@
android:textSize="12sp"
android:alpha="0.54"
/>
- <TextView
+ <androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="17818824255"
+ android:text="@{viewModel.infoLiveData.phone}"
android:textColor="#DE000000"
android:textSize="14sp"
android:layout_marginTop="5dp"
+ android:ellipsize="marquee"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMaxTextSize="14sp"
+ app:autoSizeMinTextSize="12sp"
/>
<View
android:layout_width="match_parent"
@@ -271,7 +281,7 @@
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="宸插"
+ android:text="@{viewModel.infoLiveData.marryStatus}"
android:textColor="#DE000000"
android:textSize="14sp"
android:layout_marginTop="5dp"
@@ -303,7 +313,7 @@
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="2020-10"
+ android:text="@{viewModel.infoLiveData.marryTime}"
android:textColor="#DE000000"
android:textSize="14sp"
android:layout_marginTop="5dp"
@@ -335,10 +345,10 @@
android:textSize="12sp"
android:alpha="0.54"
/>
- <TextView
+ <androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="骞夸笢鐪佸箍宸炲競"
+ android:text="@{viewModel.infoLiveData.address}"
android:textColor="#DE000000"
android:textSize="14sp"
android:layout_marginTop="5dp"
@@ -375,7 +385,7 @@
android:orientation="vertical"
android:layout_marginHorizontal="6dp"
>
- <LinearLayout
+ <androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/layout_title_spouse"
android:layout_width="match_parent"
android:layout_height="50dp"
@@ -388,14 +398,20 @@
android:text="閰嶅伓鎯呭喌"
android:textColor="@color/black"
android:textSize="20sp"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
/>
<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}"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
/>
- </LinearLayout>
+ </androidx.constraintlayout.widget.ConstraintLayout>
<LinearLayout
android:id="@+id/layout_content_spouse"
android:layout_width="match_parent"
@@ -426,7 +442,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxLines="1"
- android:text="寮犱笁"
+ android:text="@{viewModel.infoLiveData.spouseName}"
android:textColor="#DE000000"
android:textSize="14sp"
android:layout_marginTop="5dp"
@@ -458,7 +474,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxLines="1"
- android:text="宸插"
+ android:text="@{viewModel.infoLiveData.spouseMarryStatus}"
android:textColor="#DE000000"
android:textSize="14sp"
android:layout_marginTop="5dp"
@@ -497,7 +513,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxLines="1"
- android:text="2010-01-01"
+ android:text="@{viewModel.infoLiveData.spouseBirthday}"
android:textColor="#DE000000"
android:textSize="14sp"
android:layout_marginTop="5dp"
@@ -529,7 +545,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxLines="1"
- android:text="骞夸笢鐪佸箍宸炲競"
+ android:text="@{viewModel.infoLiveData.spouseAddress}"
android:textColor="#DE000000"
android:textSize="14sp"
android:layout_marginTop="5dp"
@@ -542,60 +558,13 @@
/>
</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"
@@ -604,6 +573,7 @@
android:layout_marginTop="10dp"
app:cardCornerRadius="10dp"
app:cardElevation="2dp"
+ tools:layout_height="wrap_content"
>
<LinearLayout
android:layout_width="match_parent"
@@ -611,7 +581,7 @@
android:orientation="vertical"
android:layout_marginHorizontal="6dp"
>
- <LinearLayout
+ <androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/layout_title_predecessor"
android:layout_width="match_parent"
android:layout_height="50dp"
@@ -624,207 +594,33 @@
android:text="鍓嶄换"
android:textColor="#CC000000"
android:textSize="18sp"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
/>
<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}"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
/>
- </LinearLayout>
- <LinearLayout
+ </androidx.constraintlayout.widget.ConstraintLayout>
+ <RelativeLayout
android:id="@+id/layout_content_predecessor"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:orientation="vertical"
>
- <LinearLayout
+ <androidx.recyclerview.widget.RecyclerView
+ android:id="@+id/rv_predecessor"
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="#B3000000"
- android:textSize="16sp"
- 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="#B3000000"
- android:textSize="16sp"
- 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="#B3000000"
- android:textSize="16sp"
- 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="#B3000000"
- android:textSize="16sp"
- 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="#B3000000"
- android:textSize="16sp"
- 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>
+ tools:listitem="@layout/item_old_spouse"
+ tools:itemCount="3"
+ />
+ </RelativeLayout>
</LinearLayout>
@@ -837,6 +633,7 @@
android:layout_marginTop="10dp"
app:cardCornerRadius="10dp"
app:cardElevation="2dp"
+ tools:layout_height="wrap_content"
>
<LinearLayout
android:layout_width="match_parent"
@@ -844,7 +641,7 @@
android:orientation="vertical"
android:layout_marginHorizontal="6dp"
>
- <LinearLayout
+ <androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/layout_title_procreate"
android:layout_width="match_parent"
android:layout_height="50dp"
@@ -857,20 +654,25 @@
android:text="鐢熻偛鎯呭喌"
android:textColor="@color/black"
android:textSize="20sp"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
/>
<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}"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
/>
- </LinearLayout>
+ </androidx.constraintlayout.widget.ConstraintLayout>
<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"
@@ -895,7 +697,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxLines="1"
- android:text="宸茬敓鑲�"
+ android:text="@{viewModel.infoLiveData.bearStatus}"
android:textColor="#DE000000"
android:textSize="14sp"
android:layout_marginTop="5dp"
@@ -942,7 +744,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxLines="1"
- android:text="鏄�"
+ android:text="@{viewModel.infoLiveData.handbookStatus}"
android:textColor="#DE000000"
android:textSize="14sp"
android:layout_marginTop="5dp"
@@ -990,7 +792,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxLines="1"
- android:text="鏄�"
+ android:text="@{viewModel.infoLiveData.oneBorn}"
android:textColor="#DE000000"
android:textSize="14sp"
android:layout_marginTop="5dp"
@@ -1024,7 +826,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxLines="1"
- android:text="2023-01-01"
+ android:text="@{viewModel.infoLiveData.oneBornTime}"
android:textColor="#DE000000"
android:textSize="14sp"
android:layout_marginTop="5dp"
@@ -1069,16 +871,17 @@
android:layout_height="wrap_content"
android:textSize="16sp"
android:textColor="#FF131215"
- android:text="闇�澹版槑鐨勬儏鍐垫鏂囬渶澹版槑鐨勬儏鍐垫鏂囬渶澹版槑鐨勬儏鍐垫鏂囬渶澹版槑鐨勬儏鍐垫鏂囬渶澹版槑鐨勬儏鍐垫鏂囬渶澹版槑鐨勬儏鍐垫鏂囬渶澹版槑鐨勬儏鍐垫鏂囬渶澹版槑鐨勬儏鍐垫鏂囬渶澹版槑鐨勬儏鍐垫鏂囬渶澹版槑鐨勬儏鍐垫鏂囬渶澹版槑鐨勬儏鍐垫鏂囬渶澹版槑鐨勬儏鍐垫鏂囬渶澹版槑鐨勬儏鍐垫鏂�"
+ android:text="@{viewModel.infoLiveData.content}"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="16sp"
android:textColor="@color/black"
- android:text="2005骞�12鏈�20鏃�"
+ android:text="@{viewModel.infoLiveData.contentTime}"
android:layout_marginTop="12dp"
android:layout_gravity="end"
+ tools:text=""
/>
</LinearLayout>
<TextView
@@ -1107,14 +910,14 @@
android:layout_height="wrap_content"
android:textSize="16sp"
android:textColor="#FF131215"
- android:text="澶囨敞姝f枃澶囨敞姝f枃澶囨敞姝f枃澶囨敞姝f枃澶囨敞姝f枃澶囨敞姝f枃澶囨敞姝f枃澶囨敞姝f枃澶囨敞姝f枃澶囨敞姝f枃澶囨敞姝f枃澶囨敞姝f枃澶囨敞姝f枃澶囨敞姝f枃澶囨敞姝f枃澶囨敞姝f枃澶囨敞姝f枃澶囨敞姝f枃澶囨敞姝f枃澶囨敞姝f枃澶囨敞姝f枃澶囨敞姝f枃澶囨敞姝f枃澶囨敞姝f枃"
+ android:text="@{viewModel.infoLiveData.remark}"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="16sp"
android:textColor="@color/black"
- android:text="2005骞�12鏈�20鏃�"
+ android:text="@{viewModel.infoLiveData.remarkTime}"
android:layout_marginTop="12dp"
android:layout_gravity="end"
/>
@@ -1122,6 +925,46 @@
</LinearLayout>
- </ScrollView>
+ </androidx.core.widget.NestedScrollView>
+
+ <LinearLayout
+ android:id="@+id/layout_data_null"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:gravity="center"
+ android:visibility="gone"
+ tools:visibility="gone"
+ 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="绌虹┖濡備篃~"
+ android:textSize="14sp"
+ android:textColor="#73000000"
+ />
+ </LinearLayout>
+
+ <androidx.constraintlayout.utils.widget.ImageFilterView
+ android:id="@+id/fab_move_to_top"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ android:layout_marginEnd="25dp"
+ android:layout_marginBottom="44dp"
+ app:fabCustomSize="100dp"
+ android:background="@drawable/ic_move_to_top"
+ />
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_personal_notepad.xml b/app/src/main/res/layout/activity_personal_notepad.xml
index ca1b29a..8827b59 100644
--- a/app/src/main/res/layout/activity_personal_notepad.xml
+++ b/app/src/main/res/layout/activity_personal_notepad.xml
@@ -12,13 +12,15 @@
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:orientation="vertical">
+ android:background="@color/color_normal_background"
+ >
<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"
+ app:leftIcon="@drawable/ic_back"
>
<FrameLayout
android:layout_width="24dp"
@@ -47,12 +49,10 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
- android:text="涓汉璁颁簨鏈紙浠呬緵鏌ョ湅锛�"
- android:ellipsize="marquee"
- android:maxLines="1"
+ android:text="涓汉璁颁簨鏈�"
android:layout_weight="1"
android:textColor="@color/white"
- android:textSize="@dimen/sp_20"
+ android:textSize="20sp"
/>
<ImageView
android:id="@+id/iv_search_default"
@@ -91,7 +91,10 @@
android:imeOptions="actionSearch"
android:text=""
android:singleLine="true"
- android:hint="鍦ㄢ�滃澶т簨璁板唴鎼滅储鈥�"
+ android:hint="鍦ㄢ�滀釜浜鸿浜嬫湰鈥濆唴鎼滅储"
+ android:focusable="false"
+ android:clickable="false"
+ android:editable="false"
/>
<ImageView
android:id="@+id/iv_search_type"
@@ -109,6 +112,7 @@
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center"
+ android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
@@ -128,19 +132,277 @@
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_assets" />
+ >
+ <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_personal_notepad" />
+ <com.scwang.smart.refresh.footer.BallPulseFooter
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"/>
+ </com.scwang.smart.refresh.layout.SmartRefreshLayout>
+ <RelativeLayout
+ android:id="@+id/container_search_parameter"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ app:layout_constraintTop_toBottomOf="@id/titleBar"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ android:layout_marginTop="-4dp"
+ tools:layout_height="wrap_content"
+ >
+ <LinearLayout
+ android:id="@+id/layout_search_parameter"
+ android:orientation="vertical"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:background="@color/white"
+ android:layout_marginHorizontal="56dp"
+ android:paddingEnd="12dp"
+ android:paddingStart="5dp"
+ >
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.5dp"
+ android:background="#FF939393" />
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center">
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:text="浜嬩欢鏍囬"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <com.android.app_base.widget.ClearEditText
+ android:layout_width="0dp"
+ android:layout_weight="4"
+ android:layout_height="wrap_content"
+ android:background="@null"
+ android:inputType="text"
+ android:layout_marginStart="6dp"
+ android:text="@={viewModel.requestBeanLiveData.title}"
+ android:hint="璇疯緭鍏ヤ簨浠舵爣棰�"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ app:background="@drawable/ic_clear"
+ />
+
+ </LinearLayout>
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.3dp"
+ android:background="#FF939393" />
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center"
+ >
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:text="鏃ユ湡"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <LinearLayout
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="4"
+ android:gravity="center"
+ >
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/et_start_time"
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:gravity="center"
+ android:layout_marginStart="6dp"
+ android:text="@={viewModel.requestBeanLiveData.happenStartTime}"
+ android:hint="寮�濮嬫椂闂�"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ android:lines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ tools:text="2022-01-01"
+ />
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="鈥�"
+ />
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/et_end_time"
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:gravity="center"
+ android:layout_height="wrap_content"
+ android:text="@={viewModel.requestBeanLiveData.happenEndTime}"
+ android:hint="缁撴潫鏃堕棿"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ tools:text="2022-01-01"
+ />
+ <ImageView
+ android:id="@+id/iv_time_clear"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:background="@drawable/ic_clear"
+ android:visibility="invisible"
+ />
+ </LinearLayout>
+
+ </LinearLayout>
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.3dp"
+ android:background="#FF939393" />
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center">
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:text="鍦扮偣"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <com.android.app_base.widget.ClearEditText
+ android:layout_width="0dp"
+ android:layout_weight="4"
+ android:layout_height="wrap_content"
+ android:background="@null"
+ android:inputType="text"
+ android:layout_marginStart="6dp"
+ android:text="@={viewModel.requestBeanLiveData.address}"
+ android:hint="璇疯緭鍏ュ湴鐐�"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ app:background="@drawable/ic_clear"
+ />
+
+ </LinearLayout>
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.3dp"
+ android:background="#FF939393" />
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center">
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:text="浜虹墿"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:maxLines="1"
+ android:lines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <com.android.app_base.widget.ClearEditText
+ android:layout_width="0dp"
+ android:layout_weight="4"
+ android:layout_height="wrap_content"
+ android:background="@null"
+ android:inputType="text"
+ android:layout_marginStart="6dp"
+ android:text="@={viewModel.requestBeanLiveData.people}"
+ android:hint="璇疯緭鍏ヤ汉鐗�"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ app:background="@drawable/ic_clear"
+ />
+ </LinearLayout>
+ </LinearLayout>
+
+ </RelativeLayout>
+ <com.google.android.material.floatingactionbutton.FloatingActionButton
+ android:id="@+id/fab_add"
+ android:layout_width="56dp"
+ android:layout_height="56dp"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ android:layout_marginEnd="25dp"
+ android:layout_marginBottom="@dimen/dp_44"
+ android:src="@drawable/ic_add"
+ app:fabCustomSize="56dp"
+ />
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_personal_notepad_detail.xml b/app/src/main/res/layout/activity_personal_notepad_detail.xml
index 4846699..8a7ca6a 100644
--- a/app/src/main/res/layout/activity_personal_notepad_detail.xml
+++ b/app/src/main/res/layout/activity_personal_notepad_detail.xml
@@ -16,11 +16,29 @@
android:orientation="vertical">
<com.android.app_base.widget.ExtendTitleBar
+ android:id="@+id/titleBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- app:title="@{viewModel.beanLiveData.title}"
+ app:title="@{viewModel.beanLiveData.id==0?`鏂板缓涓汉璁颁簨鏈琡:viewModel.beanLiveData.title}"
app:titleGravity="left"
- />
+ app:leftIcon="@drawable/ic_back"
+ >
+ <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="@{viewModel.typeLiveData?@drawable/ic_operate_finish:@drawable/ic_operate}" />
+ </FrameLayout>
+ </com.android.app_base.widget.ExtendTitleBar>
+
<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
@@ -48,9 +66,11 @@
android:inputType="text"
android:autofillHints="creditCardNumber"
android:textColorHint="#6b000000"
+ android:hint="@{viewModel.typeLiveData?`璇疯緭鍏ユ爣棰榒:``}"
android:textColor="#DE000000"
android:textSize="16sp"
- android:text="@{viewModel.beanLiveData.title}"
+ android:text="@={viewModel.beanLiveData.title}"
+ android:enabled="@{viewModel.typeLiveData}"
/>
<TextView
@@ -63,13 +83,19 @@
/>
<EditText
+ android:id="@+id/et_time"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:inputType="text"
+ android:textColorHint="#6b000000"
+ android:hint="@{viewModel.typeLiveData?`璇烽�夋嫨鏃堕棿`:``}"
android:textColor="#DE000000"
- android:text="@={viewModel.beanLiveData.time}"
- android:textSize="16sp" />
+ android:text="@={viewModel.beanLiveData.happenTime}"
+ android:textSize="16sp"
+ app:isEditable="@{false}"
+ android:clickable="@{viewModel.typeLiveData}"
+ />
<TextView
android:layout_width="wrap_content"
android:layout_marginTop="10dp"
@@ -84,9 +110,12 @@
android:layout_marginTop="2dp"
android:inputType="text"
android:textColorHint="#6b000000"
- android:text="@={viewModel.beanLiveData.person}"
+ android:hint="@{viewModel.typeLiveData?`璇疯緭鍏ヤ汉鐗ー:``}"
+ android:text="@={viewModel.beanLiveData.people}"
android:textColor="#DE000000"
- android:textSize="16sp" />
+ android:textSize="16sp"
+ android:enabled="@{viewModel.typeLiveData}"
+ />
<TextView
android:layout_width="wrap_content"
android:layout_marginTop="10dp"
@@ -101,9 +130,12 @@
android:layout_marginTop="2dp"
android:inputType="text"
android:textColorHint="#6b000000"
+ android:hint="@{viewModel.typeLiveData?`璇疯緭鍏ュ湴鐐筦:``}"
android:textColor="#DE000000"
- android:text="@={viewModel.beanLiveData.place}"
- android:textSize="16sp" />
+ android:text="@={viewModel.beanLiveData.address}"
+ android:textSize="16sp"
+ android:enabled="@{viewModel.typeLiveData}"
+ />
<TextView
android:layout_width="wrap_content"
@@ -118,10 +150,13 @@
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:inputType="text"
+ android:hint="@{viewModel.typeLiveData?`璇疯緭鍏ュ娉╜:``}"
android:textColorHint="#6b000000"
android:textColor="#DE000000"
- android:text="@{viewModel.beanLiveData.remark}"
- android:textSize="16sp" />
+ android:text="@={viewModel.beanLiveData.remark}"
+ android:textSize="16sp"
+ android:enabled="@{viewModel.typeLiveData}"
+ />
<TextView
android:layout_width="wrap_content"
android:layout_marginTop="10dp"
diff --git a/app/src/main/res/layout/activity_pet.xml b/app/src/main/res/layout/activity_pet.xml
index 43ef49b..1bddf4d 100644
--- a/app/src/main/res/layout/activity_pet.xml
+++ b/app/src/main/res/layout/activity_pet.xml
@@ -12,18 +12,14 @@
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:orientation="vertical"
android:background="@color/color_normal_background"
>
<com.android.app_base.widget.ExtendTitleBar
- android:id="@+id/extendTitleBar"
+ android:id="@+id/titleBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:elevation="10dp"
app:layout_constraintTop_toTopOf="parent"
- app:title="榄呭疇(浠呬緵鏌ョ湅)"
- app:titleGravity="left"
>
<FrameLayout
android:layout_width="24dp"
@@ -39,6 +35,71 @@
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_marginHorizontal="16dp"
+ android:text="榄呭疇锛堜粎渚涙煡鐪嬶級"
+ android:layout_weight="1"
+ android:textColor="@color/white"
+ android:textSize="20sp"
+ app:textOverflowMode="@{4}"
+ />
+ <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:singleLine="true"
+ android:text="鍦ㄢ�滈瓍瀹犫�濆唴鎼滅储"
+ android:editable="false"
+ android:clickable="false"
+ android:focusable="false"
+ />
+ <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
@@ -51,7 +112,7 @@
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@id/extendTitleBar">
+ app:layout_constraintTop_toBottomOf="@+id/titleBar">
<ImageView
android:layout_width="wrap_content"
@@ -62,261 +123,183 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="18dp"
- android:text="鏆傛椂杩樻病鏈夋暟鎹摝~\n鐐瑰嚮鈥濓紜鈥濈珛鍗冲垱寤�"
+ android:text="鏆傛椂杩樻病鏈夋暟鎹摝~"
android:textSize="14sp"
android:textColor="#73000000"
/>
</LinearLayout>
-
- <androidx.core.widget.NestedScrollView
+ <com.scwang.smart.refresh.layout.SmartRefreshLayout
+ android:id="@+id/refreshLayout"
android:layout_width="match_parent"
android:layout_height="0dp"
+ app:layout_constraintTop_toBottomOf="@+id/titleBar"
app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintTop_toBottomOf="@+id/extendTitleBar"
>
- <LinearLayout
+ <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="wrap_content"
+ android:layout_marginTop="20dp"
+ tools:itemCount="20"
+ tools:listitem="@layout/item_pet" />
+
+ <com.scwang.smart.refresh.footer.BallPulseFooter
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"/>
+ </com.scwang.smart.refresh.layout.SmartRefreshLayout>
+ <RelativeLayout
+ android:id="@+id/container_search_parameter"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ app:layout_constraintTop_toBottomOf="@id/titleBar"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ android:layout_marginTop="-4dp"
+ tools:layout_height="wrap_content"
+ >
+ <LinearLayout
+ android:id="@+id/layout_search_parameter"
+ android:orientation="vertical"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:background="@color/white"
+ android:layout_marginHorizontal="56dp"
+ android:paddingEnd="12dp"
+ android:paddingStart="5dp"
>
- <androidx.cardview.widget.CardView
+
+ <View
android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_marginHorizontal="20dp"
- android:layout_marginVertical="26dp"
- app:cardBackgroundColor="#99FFE2EF"
- app:cardCornerRadius="10dp"
- app:cardElevation="0dp"
- >
- <LinearLayout
- android:layout_width="match_parent"
+ android:layout_height="0.3dp"
+ android:background="#FF939393" />
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center">
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
android:layout_height="wrap_content"
- android:layout_marginHorizontal="40dp"
- android:layout_marginVertical="20dp"
- android:orientation="vertical"
+ android:text="瀹犵墿鍚�"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <com.android.app_base.widget.ClearEditText
+ android:layout_width="0dp"
+ android:layout_weight="4"
+ android:layout_height="wrap_content"
+ android:background="@null"
+ android:inputType="text"
+ android:layout_marginStart="6dp"
+ android:text="@={viewModel.requestBeanLiveData.name}"
+ android:hint="璇疯緭鍏ュ疇鐗╁悕"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ app:background="@drawable/ic_clear"
+ />
+ </LinearLayout>
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.5dp"
+ android:background="#FF939393" />
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center"
+ >
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="match_parent"
+ android:text="鍑虹敓鏃ユ湡"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <LinearLayout
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="4"
+ android:gravity="center"
>
- <TextView
- android:layout_width="wrap_content"
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/et_start_time"
+ android:layout_width="0dp"
+ android:layout_weight="1"
android:layout_height="wrap_content"
- android:text="灏忛粍鐨勫熀鏈俊鎭�"
- android:textColor="#66000000"
+ android:gravity="center"
+ android:layout_marginStart="6dp"
+ android:text="@={viewModel.requestBeanLiveData.happenStartTime}"
+ android:hint="寮�濮嬫椂闂�"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
android:textSize="14sp"
- />
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_marginTop="10dp"
- >
- <TextView
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:text="鐘悕锛氬皬榛�"
- android:textColor="#FF000000"
- android:textSize="14sp"
- />
- <TextView
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:text="鐘锛氶噾姣�"
- android:textColor="#FF000000"
- android:textSize="14sp"
- />
- </LinearLayout>
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_marginTop="10dp"
- >
- <TextView
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:text="鎬у埆锛氶泴鎬�"
- android:textColor="#FF000000"
- android:textSize="14sp"
- />
- <TextView
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:text="鐘彧棰滆壊锛氶噾榛勮壊"
- android:textColor="#FF000000"
- android:textSize="14sp"
- />
- </LinearLayout>
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="鍑虹敓鏃ユ湡锛�2010-03-01"
- android:textColor="#FF000000"
- android:textSize="14sp"
- android:layout_marginTop="10dp"
+ android:maxLines="1"
+ android:lines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ tools:text="2022-01-01"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="鐘瘉鍙风爜锛�1234567891"
- android:textColor="#FF000000"
- android:textSize="14sp"
- android:layout_marginTop="10dp"
+ android:text="鈥�"
/>
- <TextView
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/et_end_time"
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:gravity="center"
+ android:layout_height="wrap_content"
+ android:text="@={viewModel.requestBeanLiveData.happenEndTime}"
+ android:hint="缁撴潫鏃堕棿"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ tools:text="2022-01-01"
+ />
+ <ImageView
+ android:id="@+id/iv_time_clear"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="闃蹭吉鐮侊細1234567891"
- android:textColor="#FF000000"
- android:textSize="14sp"
- android:layout_marginTop="10dp"
+ android:background="@drawable/ic_clear"
+ android:visibility="invisible"
/>
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_marginTop="10dp"
- >
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="楗涔犳儻锛堝枩锛夛細"
- android:textColor="#FF000000"
- android:textSize="14sp"
- />
- <TextView
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:text="灏忕嫍绮�"
- android:textColor="#FF000000"
- android:textSize="14sp"
- />
- </LinearLayout>
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_marginTop="10dp"
- >
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="楗涔犳儻锛堟伓锛夛細"
- android:textColor="#FF000000"
- android:textSize="14sp"
- />
- <TextView
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:text="灏忕嫍绮�"
- android:textColor="#FF000000"
- android:textSize="14sp"
- />
- </LinearLayout>
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_marginTop="10dp"
- >
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="鐢熸椿涔犳儻锛堢埍濂斤級锛�"
- android:textColor="#FF000000"
- android:textSize="14sp"
- />
- <TextView
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:text="灏忕嫍绮皬鐙楃伯"
- android:textColor="#FF000000"
- android:textSize="14sp"
- />
- </LinearLayout>
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_marginTop="10dp"
- >
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="鐢熸椿涔犳儻锛堝棞濂斤級锛�"
- android:textColor="#FF000000"
- android:textSize="14sp"
- />
- <TextView
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:text="灏忕嫍绮皬鐙楃伯灏忕嫍绮皬鐙楃伯灏忕嫍绮皬鐙楃伯灏忕嫍绮皬鐙楃伯灏忕嫍绮皬鐙楃伯灏忕嫍绮皬鐙楃伯灏忕嫍绮皬鐙楃伯灏忕嫍绮皬鐙楃伯灏忕嫍绮皬鐙楃伯灏忕嫍绮皬鐙楃伯灏忕嫍绮皬鐙楃伯灏忕嫍绮皬鐙楃伯灏忕嫍绮皬鐙楃伯灏忕嫍绮皬鐙楃伯"
- android:textColor="#FF000000"
- android:textSize="14sp"
- />
- </LinearLayout>
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_marginTop="10dp"
- >
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="鍚噦鏂硅█锛�"
- android:textColor="#FF000000"
- android:textSize="14sp"
- />
- <TextView
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:text="绮よ銆佸瀹惰瘽"
- android:textColor="#FF000000"
- android:textSize="14sp"
- />
- </LinearLayout>
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_marginTop="10dp"
- >
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="鐘眳浣忓湴鍧�锛�"
- android:textColor="#FF000000"
- android:textSize="14sp"
- />
- <TextView
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:text="骞夸笢鐪佸箍宸炲競"
- android:textColor="#FF000000"
- android:textSize="14sp"
- />
- </LinearLayout>
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="榄呭疇鍏ㄨ韩鐓э細"
- android:textColor="#FF000000"
- android:textSize="14sp"
- android:layout_marginTop="10dp"
- />
- <androidx.recyclerview.widget.RecyclerView
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:id="@+id/recyclerView"
- android:layout_marginTop="10dp"
- />
-
</LinearLayout>
- </androidx.cardview.widget.CardView>
+ </LinearLayout>
</LinearLayout>
- </androidx.core.widget.NestedScrollView>
-
+ </RelativeLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/app/src/main/res/layout/activity_pet_detail.xml b/app/src/main/res/layout/activity_pet_detail.xml
new file mode 100644
index 0000000..0c7c9d1
--- /dev/null
+++ b/app/src/main/res/layout/activity_pet_detail.xml
@@ -0,0 +1,418 @@
+<?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.PetDetailActivityViewModel" />
+ </data>
+
+ <androidx.constraintlayout.widget.ConstraintLayout
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="vertical"
+ 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"
+ >
+ <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>
+ </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"
+ android:visibility="gone"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@id/extendTitleBar">
+
+ <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.core.widget.NestedScrollView
+ android:layout_width="match_parent"
+ android:layout_height="0dp"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/extendTitleBar"
+ >
+ <androidx.cardview.widget.CardView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginHorizontal="20dp"
+ android:layout_marginVertical="26dp"
+ app:cardBackgroundColor="#99FFE2EF"
+ app:cardCornerRadius="10dp"
+ app:cardElevation="0dp"
+ >
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginHorizontal="40dp"
+ android:layout_marginVertical="20dp"
+ android:orientation="vertical"
+ >
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="灏忛粍鐨勫熀鏈俊鎭�"
+ android:textColor="#66000000"
+ android:textSize="14sp"
+ />
+ <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"
+ >
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="鐘悕锛�"
+ android:textColor="#FF000000"
+ android:textSize="14sp"
+ />
+ <TextView
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:text="@{viewModel.beanLiveData.name}"
+ android:textColor="#FF000000"
+ android:textSize="14sp"
+ />
+ </LinearLayout>
+ <LinearLayout
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:layout_marginStart="20dp"
+ >
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="鐘锛�"
+ android:textColor="#FF000000"
+ android:textSize="14sp"
+ />
+ <TextView
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:text="@{viewModel.beanLiveData.type}"
+ android:textColor="#FF000000"
+ android:textSize="14sp"
+ />
+ </LinearLayout>
+ </LinearLayout>
+ <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"
+ >
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="鎬у埆锛�"
+ android:textColor="#FF000000"
+ android:textSize="14sp"
+ />
+ <TextView
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:text="@{viewModel.beanLiveData.sex}"
+ android:textColor="#FF000000"
+ android:textSize="14sp"
+ />
+ </LinearLayout>
+ <LinearLayout
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:layout_marginStart="20dp"
+ >
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="鐘彧棰滆壊锛�"
+ android:textColor="#FF000000"
+ android:textSize="14sp"
+ />
+ <TextView
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:text="@{viewModel.beanLiveData.color}"
+ android:textColor="#FF000000"
+ android:textSize="14sp"
+ />
+ </LinearLayout>
+ </LinearLayout>
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="10dp"
+ >
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="鍑虹敓鏃ユ湡锛�"
+ android:textColor="#FF000000"
+ android:textSize="14sp"
+ />
+ <TextView
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:text="@{viewModel.beanLiveData.birth}"
+ android:textColor="#FF000000"
+ android:textSize="14sp"
+ />
+ </LinearLayout>
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="10dp"
+ >
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="鐘瘉鍙风爜锛�"
+ android:textColor="#FF000000"
+ android:textSize="14sp"
+ />
+ <TextView
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:text="@{viewModel.beanLiveData.idNum}"
+ android:textColor="#FF000000"
+ android:textSize="14sp"
+ />
+ </LinearLayout>
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="10dp"
+ >
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="闃蹭吉鐮侊細"
+ android:textColor="#FF000000"
+ android:textSize="14sp"
+ />
+ <TextView
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:text="@{viewModel.beanLiveData.securityCode}"
+ android:textColor="#FF000000"
+ android:textSize="14sp"
+ />
+ </LinearLayout>
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="10dp"
+ >
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="楗涔犳儻锛堝枩锛夛細"
+ android:textColor="#FF000000"
+ android:textSize="14sp"
+ />
+ <TextView
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:text="@{viewModel.beanLiveData.eatHabit}"
+ android:textColor="#FF000000"
+ android:textSize="14sp"
+ />
+ </LinearLayout>
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="10dp"
+ >
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="楗涔犳儻锛堟伓锛夛細"
+ android:textColor="#FF000000"
+ android:textSize="14sp"
+ />
+ <TextView
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:text="@{viewModel.beanLiveData.disEatHabit}"
+ android:textColor="#FF000000"
+ android:textSize="14sp"
+ />
+ </LinearLayout>
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="10dp"
+ >
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="鐢熸椿涔犳儻锛堢埍濂斤級锛�"
+ android:textColor="#FF000000"
+ android:textSize="14sp"
+ />
+ <TextView
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:text="@{viewModel.beanLiveData.lifeHabit}"
+ android:textColor="#FF000000"
+ android:textSize="14sp"
+ />
+ </LinearLayout>
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="10dp"
+ >
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="鐢熸椿涔犳儻锛堝棞濂斤級锛�"
+ android:textColor="#FF000000"
+ android:textSize="14sp"
+ />
+ <TextView
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:text="@{viewModel.beanLiveData.disLifeHabit}"
+ android:textColor="#FF000000"
+ android:textSize="14sp"
+ />
+ </LinearLayout>
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="10dp"
+ >
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="鍚噦鏂硅█锛�"
+ android:textColor="#FF000000"
+ android:textSize="14sp"
+ />
+ <TextView
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:text="@{viewModel.beanLiveData.dialect}"
+ android:textColor="#FF000000"
+ android:textSize="14sp"
+ />
+ </LinearLayout>
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="10dp"
+ >
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="鐘眳浣忓湴鍧�锛�"
+ android:textColor="#FF000000"
+ android:textSize="14sp"
+ />
+ <TextView
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:text="@{viewModel.beanLiveData.address}"
+ android:textColor="#FF000000"
+ android:textSize="14sp"
+ />
+ </LinearLayout>
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="榄呭疇鍏ㄨ韩鐓э細"
+ android:textColor="#FF000000"
+ android:textSize="14sp"
+ android:layout_marginTop="10dp"
+ />
+ <RelativeLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="10dp"
+ >
+ <androidx.recyclerview.widget.RecyclerView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:id="@+id/recyclerView"
+ />
+ </RelativeLayout>
+
+
+ </LinearLayout>
+ </androidx.cardview.widget.CardView>
+
+
+ </androidx.core.widget.NestedScrollView>
+
+
+ </androidx.constraintlayout.widget.ConstraintLayout>
+
+</layout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_pet_memo.xml b/app/src/main/res/layout/activity_pet_memo.xml
index cd91d89..a1540e3 100644
--- a/app/src/main/res/layout/activity_pet_memo.xml
+++ b/app/src/main/res/layout/activity_pet_memo.xml
@@ -35,7 +35,6 @@
android:background="@drawable/ic_operate"
/>
</FrameLayout>
-
<LinearLayout
android:id="@+id/layout_default"
android:layout_width="match_parent"
@@ -47,11 +46,12 @@
android:id="@+id/tv_title"
android:layout_width="0dp"
android:layout_height="wrap_content"
- android:layout_marginStart="16dp"
- android:text="榄呭疇澶囧繕褰�(浠呬緵鏌ョ湅)"
+ android:layout_marginHorizontal="16dp"
+ android:text="榄呭疇澶囧繕鏈紙浠呬緵鏌ョ湅锛�"
android:layout_weight="1"
android:textColor="@color/white"
- android:textSize="@dimen/sp_20"
+ android:textSize="20sp"
+ app:textOverflowMode="@{4}"
/>
<ImageView
android:id="@+id/iv_search_default"
@@ -60,7 +60,6 @@
android:background="@drawable/ic_search"
/>
</LinearLayout>
-
<LinearLayout
android:id="@+id/layout_search"
android:layout_width="match_parent"
@@ -88,9 +87,11 @@
android:textColor="#61000000"
android:background="@null"
android:imeOptions="actionSearch"
- android:text=""
android:singleLine="true"
- android:hint="鍦ㄢ�滃澶т簨璁板唴鎼滅储鈥�"
+ android:text="鍦ㄢ�滈瓍瀹犲蹇樻湰鈥濆唴鎼滅储"
+ android:editable="false"
+ android:clickable="false"
+ android:focusable="false"
/>
<ImageView
android:id="@+id/iv_search_type"
@@ -99,7 +100,6 @@
android:background="@drawable/ic_search_by"
/>
</LinearLayout>
-
</com.android.app_base.widget.ExtendTitleBar>
<LinearLayout
@@ -108,6 +108,7 @@
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center"
+ android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
@@ -122,23 +123,268 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="18dp"
- android:text="鏆傛椂杩樻病鏈夋暟鎹摝~\n鐐瑰嚮鈥濓紜鈥濈珛鍗冲垱寤�"
+ android:text="鏆傛椂杩樻病鏈夋暟鎹摝~"
android:textSize="14sp"
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_assets" />
+ app:layout_constraintBottom_toBottomOf="parent"
+ >
+ <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="wrap_content"
+ tools:itemCount="20"
+ tools:listitem="@layout/item_pet_memo" />
+
+ <com.scwang.smart.refresh.footer.BallPulseFooter
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"/>
+ </com.scwang.smart.refresh.layout.SmartRefreshLayout>
+
+ <RelativeLayout
+ android:id="@+id/container_search_parameter"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ app:layout_constraintTop_toBottomOf="@id/titleBar"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ android:layout_marginTop="-4dp"
+ tools:layout_height="wrap_content"
+ >
+ <LinearLayout
+ android:id="@+id/layout_search_parameter"
+ android:orientation="vertical"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:background="@color/white"
+ android:layout_marginHorizontal="56dp"
+ android:paddingEnd="12dp"
+ android:paddingStart="5dp"
+ >
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.5dp"
+ android:background="#FF939393" />
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center"
+ >
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:text="鏃ユ湡"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <LinearLayout
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="4"
+ android:gravity="center"
+ >
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/et_start_time"
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:gravity="center"
+ android:layout_marginStart="6dp"
+ android:text="@={viewModel.requestBeanLiveData.happenStartTime}"
+ android:hint="寮�濮嬫椂闂�"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ android:lines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ tools:text="2022-01-01"
+ />
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="鈥�"
+ />
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/et_end_time"
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:gravity="center"
+ android:layout_height="wrap_content"
+ android:text="@={viewModel.requestBeanLiveData.happenEndTime}"
+ android:hint="缁撴潫鏃堕棿"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ tools:text="2022-01-01"
+ />
+ <ImageView
+ android:id="@+id/iv_time_clear"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:background="@drawable/ic_clear"
+ android:visibility="invisible"
+ />
+ </LinearLayout>
+
+ </LinearLayout>
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.3dp"
+ android:background="#FF939393" />
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center">
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:text="棰樺悕"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <com.android.app_base.widget.ClearEditText
+ android:layout_width="0dp"
+ android:layout_weight="4"
+ android:layout_height="wrap_content"
+ android:background="@null"
+ android:inputType="text"
+ android:layout_marginStart="6dp"
+ android:text="@={viewModel.requestBeanLiveData.title}"
+ android:hint="璇疯緭鍏ラ鍚�"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ app:background="@drawable/ic_clear"
+ />
+
+
+ </LinearLayout>
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.3dp"
+ android:background="#FF939393" />
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center"
+ >
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:text="鎻愰啋鏃ユ湡"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <LinearLayout
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="4"
+ android:gravity="center"
+ >
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/et_remind_start_time"
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:gravity="center"
+ android:layout_marginStart="6dp"
+ android:text="@={viewModel.requestBeanLiveData.remindStartTime}"
+ android:hint="寮�濮嬫椂闂�"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ android:lines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ tools:text="2022-01-01"
+ />
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="鈥�"
+ />
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/et_remind_end_time"
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:gravity="center"
+ android:layout_height="wrap_content"
+ android:text="@={viewModel.requestBeanLiveData.remindEndTime}"
+ android:hint="缁撴潫鏃堕棿"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ tools:text="2022-01-01"
+ />
+ <ImageView
+ android:id="@+id/iv_remind_time_clear"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:background="@drawable/ic_clear"
+ android:visibility="invisible"
+ />
+ </LinearLayout>
+
+ </LinearLayout>
+ </LinearLayout>
+
+ </RelativeLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/app/src/main/res/layout/activity_pet_memo_detail.xml b/app/src/main/res/layout/activity_pet_memo_detail.xml
index 39609c0..b5a9868 100644
--- a/app/src/main/res/layout/activity_pet_memo_detail.xml
+++ b/app/src/main/res/layout/activity_pet_memo_detail.xml
@@ -19,7 +19,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:leftIcon="@drawable/ic_back"
- app:title="@{viewModel.beanLiveData.name+`(浠呬緵鏌ョ湅)`}"
+ app:title="@{viewModel.beanLiveData.title+`(浠呬緵鏌ョ湅)`}"
app:titleGravity="left"
/>
<ScrollView
@@ -51,7 +51,7 @@
android:textColorHint="#6b000000"
android:textColor="#DE000000"
android:textSize="16sp"
- android:text="@={viewModel.beanLiveData.name}"
+ android:text="@={viewModel.beanLiveData.title}"
/>
<TextView
@@ -69,7 +69,7 @@
android:layout_marginTop="2dp"
android:inputType="text"
android:textColor="#DE000000"
- android:text="@={viewModel.beanLiveData.time}"
+ android:text="@={viewModel.beanLiveData.happenTime}"
android:textSize="16sp" />
<TextView
android:layout_width="wrap_content"
@@ -85,7 +85,7 @@
android:layout_marginTop="2dp"
android:inputType="text"
android:textColorHint="#6b000000"
- android:text="@={viewModel.beanLiveData.reminderTime}"
+ android:text="@={viewModel.beanLiveData.remindTime}"
android:textColor="#DE000000"
android:textSize="16sp" />
<TextView
diff --git a/app/src/main/res/layout/activity_privacy.xml b/app/src/main/res/layout/activity_privacy.xml
index d0c5ea4..e0243a5 100644
--- a/app/src/main/res/layout/activity_privacy.xml
+++ b/app/src/main/res/layout/activity_privacy.xml
@@ -34,7 +34,6 @@
android:background="@drawable/ic_operate"
/>
</FrameLayout>
-
<LinearLayout
android:id="@+id/layout_default"
android:layout_width="match_parent"
@@ -50,7 +49,8 @@
android:text="钘忓績瀵嗚锛堜粎渚涙煡鐪嬶級"
android:layout_weight="1"
android:textColor="@color/white"
- android:textSize="@dimen/sp_20"
+ android:textSize="20sp"
+ app:textOverflowMode="@{4}"
/>
<ImageView
android:id="@+id/iv_search_default"
@@ -59,7 +59,6 @@
android:background="@drawable/ic_search"
/>
</LinearLayout>
-
<LinearLayout
android:id="@+id/layout_search"
android:layout_width="match_parent"
@@ -87,9 +86,11 @@
android:textColor="#61000000"
android:background="@null"
android:imeOptions="actionSearch"
- android:text=""
android:singleLine="true"
- android:hint="鍦ㄢ�滃澶т簨璁板唴鎼滅储鈥�"
+ android:text="鍦ㄢ�滆棌蹇冨瘑璇�濆唴鎼滅储"
+ android:editable="false"
+ android:clickable="false"
+ android:focusable="false"
/>
<ImageView
android:id="@+id/iv_search_type"
@@ -98,7 +99,6 @@
android:background="@drawable/ic_search_by"
/>
</LinearLayout>
-
</com.android.app_base.widget.ExtendTitleBar>
<LinearLayout
@@ -107,6 +107,7 @@
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center"
+ android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
@@ -121,23 +122,367 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="18dp"
- android:text="鏆傛椂杩樻病鏈夋暟鎹摝~\n鐐瑰嚮鈥濓紜鈥濈珛鍗冲垱寤�"
+ android:text="鏆傛椂杩樻病鏈夋暟鎹摝~"
android:textSize="14sp"
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_assets" />
+ app:layout_constraintBottom_toBottomOf="parent"
+ >
+ <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="wrap_content"
+ tools:itemCount="20"
+ tools:listitem="@layout/item_property" />
+
+ <com.scwang.smart.refresh.footer.BallPulseFooter
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"/>
+ </com.scwang.smart.refresh.layout.SmartRefreshLayout>
+
+ <RelativeLayout
+ android:id="@+id/container_search_parameter"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ app:layout_constraintTop_toBottomOf="@id/titleBar"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ android:layout_marginTop="-4dp"
+ tools:layout_height="wrap_content"
+ >
+ <LinearLayout
+ android:id="@+id/layout_search_parameter"
+ android:orientation="vertical"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:background="@color/white"
+ android:layout_marginHorizontal="56dp"
+ android:paddingEnd="12dp"
+ android:paddingStart="5dp"
+ >
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.5dp"
+ android:background="#FF939393" />
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center"
+ >
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:text="鏃堕棿"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <LinearLayout
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="4"
+ android:gravity="center"
+ >
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/et_start_time"
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:gravity="center"
+ android:layout_marginStart="6dp"
+ android:text="@={viewModel.requestBeanLiveData.happenStartTime}"
+ android:hint="寮�濮嬫椂闂�"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ android:lines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ tools:text="2022-01-01"
+ />
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="鈥�"
+ />
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/et_end_time"
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:gravity="center"
+ android:layout_height="wrap_content"
+ android:text="@={viewModel.requestBeanLiveData.happenEndTime}"
+ android:hint="缁撴潫鏃堕棿"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ tools:text="2022-01-01"
+ />
+ <ImageView
+ android:id="@+id/iv_time_clear"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:background="@drawable/ic_clear"
+ android:visibility="invisible"
+ />
+ </LinearLayout>
+
+ </LinearLayout>
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.3dp"
+ android:background="#FF939393" />
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center">
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:text="绫诲埆"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <com.android.app_base.widget.ClearEditText
+ android:layout_width="0dp"
+ android:layout_weight="4"
+ android:layout_height="wrap_content"
+ android:background="@null"
+ android:inputType="text"
+ android:layout_marginStart="6dp"
+ android:text="@={viewModel.requestBeanLiveData.type}"
+ android:hint="璇疯緭鍏ョ被鍒�"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ app:background="@drawable/ic_clear"
+ />
+
+
+ </LinearLayout>
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.3dp"
+ android:background="#FF939393" />
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center">
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:text="璐﹀彿"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <com.android.app_base.widget.ClearEditText
+ android:layout_width="0dp"
+ android:layout_weight="4"
+ android:layout_height="wrap_content"
+ android:background="@null"
+ android:inputType="text"
+ android:layout_marginStart="6dp"
+ android:text="@={viewModel.requestBeanLiveData.accNo}"
+ android:hint="璇疯緭鍏ヨ处鍙�"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ app:background="@drawable/ic_clear"
+ />
+
+ </LinearLayout>
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.3dp"
+ android:background="#FF939393" />
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center"
+ >
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="match_parent"
+ android:text="鏄惁寮�鍚寚绾�"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:layout_gravity="center_vertical"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="6sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <com.android.app_base.widget.ClearEditText
+ android:id="@+id/et_is_finger"
+ android:layout_width="0dp"
+ android:layout_weight="4"
+ android:layout_height="wrap_content"
+ android:background="@null"
+ android:inputType="text"
+ android:layout_marginStart="6dp"
+ android:hint="璇烽�夋嫨鏄惁寮�鍚寚绾�"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ app:background="@drawable/ic_clear"
+ app:isEditable="@{false}"
+ />
+
+ </LinearLayout>
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.3dp"
+ android:background="#FF939393" />
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center">
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="match_parent"
+ android:text="绉佹湁/鍏湁"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:layout_gravity="center_vertical"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="6sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <com.android.app_base.widget.ClearEditText
+ android:id="@+id/et_is_private"
+ android:layout_width="0dp"
+ android:layout_weight="4"
+ android:layout_height="wrap_content"
+ android:background="@null"
+ android:inputType="text"
+ android:layout_marginStart="6dp"
+ android:hint="璇烽�夋嫨绉佹湁/鍏湁"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ app:background="@drawable/ic_clear"
+ app:isEditable="@{false}"
+ />
+
+ </LinearLayout>
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.3dp"
+ android:background="#FF939393" />
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center">
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="match_parent"
+ android:text="瀛樻斁浣嶇疆"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <com.android.app_base.widget.ClearEditText
+ android:layout_width="0dp"
+ android:layout_weight="4"
+ android:layout_height="wrap_content"
+ android:background="@null"
+ android:inputType="text"
+ android:layout_marginStart="6dp"
+ android:text="@={viewModel.requestBeanLiveData.location}"
+ android:hint="璇疯緭鍏ュ瓨鏀句綅缃�"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ app:background="@drawable/ic_clear"
+ />
+
+ </LinearLayout>
+ </LinearLayout>
+
+ </RelativeLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/app/src/main/res/layout/activity_privacy_detail.xml b/app/src/main/res/layout/activity_privacy_detail.xml
index a612368..59671d3 100644
--- a/app/src/main/res/layout/activity_privacy_detail.xml
+++ b/app/src/main/res/layout/activity_privacy_detail.xml
@@ -68,7 +68,7 @@
android:layout_marginTop="2dp"
android:inputType="text"
android:textColor="#DE000000"
- android:text="@={viewModel.beanLiveData.time}"
+ android:text="@={viewModel.beanLiveData.happenTime}"
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.account}"
+ android:text="@={viewModel.beanLiveData.accNo}"
android:textColor="#DE000000"
android:textSize="16sp" />
<TextView
@@ -119,7 +119,7 @@
android:inputType="text"
android:textColorHint="#6b000000"
android:textColor="#DE000000"
- android:text="@={viewModel.beanLiveData.effectiveTime}"
+ android:text="@={viewModel.beanLiveData.validityDate}"
android:textSize="16sp" />
<TextView
android:layout_width="wrap_content"
@@ -136,7 +136,7 @@
android:inputType="text"
android:textColorHint="#6b000000"
android:textColor="#DE000000"
- android:text="@{viewModel.beanLiveData.isFingerprint==1?`鏄痐:`鍚}"
+ android:text="@{viewModel.beanLiveData.isFinger}"
android:textSize="16sp" />
<TextView
android:layout_width="wrap_content"
@@ -153,7 +153,7 @@
android:inputType="text"
android:textColorHint="#6b000000"
android:textColor="#DE000000"
- android:text="@{viewModel.beanLiveData.isFace==1?`鏄痐:`鍚}"
+ android:text="@{viewModel.beanLiveData.isFace}"
android:textSize="16sp" />
<TextView
android:layout_width="wrap_content"
@@ -170,7 +170,7 @@
android:inputType="text"
android:textColorHint="#6b000000"
android:textColor="#DE000000"
- android:text="@{viewModel.beanLiveData.isPublic==1?`鍏湁`:`绉佹湁`}"
+ android:text="@{viewModel.beanLiveData.isPrivate}"
android:textSize="16sp" />
<TextView
android:layout_width="wrap_content"
@@ -206,6 +206,41 @@
android:textColor="#DE000000"
android:text="@{viewModel.beanLiveData.remark}"
android:textSize="16sp" />
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="10dp"
+ android:gravity="center_vertical"
+ >
+ <TextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:text="澶囧繕鏈�"
+ android:textColor="#FF000000"
+ android:textSize="20sp"
+ />
+ <ImageView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:background="@drawable/ic_tourism_add"
+ android:layout_marginEnd="15dp"
+ android:visibility="gone"
+ />
+ </LinearLayout>
+ <RelativeLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="10dp"
+ >
+ <androidx.recyclerview.widget.RecyclerView
+ android:id="@+id/rv_memo"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ tools:listitem="@layout/item_memo"
+ tools:itemCount="2"
+ />
+ </RelativeLayout>
<TextView
android:layout_width="wrap_content"
android:layout_marginTop="10dp"
diff --git a/app/src/main/res/layout/activity_property.xml b/app/src/main/res/layout/activity_property.xml
index 9e8db53..29fc0cd 100644
--- a/app/src/main/res/layout/activity_property.xml
+++ b/app/src/main/res/layout/activity_property.xml
@@ -34,7 +34,6 @@
android:background="@drawable/ic_operate"
/>
</FrameLayout>
-
<LinearLayout
android:id="@+id/layout_default"
android:layout_width="match_parent"
@@ -50,7 +49,8 @@
android:text="涓汉璐骇锛堜粎渚涙煡鐪嬶級"
android:layout_weight="1"
android:textColor="@color/white"
- android:textSize="@dimen/sp_20"
+ android:textSize="20sp"
+ app:textOverflowMode="@{4}"
/>
<ImageView
android:id="@+id/iv_search_default"
@@ -59,7 +59,6 @@
android:background="@drawable/ic_search"
/>
</LinearLayout>
-
<LinearLayout
android:id="@+id/layout_search"
android:layout_width="match_parent"
@@ -87,9 +86,11 @@
android:textColor="#61000000"
android:background="@null"
android:imeOptions="actionSearch"
- android:text=""
android:singleLine="true"
- android:hint="鍦ㄢ�滃澶т簨璁板唴鎼滅储鈥�"
+ android:text="鍦ㄢ�滀釜浜鸿储浜р�濆唴鎼滅储"
+ android:editable="false"
+ android:clickable="false"
+ android:focusable="false"
/>
<ImageView
android:id="@+id/iv_search_type"
@@ -98,7 +99,6 @@
android:background="@drawable/ic_search_by"
/>
</LinearLayout>
-
</com.android.app_base.widget.ExtendTitleBar>
<LinearLayout
@@ -107,6 +107,7 @@
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center"
+ android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
@@ -121,22 +122,274 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="18dp"
- android:text="鏆傛椂杩樻病鏈夋暟鎹摝~\n鐐瑰嚮鈥濓紜鈥濈珛鍗冲垱寤�"
+ android:text="鏆傛椂杩樻病鏈夋暟鎹摝~"
android:textSize="14sp"
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"
- />
+ app:layout_constraintBottom_toBottomOf="parent"
+ >
+ <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="wrap_content"
+ tools:itemCount="20"
+ tools:listitem="@layout/item_property" />
+
+ <com.scwang.smart.refresh.footer.BallPulseFooter
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"/>
+ </com.scwang.smart.refresh.layout.SmartRefreshLayout>
+
+ <RelativeLayout
+ android:id="@+id/container_search_parameter"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ app:layout_constraintTop_toBottomOf="@id/titleBar"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ android:layout_marginTop="-4dp"
+ tools:layout_height="wrap_content"
+ >
+ <LinearLayout
+ android:id="@+id/layout_search_parameter"
+ android:orientation="vertical"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:background="@color/white"
+ android:layout_marginHorizontal="56dp"
+ android:paddingEnd="12dp"
+ android:paddingStart="5dp"
+ >
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.5dp"
+ android:background="#FF939393" />
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center"
+ >
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:text="鏃ユ湡"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <LinearLayout
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="4"
+ android:gravity="center"
+ >
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/et_start_time"
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:gravity="center"
+ android:layout_marginStart="6dp"
+ android:text="@={viewModel.requestBeanLiveData.happenStartTime}"
+ android:hint="寮�濮嬫椂闂�"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ android:lines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ tools:text="2022-01-01"
+ />
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="鈥�"
+ />
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/et_end_time"
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:gravity="center"
+ android:layout_height="wrap_content"
+ android:text="@={viewModel.requestBeanLiveData.happenEndTime}"
+ android:hint="缁撴潫鏃堕棿"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ tools:text="2022-01-01"
+ />
+ <ImageView
+ android:id="@+id/iv_time_clear"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:background="@drawable/ic_clear"
+ android:visibility="invisible"
+ />
+ </LinearLayout>
+
+ </LinearLayout>
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.3dp"
+ android:background="#FF939393" />
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center">
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:text="璐骇绫诲埆"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <com.android.app_base.widget.ClearEditText
+ android:layout_width="0dp"
+ android:layout_weight="4"
+ android:layout_height="wrap_content"
+ android:background="@null"
+ android:inputType="text"
+ android:layout_marginStart="6dp"
+ android:text="@={viewModel.requestBeanLiveData.type}"
+ android:hint="璇疯緭鍏ヨ储浜х被鍒�"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ app:background="@drawable/ic_clear"
+ />
+
+
+ </LinearLayout>
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.3dp"
+ android:background="#FF939393" />
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center">
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:text="鏀舵敮鍚嶇О"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <com.android.app_base.widget.ClearEditText
+ android:layout_width="0dp"
+ android:layout_weight="4"
+ android:layout_height="wrap_content"
+ android:background="@null"
+ android:inputType="text"
+ android:layout_marginStart="6dp"
+ android:text="@={viewModel.requestBeanLiveData.name}"
+ android:hint="璇疯緭鍏ユ敹鏀悕绉�"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ app:background="@drawable/ic_clear"
+ />
+
+ </LinearLayout>
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.3dp"
+ android:background="#FF939393" />
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center">
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:text="鏈熼檺"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <com.android.app_base.widget.ClearEditText
+ android:layout_width="0dp"
+ android:layout_weight="4"
+ android:layout_height="wrap_content"
+ android:background="@null"
+ android:inputType="text"
+ android:layout_marginStart="6dp"
+ android:text="@={viewModel.requestBeanLiveData.term}"
+ android:hint="璇疯緭鍏ユ湡闄�"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ app:background="@drawable/ic_clear"
+ />
+
+ </LinearLayout>
+ </LinearLayout>
+
+ </RelativeLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/app/src/main/res/layout/activity_property_detail.xml b/app/src/main/res/layout/activity_property_detail.xml
index cc9fdc0..8a5f4a9 100644
--- a/app/src/main/res/layout/activity_property_detail.xml
+++ b/app/src/main/res/layout/activity_property_detail.xml
@@ -18,7 +18,7 @@
<com.android.app_base.widget.ExtendTitleBar
android:layout_width="match_parent"
android:layout_height="wrap_content"
- app:title="@{viewModel.beanLiveData.name+`(浠呬緵鏌ョ湅)`}"
+ app:title="@{viewModel.beanLiveData.incomeName+`(浠呬緵鏌ョ湅)`}"
app:titleGravity="left"
/>
<ScrollView
@@ -50,7 +50,7 @@
android:textColorHint="#6b000000"
android:textColor="#DE000000"
android:textSize="16sp"
- android:text="@={viewModel.beanLiveData.createTime}"
+ android:text="@={viewModel.beanLiveData.happenTime}"
/>
<TextView
@@ -84,7 +84,7 @@
android:layout_marginTop="2dp"
android:inputType="text"
android:textColorHint="#6b000000"
- android:text="@={viewModel.beanLiveData.name}"
+ android:text="@={viewModel.beanLiveData.incomeName}"
android:textColor="#DE000000"
android:textSize="16sp" />
<TextView
@@ -119,7 +119,7 @@
android:inputType="text"
android:textColorHint="#6b000000"
android:textColor="#DE000000"
- android:text="@={viewModel.beanLiveData.term}"
+ android:text="@={viewModel.beanLiveData.timeLimit}"
android:textSize="16sp" />
<TextView
android:layout_width="wrap_content"
@@ -136,7 +136,7 @@
android:inputType="text"
android:textColorHint="#6b000000"
android:textColor="#DE000000"
- android:text="@={viewModel.beanLiveData.status}"
+ android:text="@={viewModel.beanLiveData.isChange}"
android:textSize="16sp" />
<TextView
android:layout_width="wrap_content"
@@ -193,6 +193,59 @@
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" />
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="10dp"
+ android:gravity="center_vertical"
+ >
+ <TextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:text="澶囧繕鏈�"
+ android:textColor="#FF000000"
+ android:textSize="20sp"
+ />
+ <ImageView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:background="@drawable/ic_tourism_add"
+ android:layout_marginEnd="15dp"
+ android:visibility="gone"
+ />
+ </LinearLayout>
+ <RelativeLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="10dp"
+ >
+ <androidx.recyclerview.widget.RecyclerView
+ android:id="@+id/rv_memo"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ tools:listitem="@layout/item_memo"
+ tools:itemCount="2"
+ />
+ </RelativeLayout>
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_marginTop="10dp"
+ android:layout_height="wrap_content"
android:text="鐢靛瓙鏂囦欢"
android:textColor="#767375"
android:textSize="12sp"
diff --git a/app/src/main/res/layout/activity_test.xml b/app/src/main/res/layout/activity_test.xml
new file mode 100644
index 0000000..89565a7
--- /dev/null
+++ b/app/src/main/res/layout/activity_test.xml
@@ -0,0 +1,110 @@
+<?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.TestActivityViewModel"/>
+ </data>
+
+ <FrameLayout
+ android:id="@+id/frameLayout"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="vertical"
+ >
+ <Button
+ android:id="@+id/btn"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ />
+
+ <EditText
+ android:id="@+id/et"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="@={viewModel.text}"
+ android:textColor="#8ee6ff"
+ android:textSize="@dimen/sp_36"
+ android:rotationX="45"
+ android:layout_gravity="center"
+ />
+
+
+ <View
+ android:id="@+id/myView1"
+ android:layout_width="100dp"
+ android:layout_height="100dp"
+ />
+ <View
+ android:id="@+id/myView2"
+ android:layout_width="100dp"
+ android:layout_height="100dp"
+ android:layout_gravity="end"
+ />
+ <FrameLayout
+ android:id="@+id/frameLayout2"
+ android:layout_width="200dp"
+ android:layout_height="200dp"
+ android:background="@color/purple_200"
+ android:layout_gravity="center"
+ android:visibility="gone"
+ >
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="100dp"
+ android:background="@color/black"
+ />
+
+
+ </FrameLayout>
+ <View
+ android:id="@+id/view"
+ android:layout_width="200dp"
+ android:layout_height="200dp"
+ android:background="@color/teal_700"
+ android:layout_gravity="center"
+ android:visibility="gone"
+
+ />
+ <View
+ android:id="@+id/view1"
+ android:layout_width="200dp"
+ android:layout_height="200dp"
+ android:background="@color/teal_200"
+ android:visibility="gone"
+ />
+ <View
+ android:visibility="gone"
+
+ android:id="@+id/point1"
+ android:layout_width="10dp"
+ android:layout_height="10dp"
+ android:background="@color/black"
+ />
+ <View
+ android:id="@+id/point11"
+ android:layout_width="10dp"
+ android:layout_height="10dp"
+ android:background="@color/black"
+ android:visibility="gone"
+ />
+ <View
+ android:id="@+id/point2"
+ android:layout_width="10dp"
+ android:layout_height="10dp"
+ android:background="@color/colorAccent"
+ android:visibility="gone"
+ />
+ <View
+ android:id="@+id/point22"
+ android:layout_width="10dp"
+ android:layout_height="10dp"
+ android:background="@color/colorAccent"
+ android:visibility="gone"
+ />
+ </FrameLayout>
+
+</layout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_tourism.xml b/app/src/main/res/layout/activity_tourism.xml
index 10bb0b2..fd34d19 100644
--- a/app/src/main/res/layout/activity_tourism.xml
+++ b/app/src/main/res/layout/activity_tourism.xml
@@ -12,7 +12,9 @@
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:orientation="vertical">
+ tools:context=".ui.function.FamilyMemorabiliaActivity"
+ android:background="@color/color_normal_background"
+ >
<com.android.app_base.widget.ExtendTitleBar
android:id="@+id/titleBar"
@@ -50,7 +52,7 @@
android:text="鏃呮父璐圭敤璁板綍缁熻琛�"
android:layout_weight="1"
android:textColor="@color/white"
- android:textSize="@dimen/sp_20"
+ android:textSize="20sp"
/>
<ImageView
android:id="@+id/iv_search_default"
@@ -89,7 +91,9 @@
android:imeOptions="actionSearch"
android:text=""
android:singleLine="true"
- android:hint="鍦ㄢ�滃澶т簨璁板唴鎼滅储鈥�"
+ android:hint="鍦ㄢ�滆垂鐢ㄧ粺璁¤〃鈥濆唴鎼滅储"
+ android:focusable="false"
+ android:clickable="false"
/>
<ImageView
android:id="@+id/iv_search_type"
@@ -107,6 +111,7 @@
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center"
+ android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
@@ -126,19 +131,192 @@
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_assets" />
+ >
+ <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"
+ android:layout_marginTop="20dp"
+ 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>
+ <RelativeLayout
+ android:id="@+id/container_search_parameter"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ app:layout_constraintTop_toBottomOf="@id/titleBar"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ android:layout_marginTop="-4dp"
+ tools:layout_height="wrap_content"
+ >
+ <LinearLayout
+ android:id="@+id/layout_search_parameter"
+ android:orientation="vertical"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:background="@color/white"
+ android:layout_marginHorizontal="56dp"
+ android:paddingEnd="12dp"
+ android:paddingStart="5dp"
+ >
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.5dp"
+ android:background="#FF939393" />
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center"
+ >
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:text="鏃堕棿"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <LinearLayout
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="4"
+ android:gravity="center"
+ >
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/et_start_time"
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:gravity="center"
+ android:layout_marginStart="6dp"
+ android:text="@={viewModel.requestBeanLiveData.start}"
+ android:hint="寮�濮嬫椂闂�"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ android:lines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ tools:text="2022-01-01"
+ />
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="鈥�"
+ />
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/et_end_time"
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:gravity="center"
+ android:layout_height="wrap_content"
+ android:text="@={viewModel.requestBeanLiveData.end}"
+ android:hint="缁撴潫鏃堕棿"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ tools:text="2022-01-01"
+ />
+ <ImageView
+ android:id="@+id/iv_time_clear"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:background="@drawable/ic_clear"
+ android:visibility="invisible"
+ />
+ </LinearLayout>
+
+ </LinearLayout>
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.3dp"
+ android:background="#FF939393" />
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center">
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:text="鎬诲ぉ鏁�"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:maxLines="1"
+ android:lines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <com.android.app_base.widget.ClearEditText
+ android:layout_width="0dp"
+ android:layout_weight="4"
+ android:layout_height="wrap_content"
+ android:background="@null"
+ android:inputType="text"
+ android:layout_marginStart="6dp"
+ android:text="@={viewModel.requestBeanLiveData.totalDay}"
+ android:hint="璇疯緭鍏ユ�诲ぉ鏁�"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ app:background="@drawable/ic_clear"
+ />
+ </LinearLayout>
+ </LinearLayout>
+
+ </RelativeLayout>
+ <com.google.android.material.floatingactionbutton.FloatingActionButton
+ android:id="@+id/fab_add"
+ android:layout_width="56dp"
+ android:layout_height="56dp"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ android:layout_marginEnd="25dp"
+ android:layout_marginBottom="@dimen/dp_44"
+ android:src="@drawable/ic_add"
+ app:fabCustomSize="56dp"
+ />
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_tourism_detail.xml b/app/src/main/res/layout/activity_tourism_detail.xml
index d0f9eb1..e806b06 100644
--- a/app/src/main/res/layout/activity_tourism_detail.xml
+++ b/app/src/main/res/layout/activity_tourism_detail.xml
@@ -16,11 +16,27 @@
android:orientation="vertical">
<com.android.app_base.widget.ExtendTitleBar
+ android:id="@+id/title_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- app:title="@{viewModel.beanLiveData.title}"
+ app:title="@{viewModel.beanLiveData.title==null?`鏂板鏃呮父璐圭敤璁板綍`:viewModel.beanLiveData.title}"
app:titleGravity="left"
- />
+ >
+ <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="@{viewModel.typeLiveData?@drawable/ic_operate_finish:@drawable/ic_operate}"
+ />
+ </FrameLayout>
+ </com.android.app_base.widget.ExtendTitleBar>
<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
@@ -47,10 +63,12 @@
android:layout_height="wrap_content"
android:inputType="text"
android:autofillHints="creditCardNumber"
+ android:hint="@{viewModel.typeLiveData?`璇疯緭鍏ユ爣棰榒:``}"
android:textColorHint="#6b000000"
android:textColor="#DE000000"
android:textSize="16sp"
- android:text="@{viewModel.beanLiveData.title}"
+ android:text="@={viewModel.beanLiveData.title}"
+ android:enabled="@{viewModel.typeLiveData}"
/>
<TextView
@@ -63,13 +81,21 @@
/>
<EditText
+ android:id="@+id/et_start_time"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
- android:inputType="text"
+ android:textColorHint="#6b000000"
+ android:hint="@{viewModel.typeLiveData?`璇烽�夋嫨寮�濮嬫椂闂碻:``}"
android:textColor="#DE000000"
android:text="@={viewModel.beanLiveData.startTime}"
- android:textSize="16sp" />
+ android:textSize="16sp"
+ android:focusable="false"
+ android:cursorVisible="false"
+ android:longClickable="false"
+ android:clickable="@{viewModel.typeLiveData}"
+ android:backgroundTint="#6B000000"
+ />
<TextView
android:layout_width="wrap_content"
android:layout_marginTop="10dp"
@@ -79,14 +105,21 @@
android:textSize="12sp"
/>
<EditText
+ android:id="@+id/et_end_time"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
- android:inputType="text"
android:textColorHint="#6b000000"
+ android:hint="@{viewModel.typeLiveData?`璇烽�夋嫨缁撴潫鏃堕棿`:``}"
android:text="@={viewModel.beanLiveData.endTime}"
android:textColor="#DE000000"
- android:textSize="16sp" />
+ android:textSize="16sp"
+ android:clickable="@{viewModel.typeLiveData}"
+ android:focusable="false"
+ android:cursorVisible="false"
+ android:longClickable="false"
+ android:backgroundTint="#6B000000"
+ />
<TextView
android:layout_width="wrap_content"
android:layout_marginTop="10dp"
@@ -95,15 +128,38 @@
android:textColor="#767375"
android:textSize="12sp"
/>
- <EditText
+ <androidx.constraintlayout.widget.ConstraintLayout
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.totalDay}"
- android:textSize="16sp" />
+ >
+ <EditText
+ android:id="@+id/et_total_day"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="2dp"
+ android:inputType="number"
+ android:textColorHint="#6b000000"
+ android:hint="@{viewModel.typeLiveData?`0`:``}"
+ android:textColor="#DE000000"
+ android:text="@={viewModel.beanLiveData.totalDay}"
+ android:textSize="16sp"
+ android:enabled="false"
+ android:backgroundTint="#6B000000"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ />
+ <View
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:background="@color/color_non_editable"
+ app:layout_constraintTop_toTopOf="@id/et_total_day"
+ app:layout_constraintStart_toStartOf="@id/et_total_day"
+ app:layout_constraintBottom_toBottomOf="@id/et_total_day"
+ app:layout_constraintEnd_toEndOf="@id/et_total_day"
+ android:visibility="@{viewModel.typeLiveData}"
+ />
+ </androidx.constraintlayout.widget.ConstraintLayout>
+
<TextView
android:layout_width="wrap_content"
android:layout_marginTop="10dp"
@@ -112,15 +168,37 @@
android:textColor="#767375"
android:textSize="12sp"
/>
- <EditText
+ <androidx.constraintlayout.widget.ConstraintLayout
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.totalMoney}"
- android:textSize="16sp" />
+ >
+ <EditText
+ android:id="@+id/et_total_cost"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="2dp"
+ android:inputType="numberDecimal"
+ android:textColorHint="#6b000000"
+ android:hint="@{viewModel.typeLiveData?`0`:``}"
+ android:textColor="#DE000000"
+ android:text="@={viewModel.beanLiveData.totalCost}"
+ android:textSize="16sp"
+ android:enabled="false"
+ android:backgroundTint="#6B000000"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ />
+ <View
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:background="@color/color_non_editable"
+ app:layout_constraintTop_toTopOf="@id/et_total_cost"
+ app:layout_constraintStart_toStartOf="@id/et_total_cost"
+ app:layout_constraintBottom_toBottomOf="@id/et_total_cost"
+ app:layout_constraintEnd_toEndOf="@id/et_total_cost"
+ android:visibility="@{viewModel.typeLiveData}"
+ />
+ </androidx.constraintlayout.widget.ConstraintLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
@@ -139,15 +217,37 @@
android:textColor="#767375"
android:textSize="12sp"
/>
- <EditText
+ <androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:inputType="text"
- android:textColorHint="#6b000000"
- android:textColor="#DE000000"
- tools:text="aaa"
- android:text="@={viewModel.beanLiveData.totalMoney}"
- android:textSize="16sp" />
+ >
+ <EditText
+ android:id="@+id/et_total_cost1"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:inputType="numberDecimal"
+ android:textColorHint="#6b000000"
+ android:textColor="#DE000000"
+ android:hint="@{viewModel.typeLiveData?`0`:``}"
+ android:text="@={viewModel.beanLiveData.totalCost}"
+ android:textSize="16sp"
+ android:enabled="false"
+ android:backgroundTint="#6B000000"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ />
+ <View
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:background="@color/color_non_editable"
+ app:layout_constraintTop_toTopOf="@id/et_total_cost1"
+ app:layout_constraintStart_toStartOf="@id/et_total_cost1"
+ app:layout_constraintBottom_toBottomOf="@id/et_total_cost1"
+ app:layout_constraintEnd_toEndOf="@id/et_total_cost1"
+ android:visibility="@{viewModel.typeLiveData}"
+ />
+ </androidx.constraintlayout.widget.ConstraintLayout>
+
</LinearLayout>
<LinearLayout
@@ -164,14 +264,37 @@
android:textColor="#767375"
android:textSize="12sp"
/>
- <EditText
+ <androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:inputType="text"
- android:textColorHint="#6b000000"
- android:textColor="#DE000000"
- android:text="@={viewModel.beanLiveData.mealMoney}"
- android:textSize="16sp" />
+ >
+ <EditText
+ android:id="@+id/et_eat"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:inputType="numberDecimal"
+ android:textColorHint="#6b000000"
+ android:hint="@{viewModel.typeLiveData?`0`:``}"
+ android:textColor="#DE000000"
+ android:text="@={viewModel.beanLiveData.eat}"
+ android:textSize="16sp"
+ android:enabled="false"
+ android:backgroundTint="#6B000000"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ />
+ <View
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:background="@color/color_non_editable"
+ app:layout_constraintTop_toTopOf="@id/et_eat"
+ app:layout_constraintStart_toStartOf="@id/et_eat"
+ app:layout_constraintBottom_toBottomOf="@id/et_eat"
+ app:layout_constraintEnd_toEndOf="@id/et_eat"
+ android:visibility="@{viewModel.typeLiveData}"
+ />
+ </androidx.constraintlayout.widget.ConstraintLayout>
+
</LinearLayout>
</LinearLayout>
@@ -193,15 +316,36 @@
android:textColor="#767375"
android:textSize="12sp"
/>
- <EditText
+ <androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:inputType="text"
- android:textColorHint="#6b000000"
- android:textColor="#DE000000"
- tools:text="aaa"
- android:text="@={viewModel.beanLiveData.hotelMoney}"
- android:textSize="16sp" />
+ >
+ <EditText
+ android:id="@+id/et_stay"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:inputType="numberDecimal"
+ android:textColorHint="#6b000000"
+ android:hint="@{viewModel.typeLiveData?`0`:``}"
+ android:textColor="#DE000000"
+ android:text="@={viewModel.beanLiveData.stay}"
+ android:textSize="16sp"
+ android:enabled="false"
+ android:backgroundTint="#6B000000"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ />
+ <View
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:background="@color/color_non_editable"
+ app:layout_constraintTop_toTopOf="@id/et_stay"
+ app:layout_constraintStart_toStartOf="@id/et_stay"
+ app:layout_constraintBottom_toBottomOf="@id/et_stay"
+ app:layout_constraintEnd_toEndOf="@id/et_stay"
+ android:visibility="@{viewModel.typeLiveData}"
+ />
+ </androidx.constraintlayout.widget.ConstraintLayout>
</LinearLayout>
<LinearLayout
@@ -218,14 +362,36 @@
android:textColor="#767375"
android:textSize="12sp"
/>
- <EditText
+ <androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:inputType="text"
- android:textColorHint="#6b000000"
- android:textColor="#DE000000"
- android:text="@={viewModel.beanLiveData.trafficMoney}"
- android:textSize="16sp" />
+ >
+ <EditText
+ android:id="@+id/et_traffic"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:inputType="numberDecimal"
+ android:textColorHint="#6b000000"
+ android:textColor="#DE000000"
+ android:text="@={viewModel.beanLiveData.traffic}"
+ android:textSize="16sp"
+ android:enabled="false"
+ android:hint="@{viewModel.typeLiveData?`0`:``}"
+ android:backgroundTint="#6B000000"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ />
+ <View
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:background="@color/color_non_editable"
+ app:layout_constraintTop_toTopOf="@id/et_traffic"
+ app:layout_constraintStart_toStartOf="@id/et_traffic"
+ app:layout_constraintBottom_toBottomOf="@id/et_traffic"
+ app:layout_constraintEnd_toEndOf="@id/et_traffic"
+ android:visibility="@{viewModel.typeLiveData}"
+ />
+ </androidx.constraintlayout.widget.ConstraintLayout>
</LinearLayout>
</LinearLayout>
@@ -247,15 +413,36 @@
android:textColor="#767375"
android:textSize="12sp"
/>
- <EditText
+ <androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:inputType="text"
- android:textColorHint="#6b000000"
- android:textColor="#DE000000"
- tools:text="aaa"
- android:text="@={viewModel.beanLiveData.ticketMoney}"
- android:textSize="16sp" />
+ >
+ <EditText
+ android:id="@+id/et_entrance"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:inputType="numberDecimal"
+ android:textColorHint="#6b000000"
+ android:textColor="#DE000000"
+ android:text="@={viewModel.beanLiveData.entrance}"
+ android:textSize="16sp"
+ android:hint="@{viewModel.typeLiveData?`0`:``}"
+ android:enabled="false"
+ android:backgroundTint="#6B000000"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ />
+ <View
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:background="@color/color_non_editable"
+ app:layout_constraintTop_toTopOf="@id/et_entrance"
+ app:layout_constraintStart_toStartOf="@id/et_entrance"
+ app:layout_constraintBottom_toBottomOf="@id/et_entrance"
+ app:layout_constraintEnd_toEndOf="@id/et_entrance"
+ android:visibility="@{viewModel.typeLiveData}"
+ />
+ </androidx.constraintlayout.widget.ConstraintLayout>
</LinearLayout>
<LinearLayout
@@ -272,14 +459,36 @@
android:textColor="#767375"
android:textSize="12sp"
/>
- <EditText
+ <androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:inputType="text"
- android:textColorHint="#6b000000"
- android:textColor="#DE000000"
- android:text="@={viewModel.beanLiveData.shoppingMoney}"
- android:textSize="16sp" />
+ >
+ <EditText
+ android:id="@+id/et_shopping"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:inputType="numberDecimal"
+ android:textColorHint="#6b000000"
+ android:textColor="#DE000000"
+ android:text="@={viewModel.beanLiveData.shopping}"
+ android:textSize="16sp"
+ android:hint="@{viewModel.typeLiveData?`0`:``}"
+ android:enabled="false"
+ android:backgroundTint="#6B000000"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ />
+ <View
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:background="@color/color_non_editable"
+ app:layout_constraintTop_toTopOf="@id/et_shopping"
+ app:layout_constraintStart_toStartOf="@id/et_shopping"
+ app:layout_constraintBottom_toBottomOf="@id/et_shopping"
+ app:layout_constraintEnd_toEndOf="@id/et_shopping"
+ android:visibility="@{viewModel.typeLiveData}"
+ />
+ </androidx.constraintlayout.widget.ConstraintLayout>
</LinearLayout>
</LinearLayout>
@@ -298,19 +507,25 @@
android:textColor="@color/black"
/>
<ImageView
+ android:id="@+id/iv_add_daily_consume_record"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_tourism_add"
+ android:background="@{viewModel.typeLiveData?@drawable/ic_tourism_add:null}"
/>
</LinearLayout>
- <androidx.recyclerview.widget.RecyclerView
- android:id="@+id/rv_daily_consume_record"
- android:orientation="vertical"
+ <RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
- />
+ >
+ <androidx.recyclerview.widget.RecyclerView
+ android:id="@+id/rv_daily_consume_record"
+ android:orientation="vertical"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ />
+ </RelativeLayout>
</LinearLayout>
diff --git a/app/src/main/res/layout/activity_tourism_experience.xml b/app/src/main/res/layout/activity_tourism_experience.xml
index 74727bb..9ea2569 100644
--- a/app/src/main/res/layout/activity_tourism_experience.xml
+++ b/app/src/main/res/layout/activity_tourism_experience.xml
@@ -12,13 +12,15 @@
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:orientation="vertical">
+ android:background="@color/color_normal_background"
+ >
<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"
+ app:leftIcon="@drawable/ic_back"
>
<FrameLayout
android:layout_width="24dp"
@@ -50,7 +52,7 @@
android:text="鏃呮父缁忓巻"
android:layout_weight="1"
android:textColor="@color/white"
- android:textSize="@dimen/sp_20"
+ android:textSize="20sp"
/>
<ImageView
android:id="@+id/iv_search_default"
@@ -89,7 +91,8 @@
android:imeOptions="actionSearch"
android:text=""
android:singleLine="true"
- android:hint="鍦ㄢ�滃澶т簨璁板唴鎼滅储鈥�"
+ android:hint="鍦ㄢ�滄梾娓哥粡鍘嗏�濆唴鎼滅储"
+ android:enabled="false"
/>
<ImageView
android:id="@+id/iv_search_type"
@@ -107,6 +110,7 @@
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center"
+ android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
@@ -126,18 +130,278 @@
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"
- />
+ >
+ <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_memorabilia" />
+ <com.scwang.smart.refresh.footer.BallPulseFooter
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"/>
+ </com.scwang.smart.refresh.layout.SmartRefreshLayout>
+ <RelativeLayout
+ android:id="@+id/container_search_parameter"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ app:layout_constraintTop_toBottomOf="@id/titleBar"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ android:layout_marginTop="-4dp"
+ tools:layout_height="wrap_content"
+ >
+ <LinearLayout
+ android:id="@+id/layout_search_parameter"
+ android:orientation="vertical"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:background="@color/white"
+ android:layout_marginHorizontal="56dp"
+ android:paddingEnd="12dp"
+ android:paddingStart="5dp"
+ >
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.5dp"
+ android:background="#FF939393" />
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center"
+ >
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:text="鏃堕棿"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <LinearLayout
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="4"
+ android:gravity="center"
+ >
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/et_start_time"
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:gravity="center"
+ android:layout_marginStart="6dp"
+ android:text="@={viewModel.requestBeanLiveData.happenStartTime}"
+ android:hint="寮�濮嬫椂闂�"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ android:lines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ tools:text="2022-01-01"
+ />
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="鈥�"
+ />
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/et_end_time"
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:gravity="center"
+ android:layout_height="wrap_content"
+ android:text="@={viewModel.requestBeanLiveData.happenEndTime}"
+ android:hint="缁撴潫鏃堕棿"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ tools:text="2022-01-01"
+ />
+ <ImageView
+ android:id="@+id/iv_time_clear"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:background="@drawable/ic_clear"
+ android:visibility="invisible"
+ />
+ </LinearLayout>
+
+ </LinearLayout>
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.3dp"
+ android:background="#FF939393" />
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center">
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:text="鍦扮偣"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <com.android.app_base.widget.ClearEditText
+ android:layout_width="0dp"
+ android:layout_weight="4"
+ android:layout_height="wrap_content"
+ android:background="@null"
+ android:inputType="text"
+ android:layout_marginStart="6dp"
+ android:text="@={viewModel.requestBeanLiveData.address}"
+ android:hint="璇疯緭鍏ュ湴鐐�"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ app:background="@drawable/ic_clear"
+ />
+
+
+ </LinearLayout>
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.3dp"
+ android:background="#FF939393" />
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center">
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:text="浜虹墿"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <com.android.app_base.widget.ClearEditText
+ android:layout_width="0dp"
+ android:layout_weight="4"
+ android:layout_height="wrap_content"
+ android:background="@null"
+ android:inputType="text"
+ android:layout_marginStart="6dp"
+ android:text="@={viewModel.requestBeanLiveData.people}"
+ android:hint="璇疯緭鍏ヤ汉鐗�"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ app:background="@drawable/ic_clear"
+ />
+
+ </LinearLayout>
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.3dp"
+ android:background="#FF939393" />
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center">
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:text="鏍囬"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:gravity="center"
+ android:maxLines="1"
+ android:lines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ />
+
+ <com.android.app_base.widget.ClearEditText
+ android:layout_width="0dp"
+ android:layout_weight="4"
+ android:layout_height="wrap_content"
+ android:background="@null"
+ android:inputType="text"
+ android:layout_marginStart="6dp"
+ android:text="@={viewModel.requestBeanLiveData.title}"
+ android:hint="璇疯緭鍏ユ爣棰�"
+ android:textColorHint="#61000000"
+ android:textColor="#FF333333"
+ android:textSize="14sp"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMinTextSize="10sp"
+ app:autoSizeMaxTextSize="14sp"
+ app:background="@drawable/ic_clear"
+ />
+ </LinearLayout>
+ </LinearLayout>
+
+ </RelativeLayout>
+ <com.google.android.material.floatingactionbutton.FloatingActionButton
+ android:id="@+id/fab_add"
+ android:layout_width="56dp"
+ android:layout_height="56dp"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ android:layout_marginEnd="25dp"
+ android:layout_marginBottom="@dimen/dp_44"
+ android:src="@drawable/ic_add"
+ app:fabCustomSize="56dp"
+ />
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/dialog_add_daily_consume_record.xml b/app/src/main/res/layout/dialog_add_daily_consume_record.xml
new file mode 100644
index 0000000..77d9ef6
--- /dev/null
+++ b/app/src/main/res/layout/dialog_add_daily_consume_record.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent">
+
+</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/dialog_contacts_info.xml b/app/src/main/res/layout/dialog_contacts_info.xml
index 311e957..848aab9 100644
--- a/app/src/main/res/layout/dialog_contacts_info.xml
+++ b/app/src/main/res/layout/dialog_contacts_info.xml
@@ -244,6 +244,17 @@
android:text="鐢靛瓙鍚嶇墖锛�"
android:textColor="@color/black"
android:textSize="14sp" />
+ <RelativeLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="10dp"
+ >
+ <androidx.recyclerview.widget.RecyclerView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:id="@+id/recyclerView"
+ />
+ </RelativeLayout>
</LinearLayout>
diff --git a/app/src/main/res/layout/dialog_pet_owner_info.xml b/app/src/main/res/layout/dialog_pet_owner_info.xml
index 34e69f7..8260c3c 100644
--- a/app/src/main/res/layout/dialog_pet_owner_info.xml
+++ b/app/src/main/res/layout/dialog_pet_owner_info.xml
@@ -1,239 +1,144 @@
<?xml version="1.0" encoding="utf-8"?>
-<androidx.cardview.widget.CardView
- xmlns:android="http://schemas.android.com/apk/res/android"
+<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"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- app:cardBackgroundColor="#FFFFFCFC"
- app:cardCornerRadius="5dp"
- android:layout_marginHorizontal="30dp"
- >
+ xmlns:tools="http://schemas.android.com/tools">
- <androidx.constraintlayout.widget.ConstraintLayout
+ <data>
+ <variable
+ name="owner"
+ type="com.application.zhangshi_app_android.bean.PetBean" />
+ </data>
+
+ <androidx.cardview.widget.CardView
android:layout_width="match_parent"
- android:layout_height="wrap_content">
+ android:layout_height="wrap_content"
+ app:cardBackgroundColor="#FFFFFCFC"
+ app:cardCornerRadius="5dp"
+ android:layout_marginHorizontal="30dp">
- <ImageView
- android:id="@+id/iv_dialog_close"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginTop="15dp"
- android:layout_marginEnd="15dp"
- android:background="@drawable/ic_dialog_close"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintTop_toTopOf="parent" />
-
- <LinearLayout
+ <androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_marginHorizontal="30dp"
- android:layout_marginVertical="15dp"
- android:orientation="vertical"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintTop_toTopOf="parent"
>
-
- <TextView
+ <ImageView
+ android:id="@+id/iv_dialog_close"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="鍏荤姮浜轰俊鎭�"
- android:textColor="#66000000"
- android:textSize="14sp"
- app:layout_constraintStart_toStartOf="parent"
+ android:layout_marginTop="15dp"
+ android:layout_marginEnd="15dp"
+ android:background="@drawable/ic_dialog_close"
+ app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_marginTop="10dp">
+ android:layout_margin="30dp"
+ android:orientation="vertical"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintTop_toTopOf="parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="鍏荤姮浜哄鍚嶏細"
- android:textColor="@color/black"
- android:textSize="14sp" />
+ android:text="鍏荤姮浜轰俊鎭�"
+ android:textColor="#66000000"
+ android:textSize="14sp"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent" />
- <TextView
- android:layout_width="0dp"
+ <LinearLayout
+ android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_weight="1"
- android:text="寮犱笁"
- android:textColor="@color/black"
- android:textSize="14sp" />
+ android:layout_marginTop="10dp">
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="鍏荤姮浜哄鍚嶏細"
+ android:textColor="@color/black"
+ android:textSize="14sp" />
+
+ <TextView
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:text="@{owner.masterName}"
+ android:textColor="@color/black"
+ android:textSize="14sp" />
+ </LinearLayout>
+
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="10dp">
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="绉诲姩鐢佃瘽锛�"
+ android:textColor="@color/black"
+ android:textSize="14sp" />
+
+ <TextView
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:text="@{owner.phone}"
+ android:textColor="@color/black"
+ android:textSize="14sp" />
+ </LinearLayout>
+
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="10dp">
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="璇佷欢鍙风爜锛�"
+ android:textColor="@color/black"
+ android:textSize="14sp" />
+
+ <TextView
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:text="@{owner.masterIdNum}"
+ android:textColor="@color/black"
+ android:textSize="14sp" />
+ </LinearLayout>
+
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="10dp">
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="浣忔墍璇︾粏鍦板潃锛�"
+ android:textColor="@color/black"
+ android:textSize="14sp" />
+
+ <TextView
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:text="@{owner.masterAddress}"
+ android:textColor="@color/black"
+ android:textSize="14sp" />
+ </LinearLayout>
+
+
</LinearLayout>
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_marginTop="10dp">
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="鍥哄畾鐢佃瘽锛�"
- android:textColor="@color/black"
- android:textSize="14sp" />
+ </androidx.constraintlayout.widget.ConstraintLayout>
- <TextView
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:text="12345678901"
- android:textColor="@color/black"
- android:textSize="14sp" />
- </LinearLayout>
-
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_marginTop="10dp">
-
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="绉诲姩鐢佃瘽锛�"
- android:textColor="@color/black"
- android:textSize="14sp" />
-
- <TextView
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:text="12345678901"
- android:textColor="@color/black"
- android:textSize="14sp" />
- </LinearLayout>
-
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_marginTop="10dp">
-
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="璇佷欢绫诲瀷锛�"
- android:textColor="@color/black"
- android:textSize="14sp" />
-
- <TextView
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:text="韬唤璇�"
- android:textColor="@color/black"
- android:textSize="14sp" />
- </LinearLayout>
-
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_marginTop="10dp">
-
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="璇佷欢鍙风爜锛�"
- android:textColor="@color/black"
- android:textSize="14sp" />
-
- <TextView
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:text="12345678901"
- android:textColor="@color/black"
- android:textSize="14sp" />
- </LinearLayout>
-
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_marginTop="10dp">
-
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="鎷ユ湁鐘彧鏁伴噺锛�"
- android:textColor="@color/black"
- android:textSize="14sp" />
-
- <TextView
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:text="2"
- android:textColor="@color/black"
- android:textSize="14sp" />
- </LinearLayout>
-
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_marginTop="10dp">
-
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="浣忔墍璇︾粏鍦板潃锛�"
- android:textColor="@color/black"
- android:textSize="14sp" />
-
- <TextView
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:text="骞夸笢鐪佸箍宸炲競鐣鍖哄皬璋峰洿琛楅亾101鍙�"
- android:textColor="@color/black"
- android:textSize="14sp" />
- </LinearLayout>
-
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_marginTop="10dp">
-
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="浣忔墍鎬ц川锛�"
- android:textColor="@color/black"
- android:textSize="14sp" />
-
- <TextView
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:text="甯镐綇"
- android:textColor="@color/black"
- android:textSize="14sp" />
- </LinearLayout>
-
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_marginTop="10dp">
-
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="鐢靛瓙閭欢锛�"
- android:textColor="@color/black"
- android:textSize="14sp" />
-
- <TextView
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:text="Zhang@123.com"
- android:textColor="@color/black"
- android:textSize="14sp" />
- </LinearLayout>
- </LinearLayout>
-
-
- </androidx.constraintlayout.widget.ConstraintLayout>
-
-</androidx.cardview.widget.CardView>
\ No newline at end of file
+ </androidx.cardview.widget.CardView>
+</layout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/dialog_version_update.xml b/app/src/main/res/layout/dialog_version_update.xml
new file mode 100644
index 0000000..dfc4d3f
--- /dev/null
+++ b/app/src/main/res/layout/dialog_version_update.xml
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:orientation="vertical"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center">
+ <LinearLayout
+ android:layout_width="275dp"
+ android:layout_height="wrap_content"
+ android:background="@color/color_normal_background"
+ android:orientation="vertical"
+ >
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="鏂扮増鏈�"
+ android:textSize="@dimen/sp_24"
+ android:textStyle="bold"
+ android:textColor="#FF3560F4"
+ android:layout_gravity="center"
+ android:layout_marginTop="20dp"
+ />
+ <TextView
+ android:id="@+id/tv_update_dialog_title"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="蹇潵鏇存柊鍟"
+ android:textSize="@dimen/sp_24"
+ android:textStyle="bold"
+ android:textColor="#FF3560F4"
+ android:layout_gravity="center"
+ android:layout_marginTop="10dp"
+ />
+ <TextView
+ android:id="@+id/tv_update_dialog_content"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="淇淇"
+ android:textSize="14sp"
+ android:textColor="@color/black"
+ android:layout_gravity="center"
+ android:gravity="center"
+ android:layout_marginTop="20dp"
+ android:layout_marginHorizontal="30dp"
+ />
+ <androidx.cardview.widget.CardView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="20dp"
+ android:layout_gravity="center"
+ app:cardCornerRadius="10dp"
+ app:cardBackgroundColor="@color/color_FFF08EBA_text_pink"
+ >
+ <TextView
+ android:id="@+id/tv_update_dialog_confirm"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="绔嬪嵆鏇存柊"
+ android:textSize="16sp"
+ android:textStyle="bold"
+ android:textColor="@color/white"
+ android:gravity="center"
+ android:paddingHorizontal="20dp"
+ android:paddingVertical="3dp"
+ />
+ </androidx.cardview.widget.CardView>
+
+
+ <RelativeLayout
+ android:layout_marginVertical="@dimen/dp_24"
+ android:id="@+id/layout_progress"
+ android:layout_marginHorizontal="@dimen/dp_16"
+ android:gravity="center_vertical"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content">
+
+ <ProgressBar
+ android:id="@+id/pb_download"
+ style="@android:style/Widget.ProgressBar.Horizontal"
+ android:layout_width="match_parent"
+ android:layout_height="15dp"
+ android:max="100"
+ android:progress="50"
+ android:progressDrawable="@drawable/shape_gradient_update_progress"
+ />
+
+ <TextView
+ android:layout_below="@+id/pb_download"
+ android:textColor="#999999"
+ android:text="0%"
+ android:textSize="14sp"
+ android:id="@+id/tv_pro"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"/>
+ <TextView
+ android:layout_alignParentRight="true"
+ android:layout_below="@+id/pb_download"
+ android:textColor="#999999"
+ android:text="0/100"
+ android:textSize="14sp"
+ android:id="@+id/tv_pro_percent"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"/>
+ </RelativeLayout>
+
+
+ </LinearLayout>
+
+</LinearLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_function.xml b/app/src/main/res/layout/fragment_function.xml
index 18139a0..dc8f422 100644
--- a/app/src/main/res/layout/fragment_function.xml
+++ b/app/src/main/res/layout/fragment_function.xml
@@ -18,46 +18,20 @@
android:background="@color/color_normal_background"
android:orientation="vertical"
>
-
- <com.hjq.bar.TitleBar
+ <com.android.app_base.widget.ExtendTitleBar
android:id="@+id/titleBar"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_55"
- android:background="@color/color_title_bar_background"
- app:layout_constraintTop_toTopOf="parent"
- android:paddingHorizontal="@dimen/dp_16"
- app:layout_constraintEnd_toEndOf="parent"
+ app:titleGravity="left"
+ app:title="鍔熻兘"
app:layout_constraintStart_toStartOf="parent"
- app:leftIcon="@null"
- app:rightIcon="@null">
-
- <LinearLayout
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_gravity="start|center_vertical"
- android:orientation="horizontal">
-
- <ImageView
- android:id="@+id/menu"
- android:layout_width="@dimen/dp_24"
- android:layout_height="@dimen/dp_24"
- android:layout_gravity="center"
- android:background="@drawable/ic_menu" />
-
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginStart="@dimen/dp_32"
- android:text="@string/title_function"
- android:textColor="@color/white"
- android:textSize="@dimen/sp_20" />
-
- </LinearLayout>
-
+ app:layout_constraintTop_toTopOf="parent"
+ >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end|center_vertical"
+ android:layout_marginHorizontal="16dp"
android:orientation="horizontal">
<ImageView
@@ -66,25 +40,62 @@
android:background="@drawable/ic_search" />
<ImageView
+ android:id="@+id/iv_operate"
android:layout_width="@dimen/dp_24"
android:layout_height="@dimen/dp_24"
android:layout_marginStart="@dimen/dp_16"
android:background="@drawable/ic_operate" />
</LinearLayout>
-
- </com.hjq.bar.TitleBar>
+ </com.android.app_base.widget.ExtendTitleBar>
- <ImageView
- android:id="@+id/iv_group_photo"
+ <FrameLayout
+ android:id="@+id/layout_banner"
android:layout_width="match_parent"
- android:layout_height="@dimen/dp_200"
- android:background="@drawable/margin_pic"
+ android:layout_height="200dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/titleBar"
- />
+ >
+ <FrameLayout
+ android:id="@+id/layout_frame"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:background="@color/color_card_pink"
+ >
+ <ImageView
+ android:id="@+id/iv_banner"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ />
+ </FrameLayout>
+ <RelativeLayout
+ android:id="@+id/layout_data_null"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="vertical"
+ >
+ <ImageView
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:src="@drawable/img_data_null"
+ android:scaleType="center"
+ />
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="绌虹┖濡備篃~"
+ android:textColor="#73000000"
+ android:layout_gravity="center"
+ android:layout_centerHorizontal="true"
+ android:layout_alignParentBottom="true"
+ android:layout_marginBottom="10dp"
+ />
+ </RelativeLayout>
+
+ </FrameLayout>
<LinearLayout
android:layout_width="match_parent"
@@ -93,7 +104,7 @@
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintTop_toBottomOf="@id/iv_group_photo"
+ app:layout_constraintTop_toBottomOf="@id/layout_banner"
>
<androidx.core.widget.NestedScrollView
android:layout_width="match_parent"
@@ -143,7 +154,7 @@
android:id="@+id/layout_home_root_net"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_marginTop="@dimen/dp_15"
+ android:layout_marginTop="15dp"
android:gravity="center"
android:orientation="vertical"
app:layout_constraintEnd_toStartOf="@+id/gl_v_0.25"
@@ -396,7 +407,7 @@
android:id="@+id/layout_growing_up"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_marginTop="@dimen/dp_15"
+ android:layout_marginTop="15dp"
android:gravity="center"
android:orientation="vertical"
app:layout_constraintEnd_toStartOf="@+id/gl_v_0.25"
diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml
index 70ac7a4..6072505 100644
--- a/app/src/main/res/layout/fragment_home.xml
+++ b/app/src/main/res/layout/fragment_home.xml
@@ -20,22 +20,34 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:title="瀹舵牴缃戯紙浠呬緵鏌ョ湅锛�"
- app:titleGravity="left" />
+ app:titleGravity="left"
+ >
+ <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>
+ </com.android.app_base.widget.ExtendTitleBar>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
+ android:id="@+id/layout_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:id="@+id/layout_home_root_net"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:visibility="gone"
- android:id="@+id/layout_home_root_net"
+ tools:visibility="gone"
>
<ImageView
android:id="@+id/iv_treeView"
@@ -56,12 +68,1178 @@
</androidx.constraintlayout.widget.ConstraintLayout>
- <androidx.recyclerview.widget.RecyclerView
- android:id="@+id/rv_home_member"
- android:layout_width="match_parent"
+ <HorizontalScrollView
+ android:id="@+id/scrollView"
+ android:layout_width="wrap_content"
android:layout_height="match_parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ android:orientation="horizontal"
android:visibility="gone"
- />
+ tools:visibility="visible"
+ >
+ <androidx.constraintlayout.widget.ConstraintLayout
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ >
+
+ <ImageView
+ android:id="@+id/iv_treeView_diff"
+ android:layout_width="0dp"
+ android:layout_height="match_parent"
+ android:background="@drawable/bg_home_root_net_detail"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintDimensionRatio="676:505"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintHorizontal_bias="1.0"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintVertical_bias="0.0" />
+
+ <androidx.constraintlayout.utils.widget.ImageFilterView
+ android:id="@+id/iv_first_1"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:background="@drawable/img_sakura"
+ app:roundPercent="1"
+ app:layout_constraintDimensionRatio="1"
+ app:layout_constraintHeight_percent="0.07"
+ app:layout_constraintHorizontal_bias="0.44"
+ app:layout_constraintVertical_bias="0.795"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ />
+ <TextView
+ android:id="@+id/tv_first_1"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textSize="30sp"
+ android:text="1"
+ android:fontFamily="@font/cookie_regular"
+ android:textColor="#FF386C19"
+ app:layout_constraintHorizontal_bias="0.435"
+ app:layout_constraintVertical_bias="0.795"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ />
+ <androidx.constraintlayout.utils.widget.ImageFilterView
+ android:id="@+id/iv_first_2"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:background="@drawable/img_sakura"
+ app:roundPercent="1"
+ app:layout_constraintDimensionRatio="1"
+ app:layout_constraintHeight_percent="0.08"
+ app:layout_constraintHorizontal_bias="0.485"
+ app:layout_constraintVertical_bias="0.887"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ />
+ <TextView
+ android:id="@+id/tv_first_2"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textSize="30sp"
+ android:text="1"
+ android:fontFamily="@font/cookie_regular"
+ android:textColor="#FF386C19"
+ app:layout_constraintHorizontal_bias="0.485"
+ app:layout_constraintVertical_bias="0.88"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ />
+ <androidx.constraintlayout.utils.widget.ImageFilterView
+ android:id="@+id/iv_second_1_1"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:background="@drawable/img_sakura"
+ app:roundPercent="1"
+ app:layout_constraintDimensionRatio="1"
+ app:layout_constraintHeight_percent="0.060"
+ app:layout_constraintHorizontal_bias="0.365"
+ app:layout_constraintVertical_bias="0.65"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ />
+ <TextView
+ android:id="@+id/tv_second_1_1"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textSize="30sp"
+ android:text="2"
+ android:fontFamily="@font/cookie_regular"
+ android:textColor="#FF93CD91"
+ app:layout_constraintHorizontal_bias="0.395"
+ app:layout_constraintVertical_bias="0.68"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ />
+ <androidx.constraintlayout.utils.widget.ImageFilterView
+ android:id="@+id/iv_second_1_2"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:background="@drawable/img_sakura"
+ app:roundPercent="1"
+ app:layout_constraintDimensionRatio="1"
+ app:layout_constraintHeight_percent="0.055"
+ app:layout_constraintHorizontal_bias="0.29"
+ app:layout_constraintVertical_bias="0.655"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ />
+ <TextView
+ android:id="@+id/tv_second_1_2"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textSize="24sp"
+ android:text="2"
+ android:fontFamily="@font/cookie_regular"
+ android:textColor="#FF93CD91"
+ app:layout_constraintHorizontal_bias="0.325"
+ app:layout_constraintVertical_bias="0.65"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ />
+ <androidx.constraintlayout.utils.widget.ImageFilterView
+ android:id="@+id/iv_second_2_1"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:background="@drawable/img_sakura"
+ app:roundPercent="1"
+ app:layout_constraintDimensionRatio="1"
+ app:layout_constraintHeight_percent="0.065"
+ app:layout_constraintHorizontal_bias="0.425"
+ app:layout_constraintVertical_bias="0.585"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ />
+ <TextView
+ android:id="@+id/tv_second_2_1"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textSize="30sp"
+ android:text="2"
+ android:fontFamily="@font/cookie_regular"
+ android:textColor="#FF93CD91"
+ app:layout_constraintHorizontal_bias="0.455"
+ app:layout_constraintVertical_bias="0.62"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ />
+ <androidx.constraintlayout.utils.widget.ImageFilterView
+ android:id="@+id/iv_second_2_2"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:background="@drawable/img_sakura"
+ app:roundPercent="1"
+ app:layout_constraintDimensionRatio="1"
+ app:layout_constraintHeight_percent="0.055"
+ app:layout_constraintHorizontal_bias="0.37"
+ app:layout_constraintVertical_bias="0.52"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ />
+ <TextView
+ android:id="@+id/tv_second_2_2"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textSize="24sp"
+ android:text="2"
+ android:fontFamily="@font/cookie_regular"
+ android:textColor="#FF93CD91"
+ app:layout_constraintHorizontal_bias="0.4"
+ app:layout_constraintVertical_bias="0.53"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ />
+ <androidx.constraintlayout.utils.widget.ImageFilterView
+ android:id="@+id/iv_second_3_1"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:background="@drawable/img_sakura"
+ app:roundPercent="1"
+ app:layout_constraintDimensionRatio="1"
+ app:layout_constraintHeight_percent="0.063"
+ app:layout_constraintHorizontal_bias="0.525"
+ app:layout_constraintVertical_bias="0.58"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ />
+ <TextView
+ android:id="@+id/tv_second_3_1"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textSize="30sp"
+ android:text="2"
+ android:fontFamily="@font/cookie_regular"
+ android:textColor="#FF93CD91"
+ app:layout_constraintHorizontal_bias="0.515"
+ app:layout_constraintVertical_bias="0.63"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ />
+ <androidx.constraintlayout.utils.widget.ImageFilterView
+ android:id="@+id/iv_second_3_2"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:background="@drawable/img_sakura"
+ app:roundPercent="1"
+ app:layout_constraintDimensionRatio="1"
+ app:layout_constraintHeight_percent="0.055"
+ app:layout_constraintHorizontal_bias="0.6"
+ app:layout_constraintVertical_bias="0.51"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ />
+ <TextView
+ android:id="@+id/tv_second_3_2"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textSize="24sp"
+ android:text="2"
+ android:fontFamily="@font/cookie_regular"
+ android:textColor="#FF93CD91"
+ app:layout_constraintHorizontal_bias="0.58"
+ app:layout_constraintVertical_bias="0.545"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ />
+ <androidx.constraintlayout.utils.widget.ImageFilterView
+ android:id="@+id/iv_second_4_1"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:background="@drawable/img_sakura"
+ app:roundPercent="1"
+ app:layout_constraintDimensionRatio="1"
+ app:layout_constraintHeight_percent="0.063"
+ app:layout_constraintHorizontal_bias="0.6"
+ app:layout_constraintVertical_bias="0.65"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ />
+ <TextView
+ android:id="@+id/tv_second_4_1"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textSize="30sp"
+ android:text="2"
+ android:fontFamily="@font/cookie_regular"
+ android:textColor="#FF93CD91"
+ app:layout_constraintHorizontal_bias="0.565"
+ app:layout_constraintVertical_bias="0.68"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ />
+ <androidx.constraintlayout.utils.widget.ImageFilterView
+ android:id="@+id/iv_second_4_2"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:background="@drawable/img_sakura"
+ app:roundPercent="1"
+ app:layout_constraintDimensionRatio="1"
+ app:layout_constraintHeight_percent="0.07"
+ app:layout_constraintHorizontal_bias="0.685"
+ app:layout_constraintVertical_bias="0.63"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ />
+ <TextView
+ android:id="@+id/tv_second_4_2"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textSize="24sp"
+ android:text="2"
+ android:fontFamily="@font/cookie_regular"
+ android:textColor="#FF93CD91"
+ app:layout_constraintHorizontal_bias="0.645"
+ app:layout_constraintVertical_bias="0.65"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ />
+ <androidx.constraintlayout.utils.widget.ImageFilterView
+ android:id="@+id/iv_third_1_1"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:background="@drawable/img_sakura"
+ app:roundPercent="1"
+ app:layout_constraintDimensionRatio="1"
+ app:layout_constraintHeight_percent="0.08"
+ app:layout_constraintHorizontal_bias="0.26"
+ app:layout_constraintVertical_bias="0.76"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ />
+ <TextView
+ android:id="@+id/tv_third_1_1"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textSize="20sp"
+ android:text="3"
+ android:fontFamily="@font/cookie_regular"
+ android:textColor="#FF93BE67"
+ app:layout_constraintHorizontal_bias="0.31"
+ app:layout_constraintVertical_bias="0.73"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ />
+ <androidx.constraintlayout.utils.widget.ImageFilterView
+ android:id="@+id/iv_third_4_1"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:background="@drawable/img_sakura"
+ app:roundPercent="1"
+ app:layout_constraintDimensionRatio="1"
+ app:layout_constraintHeight_percent="0.075"
+ app:layout_constraintHorizontal_bias="0.69"
+ app:layout_constraintVertical_bias="0.745"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ />
+ <TextView
+ android:id="@+id/tv_third_4_1"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textSize="20sp"
+ android:text="3"
+ android:fontFamily="@font/cookie_regular"
+ android:textColor="#FF93BE67"
+ app:layout_constraintHorizontal_bias="0.64"
+ app:layout_constraintVertical_bias="0.73"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ />
+ <androidx.constraintlayout.utils.widget.ImageFilterView
+ android:id="@+id/iv_third_2_1"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:background="@drawable/img_sakura"
+ app:roundPercent="1"
+ app:layout_constraintDimensionRatio="1"
+ app:layout_constraintHeight_percent="0.075"
+ app:layout_constraintHorizontal_bias="0.371"
+ app:layout_constraintVertical_bias="0.334"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ />
+ <TextView
+ android:id="@+id/tv_third_2_1"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textSize="20sp"
+ android:text="3"
+ android:fontFamily="@font/cookie_regular"
+ android:textColor="#FF93BE67"
+ app:layout_constraintHorizontal_bias="0.39"
+ app:layout_constraintVertical_bias="0.4"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ />
+ <androidx.constraintlayout.utils.widget.ImageFilterView
+ android:id="@+id/iv_third_3_1"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:background="@drawable/img_sakura"
+ app:roundPercent="1"
+ app:layout_constraintDimensionRatio="1"
+ app:layout_constraintHeight_percent="0.075"
+ app:layout_constraintHorizontal_bias="0.49"
+ app:layout_constraintVertical_bias="0.28"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ />
+
+ <TextView
+ android:id="@+id/tv_third_3_1"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textSize="20sp"
+ android:text="3"
+ android:fontFamily="@font/cookie_regular"
+ android:textColor="#FF93BE67"
+ app:layout_constraintHorizontal_bias="0.51"
+ app:layout_constraintVertical_bias="0.34"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ />
+
+ <androidx.constraintlayout.utils.widget.ImageFilterView
+ android:id="@+id/iv_third_1_2"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:background="@drawable/img_sakura"
+ app:roundPercent="1"
+ app:layout_constraintDimensionRatio="1"
+ app:layout_constraintHeight_percent="0.06"
+ app:layout_constraintHorizontal_bias="0.17"
+ app:layout_constraintVertical_bias="0.53"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ />
+
+ <TextView
+ android:id="@+id/tv_third_1_2"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textSize="20sp"
+ android:text="3"
+ android:fontFamily="@font/cookie_regular"
+ android:textColor="#FF93BE67"
+ app:layout_constraintHorizontal_bias="0.195"
+ app:layout_constraintVertical_bias="0.575"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ />
+ <androidx.constraintlayout.utils.widget.ImageFilterView
+ android:id="@+id/iv_third_1_4"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:background="@drawable/img_sakura"
+ app:roundPercent="1"
+ app:layout_constraintDimensionRatio="1"
+ app:layout_constraintHeight_percent="0.06"
+ app:layout_constraintHorizontal_bias="0.065"
+ app:layout_constraintVertical_bias="0.47"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ />
+
+ <TextView
+ android:id="@+id/tv_third_1_4"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textSize="20sp"
+ android:text="3"
+ android:fontFamily="@font/cookie_regular"
+ android:textColor="#FF93BE67"
+ app:layout_constraintHorizontal_bias="0.105"
+ app:layout_constraintVertical_bias="0.505"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ />
+ <androidx.constraintlayout.utils.widget.ImageFilterView
+ android:id="@+id/iv_third_1_3"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:background="@drawable/img_sakura"
+ app:roundPercent="1"
+ app:layout_constraintDimensionRatio="1"
+ app:layout_constraintHeight_percent="0.07"
+ app:layout_constraintHorizontal_bias="0.05"
+ app:layout_constraintVertical_bias="0.59"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ />
+
+ <TextView
+ android:id="@+id/tv_third_1_3"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textSize="24sp"
+ android:text="3"
+ android:fontFamily="@font/cookie_regular"
+ android:textColor="#FF93BE67"
+ app:layout_constraintHorizontal_bias="0.105"
+ app:layout_constraintVertical_bias="0.62"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ />
+ <androidx.constraintlayout.utils.widget.ImageFilterView
+ android:id="@+id/iv_third_2_2"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:background="@drawable/img_sakura"
+ app:roundPercent="1"
+ app:layout_constraintDimensionRatio="1"
+ app:layout_constraintHeight_percent="0.06"
+ app:layout_constraintHorizontal_bias="0.295"
+ app:layout_constraintVertical_bias="0.315"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ />
+
+ <TextView
+ android:id="@+id/tv_third_2_2"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textSize="24sp"
+ android:text="3"
+ android:fontFamily="@font/cookie_regular"
+ android:textColor="#FF93BE67"
+ app:layout_constraintHorizontal_bias="0.31"
+ app:layout_constraintVertical_bias="0.37"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ />
+ <androidx.constraintlayout.utils.widget.ImageFilterView
+ android:id="@+id/iv_third_2_3"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:background="@drawable/img_sakura"
+ app:roundPercent="1"
+ app:layout_constraintDimensionRatio="1"
+ app:layout_constraintHeight_percent="0.08"
+ app:layout_constraintHorizontal_bias="0.177"
+ app:layout_constraintVertical_bias="0.265"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ />
+
+ <TextView
+ android:id="@+id/tv_third_2_3"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textSize="24sp"
+ android:text="3"
+ android:fontFamily="@font/cookie_regular"
+ android:textColor="#FF93BE67"
+ app:layout_constraintHorizontal_bias="0.22"
+ app:layout_constraintVertical_bias="0.34"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ android:rotation="-30"
+ />
+ <androidx.constraintlayout.utils.widget.ImageFilterView
+ android:id="@+id/iv_third_2_4"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:background="@drawable/img_sakura"
+ app:roundPercent="1"
+ app:layout_constraintDimensionRatio="1"
+ app:layout_constraintHeight_percent="0.06"
+ app:layout_constraintHorizontal_bias="0.33"
+ app:layout_constraintVertical_bias="0.115"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ />
+
+ <TextView
+ android:id="@+id/tv_third_2_4"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textSize="24sp"
+ android:text="3"
+ android:fontFamily="@font/cookie_regular"
+ android:textColor="#FF93BE67"
+ app:layout_constraintHorizontal_bias="0.335"
+ app:layout_constraintVertical_bias="0.17"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ />
+ <androidx.constraintlayout.utils.widget.ImageFilterView
+ android:id="@+id/iv_third_3_2"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:background="@drawable/img_sakura"
+ app:roundPercent="1"
+ app:layout_constraintDimensionRatio="1"
+ app:layout_constraintHeight_percent="0.08"
+ app:layout_constraintHorizontal_bias="0.485"
+ app:layout_constraintVertical_bias="0.08"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ />
+
+ <TextView
+ android:id="@+id/tv_third_3_2"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textSize="24sp"
+ android:text="3"
+ android:fontFamily="@font/cookie_regular"
+ android:textColor="#FF93BE67"
+ app:layout_constraintHorizontal_bias="0.47"
+ app:layout_constraintVertical_bias="0.16"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ />
+ <androidx.constraintlayout.utils.widget.ImageFilterView
+ android:id="@+id/iv_third_3_3"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:background="@drawable/img_sakura"
+ app:roundPercent="1"
+ app:layout_constraintDimensionRatio="1"
+ app:layout_constraintHeight_percent="0.07"
+ app:layout_constraintHorizontal_bias="0.685"
+ app:layout_constraintVertical_bias="0.24"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ />
+
+ <TextView
+ android:id="@+id/tv_third_3_3"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textSize="24sp"
+ android:text="3"
+ android:fontFamily="@font/cookie_regular"
+ android:textColor="#FF93BE67"
+ app:layout_constraintHorizontal_bias="0.67"
+ app:layout_constraintVertical_bias="0.31"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ />
+ <androidx.constraintlayout.utils.widget.ImageFilterView
+ android:id="@+id/iv_third_3_4"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:background="@drawable/img_sakura"
+ app:roundPercent="1"
+ app:layout_constraintDimensionRatio="1"
+ app:layout_constraintHeight_percent="0.08"
+ app:layout_constraintHorizontal_bias="0.745"
+ app:layout_constraintVertical_bias="0.08"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ />
+
+ <TextView
+ android:id="@+id/tv_third_3_4"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textSize="24sp"
+ android:text="3"
+ android:fontFamily="@font/cookie_regular"
+ android:textColor="#FF93BE67"
+ app:layout_constraintHorizontal_bias="0.735"
+ app:layout_constraintVertical_bias="0.16"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ />
+ <androidx.constraintlayout.utils.widget.ImageFilterView
+ android:id="@+id/iv_third_4_2"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:background="@drawable/img_sakura"
+ app:roundPercent="1"
+ app:layout_constraintDimensionRatio="1"
+ app:layout_constraintHeight_percent="0.08"
+ app:layout_constraintHorizontal_bias="0.885"
+ app:layout_constraintVertical_bias="0.32"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ />
+
+ <TextView
+ android:id="@+id/tv_third_4_2"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textSize="24sp"
+ android:text="3"
+ android:fontFamily="@font/cookie_regular"
+ android:textColor="#FF93BE67"
+ app:layout_constraintHorizontal_bias="0.84"
+ app:layout_constraintVertical_bias="0.38"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ android:rotation="20"
+ />
+
+ <androidx.constraintlayout.utils.widget.ImageFilterView
+ android:id="@+id/iv_fourth_4_3"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:background="@drawable/img_sakura"
+ app:layout_constraintDimensionRatio="1"
+ app:layout_constraintHeight_percent="0.06"
+ app:layout_constraintHorizontal_bias="0.815"
+ app:layout_constraintVertical_bias="0.665"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:roundPercent="1"
+ />
+
+ <TextView
+ android:id="@+id/tv_fourth_4_3"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textSize="24sp"
+ android:text="4"
+ android:fontFamily="@font/cookie_regular"
+ android:textColor="#FF3F7E00"
+ app:layout_constraintHorizontal_bias="0.77"
+ app:layout_constraintVertical_bias="0.66"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ />
+ <androidx.constraintlayout.utils.widget.ImageFilterView
+ android:id="@+id/iv_fourth_4_2"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:background="@drawable/img_sakura"
+ app:layout_constraintDimensionRatio="1"
+ app:layout_constraintHeight_percent="0.07"
+ app:layout_constraintHorizontal_bias="0.876"
+ app:layout_constraintVertical_bias="0.545"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:roundPercent="1"
+ />
+
+ <TextView
+ android:id="@+id/tv_fourth_4_2"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textSize="24sp"
+ android:text="4"
+ android:fontFamily="@font/cookie_regular"
+ android:textColor="#FF3F7E00"
+ app:layout_constraintHorizontal_bias="0.825"
+ app:layout_constraintVertical_bias="0.57"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ />
+ <androidx.constraintlayout.utils.widget.ImageFilterView
+ android:id="@+id/iv_fourth_4_1"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:background="@drawable/img_sakura"
+ app:layout_constraintDimensionRatio="1"
+ app:layout_constraintHeight_percent="0.06"
+ app:layout_constraintHorizontal_bias="0.785"
+ app:layout_constraintVertical_bias="0.46"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:roundPercent="1"
+ />
+
+ <TextView
+ android:id="@+id/tv_fourth_4_1"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textSize="24sp"
+ android:text="4"
+ android:fontFamily="@font/cookie_regular"
+ android:textColor="#FF3F7E00"
+ app:layout_constraintHorizontal_bias="0.76"
+ app:layout_constraintVertical_bias="0.505"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ />
+ <androidx.constraintlayout.utils.widget.ImageFilterView
+ android:id="@+id/iv_fourth_3_3"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:background="@drawable/img_sakura"
+ app:layout_constraintDimensionRatio="1"
+ app:layout_constraintHeight_percent="0.06"
+ app:layout_constraintHorizontal_bias="0.79"
+ app:layout_constraintVertical_bias="0.263"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:roundPercent="1"
+ />
+
+ <TextView
+ android:id="@+id/tv_fourth_3_3"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textSize="24sp"
+ android:text="4"
+ android:fontFamily="@font/cookie_regular"
+ android:textColor="#FF3F7E00"
+ app:layout_constraintHorizontal_bias="0.755"
+ app:layout_constraintVertical_bias="0.295"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ />
+ <androidx.constraintlayout.utils.widget.ImageFilterView
+ android:id="@+id/iv_fourth_3_2"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:background="@drawable/img_sakura"
+ app:layout_constraintDimensionRatio="1"
+ app:layout_constraintHeight_percent="0.06"
+ app:layout_constraintHorizontal_bias="0.6455"
+ app:layout_constraintVertical_bias="0.115"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:roundPercent="1"
+ />
+
+ <TextView
+ android:id="@+id/tv_fourth_3_2"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textSize="24sp"
+ android:text="4"
+ android:fontFamily="@font/cookie_regular"
+ android:textColor="#FF3F7E00"
+ app:layout_constraintHorizontal_bias="0.63"
+ app:layout_constraintVertical_bias="0.17"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+
+ />
+ <androidx.constraintlayout.utils.widget.ImageFilterView
+ android:id="@+id/iv_fourth_3_1"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:background="@drawable/img_sakura"
+ app:layout_constraintDimensionRatio="1"
+ app:layout_constraintHeight_percent="0.06"
+ app:layout_constraintHorizontal_bias="0.584"
+ app:layout_constraintVertical_bias="0.22"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:roundPercent="1"
+ />
+
+ <TextView
+ android:id="@+id/tv_fourth_3_1"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textSize="24sp"
+ android:text="4"
+ android:fontFamily="@font/cookie_regular"
+ android:textColor="#FF3F7E00"
+ app:layout_constraintHorizontal_bias="0.565"
+ app:layout_constraintVertical_bias="0.275"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ android:rotation="20"
+ />
+ <androidx.constraintlayout.utils.widget.ImageFilterView
+ android:id="@+id/iv_fourth_3_4"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:background="@drawable/img_sakura"
+ app:layout_constraintDimensionRatio="1"
+ app:layout_constraintHeight_percent="0.07"
+ app:layout_constraintHorizontal_bias="0.575"
+ app:layout_constraintVertical_bias="0.06"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:roundPercent="1"
+ />
+
+ <TextView
+ android:id="@+id/tv_fourth_3_4"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textSize="24sp"
+ android:text="4"
+ android:fontFamily="@font/cookie_regular"
+ android:textColor="#FF3F7E00"
+ app:layout_constraintHorizontal_bias="0.57"
+ app:layout_constraintVertical_bias="0.125"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ />
+ <androidx.constraintlayout.utils.widget.ImageFilterView
+ android:id="@+id/iv_fourth_2_3"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:background="@drawable/img_sakura"
+ app:layout_constraintDimensionRatio="1"
+ app:layout_constraintHeight_percent="0.06"
+ app:layout_constraintHorizontal_bias="0.415"
+ app:layout_constraintVertical_bias="0.225"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:roundPercent="1"
+ />
+
+ <TextView
+ android:id="@+id/tv_fourth_2_3"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textSize="24sp"
+ android:text="4"
+ android:fontFamily="@font/cookie_regular"
+ android:textColor="#FF3F7E00"
+ app:layout_constraintHorizontal_bias="0.425"
+ app:layout_constraintVertical_bias="0.285"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ android:rotation="-10"
+ />
+ <androidx.constraintlayout.utils.widget.ImageFilterView
+ android:id="@+id/iv_fourth_2_4"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:background="@drawable/img_sakura"
+ app:layout_constraintDimensionRatio="1"
+ app:layout_constraintHeight_percent="0.05"
+ app:layout_constraintHorizontal_bias="0.403"
+ app:layout_constraintVertical_bias="0.05"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:roundPercent="1"
+ />
+
+ <TextView
+ android:id="@+id/tv_fourth_2_4"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textSize="20sp"
+ android:text="4"
+ android:fontFamily="@font/cookie_regular"
+ android:textColor="#FF3F7E00"
+ app:layout_constraintHorizontal_bias="0.41"
+ app:layout_constraintVertical_bias="0.095"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ android:rotation="-10"
+ />
+ <androidx.constraintlayout.utils.widget.ImageFilterView
+ android:id="@+id/iv_fourth_2_2"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:background="@drawable/img_sakura"
+ app:layout_constraintDimensionRatio="1"
+ app:layout_constraintHeight_percent="0.07"
+ app:layout_constraintHorizontal_bias="0.228"
+ app:layout_constraintVertical_bias="0.13"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:roundPercent="1"
+ />
+
+ <TextView
+ android:id="@+id/tv_fourth_2_2"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textSize="24sp"
+ android:text="4"
+ android:fontFamily="@font/cookie_regular"
+ android:textColor="#FF3F7E00"
+ app:layout_constraintHorizontal_bias="0.24"
+ app:layout_constraintVertical_bias="0.2"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ />
+ <androidx.constraintlayout.utils.widget.ImageFilterView
+ android:id="@+id/iv_fourth_2_1"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:background="@drawable/img_sakura"
+ app:layout_constraintDimensionRatio="1"
+ app:layout_constraintHeight_percent="0.06"
+ app:layout_constraintHorizontal_bias="0.19"
+ app:layout_constraintVertical_bias="0.41"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:roundPercent="1"
+ />
+ <TextView
+ android:id="@+id/tv_fourth_2_1"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textSize="24sp"
+ android:text="4"
+ android:fontFamily="@font/cookie_regular"
+ android:textColor="#FF3F7E00"
+ app:layout_constraintHorizontal_bias="0.24"
+ app:layout_constraintVertical_bias="0.44"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ android:rotation="-10"
+ />
+ <androidx.constraintlayout.utils.widget.ImageFilterView
+ android:id="@+id/iv_fourth_1_2"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:background="@drawable/img_sakura"
+ app:layout_constraintDimensionRatio="1"
+ app:layout_constraintHeight_percent="0.06"
+ app:layout_constraintHorizontal_bias="0.064"
+ app:layout_constraintVertical_bias="0.32"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:roundPercent="1"
+ />
+ <TextView
+ android:id="@+id/tv_fourth_1_2"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textSize="24sp"
+ android:text="4"
+ android:fontFamily="@font/cookie_regular"
+ android:textColor="#FF3F7E00"
+ app:layout_constraintHorizontal_bias="0.1"
+ app:layout_constraintVertical_bias="0.37"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ android:rotation="-10"
+ />
+ <androidx.constraintlayout.utils.widget.ImageFilterView
+ android:id="@+id/iv_fourth_1_1"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:background="@drawable/img_sakura"
+ app:layout_constraintDimensionRatio="1"
+ app:layout_constraintHeight_percent="0.06"
+ app:layout_constraintHorizontal_bias="0.086"
+ app:layout_constraintVertical_bias="0.724"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:roundPercent="1"
+ />
+ <TextView
+ android:id="@+id/tv_fourth_1_1"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textSize="24sp"
+ android:text="4"
+ android:fontFamily="@font/cookie_regular"
+ android:textColor="#FF3F7E00"
+ app:layout_constraintHorizontal_bias="0.13"
+ app:layout_constraintVertical_bias="0.705"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ android:rotation="-20"
+ />
+ </androidx.constraintlayout.widget.ConstraintLayout>
+ </HorizontalScrollView>
</androidx.constraintlayout.widget.ConstraintLayout>
</LinearLayout>
diff --git a/app/src/main/res/layout/fragment_image_carousel.xml b/app/src/main/res/layout/fragment_image_carousel.xml
new file mode 100644
index 0000000..a64d6e9
--- /dev/null
+++ b/app/src/main/res/layout/fragment_image_carousel.xml
@@ -0,0 +1,42 @@
+<?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>
+
+ </data>
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="200dp">
+
+ <com.youth.banner.Banner
+ android:id="@+id/banner"
+ android:layout_width="match_parent"
+ android:layout_height="200dp" />
+ <RelativeLayout
+ android:id="@+id/layout_data_null"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="vertical"
+ >
+ <ImageView
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:src="@drawable/img_data_null"
+ android:scaleType="center"
+ />
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="杩樻病涓婁紶鐓х墖 ~"
+ android:textColor="#73000000"
+ android:layout_gravity="center"
+ android:layout_centerHorizontal="true"
+ android:layout_alignParentBottom="true"
+ android:layout_marginBottom="10dp"
+ />
+ </RelativeLayout>
+ </FrameLayout>
+</layout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_personal_center.xml b/app/src/main/res/layout/fragment_personal_center.xml
index de937e9..af7708f 100644
--- a/app/src/main/res/layout/fragment_personal_center.xml
+++ b/app/src/main/res/layout/fragment_personal_center.xml
@@ -51,7 +51,7 @@
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="涓汉涓績"
+ android:text="涓汉淇℃伅"
android:textSize="20sp"
android:textColor="@color/black"
android:layout_marginStart="20dp"
@@ -78,7 +78,9 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintWidth_percent="0.3"
- app:roundPercent="1" />
+ app:roundPercent="1"
+ app:imageUrl="@{viewModel.infoLiveData.img}"
+ />
<View
android:layout_width="match_parent"
android:layout_height="1dp"
@@ -112,7 +114,7 @@
android:layout_height="wrap_content"
android:textSize="18sp"
android:textColor="#FF212121"
- android:text="@{}"
+ android:text="@{viewModel.infoLiveData.nickName}"
android:gravity="end"
tools:text="寮犱笁"
/>
@@ -141,7 +143,7 @@
android:layout_height="wrap_content"
android:textSize="18sp"
android:textColor="#FF212121"
- android:text="@{}"
+ android:text="@{viewModel.infoLiveData.phoneNumber}"
android:gravity="end"
tools:text="13234567890"
/>
@@ -170,7 +172,7 @@
android:layout_height="wrap_content"
android:textSize="18sp"
android:textColor="#FF212121"
- android:text="@{}"
+ android:text="@{viewModel.infoLiveData.email}"
android:gravity="end"
tools:text="zhang@126.com"
/>
@@ -199,7 +201,7 @@
android:layout_height="wrap_content"
android:textSize="18sp"
android:textColor="#FF212121"
- android:text="@{}"
+ android:text="@{viewModel.infoLiveData.familyName}"
android:gravity="end"
tools:text="寮犱笁瀹跺涵"
/>
@@ -228,7 +230,7 @@
android:layout_height="wrap_content"
android:textSize="18sp"
android:textColor="#FF212121"
- android:text="@{}"
+ android:text="@{viewModel.infoLiveData.roleName}"
android:gravity="end"
tools:text="瀹跺涵绠$悊鍛�"
/>
@@ -257,7 +259,7 @@
android:layout_height="wrap_content"
android:textSize="18sp"
android:textColor="#FF212121"
- android:text="@{}"
+ android:text="@{viewModel.infoLiveData.createTime}"
android:gravity="end"
tools:text="2023-04-01"
/>
diff --git a/app/src/main/res/layout/fragment_video.xml b/app/src/main/res/layout/fragment_video.xml
new file mode 100644
index 0000000..be1cbdb
--- /dev/null
+++ b/app/src/main/res/layout/fragment_video.xml
@@ -0,0 +1,47 @@
+<?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>
+
+ </data>
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="200dp"
+ >
+
+ <com.shuyu.gsyvideoplayer.video.StandardGSYVideoPlayer
+ android:id="@+id/video_player"
+ android:layout_width="match_parent"
+ android:layout_height="200dp"
+ />
+ <RelativeLayout
+ android:id="@+id/layout_data_null"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="vertical"
+ >
+ <ImageView
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:src="@drawable/img_data_null"
+ android:scaleType="center"
+ />
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="杩樻病涓婁紶瑙嗛 ~"
+ android:textColor="#73000000"
+ android:layout_gravity="center"
+ android:layout_centerHorizontal="true"
+ android:layout_alignParentBottom="true"
+ android:layout_marginBottom="10dp"
+ />
+ </RelativeLayout>
+
+
+
+ </FrameLayout>
+</layout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_annual_health_status.xml b/app/src/main/res/layout/item_annual_health_status.xml
index bf09637..7cd10c6 100644
--- a/app/src/main/res/layout/item_annual_health_status.xml
+++ b/app/src/main/res/layout/item_annual_health_status.xml
@@ -30,52 +30,95 @@
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/layout_title"
android:layout_width="match_parent"
- android:layout_height="@dimen/dp_40"
+ android:layout_height="40dp"
android:gravity="center_vertical">
-
- <TextView
- android:id="@+id/textView2"
- android:layout_width="wrap_content"
+ <CheckBox
+ android:id="@+id/checkbox"
+ android:layout_width="18dp"
+ android:layout_height="18dp"
+ android:layout_marginStart="3dp"
+ android:layout_centerVertical="true"
+ android:button="@drawable/selector_checkbox"
+ android:background="?selectableItemBackgroundBorderless"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ />
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/textView1"
+ android:layout_width="0dp"
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"
+ android:textSize="16sp"
+ android:gravity="start|center_vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
- tools:text="鎴夸骇璇�" />
+ app:layout_constraintEnd_toStartOf="@id/textView2"
+ app:layout_constraintHorizontal_weight="1.5"
+ android:ellipsize="end"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMaxTextSize="16sp"
+ app:autoSizeMinTextSize="12sp"
+ app:layout_constraintHorizontal_chainStyle="spread_inside"
+ tools:text="浣撴" />
- <TextView
- android:layout_width="wrap_content"
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/textView2"
+ android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:gravity="center"
android:text="@{bean.hospital}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_16"
- android:textStyle="bold"
+ android:textSize="16sp"
app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintHorizontal_bias="0.45"
- app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toStartOf="@+id/tv_time"
+ app:layout_constraintStart_toEndOf="@+id/textView1"
app:layout_constraintTop_toTopOf="parent"
- tools:text="寮犱笁" />
+ app:layout_constraintHorizontal_weight="2"
+ android:layout_marginHorizontal="20dp"
+ android:ellipsize="end"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMaxTextSize="16sp"
+ app:autoSizeMinTextSize="12sp"
+ tools:text="浜烘皯鍖婚櫌" />
- <TextView
+ <androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_time"
- android:layout_width="wrap_content"
+ android:layout_width="0dp"
android:layout_height="wrap_content"
- android:text="@{bean.time}"
+ android:text="@{bean.checkTime == null ? `鈥斺�斺�擿 : bean.checkTime}"
android:textColor="@color/black"
android:textSize="16sp"
- android:layout_marginEnd="20dp"
- android:textStyle="bold"
+ android:layout_marginEnd="10dp"
+ android:gravity="center_vertical|center"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toStartOf="@id/iv_fold"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintStart_toEndOf="@id/textView2"
+ app:layout_constraintHorizontal_weight="2"
+ android:maxLines="1"
+ android:ellipsize="end"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMaxTextSize="16sp"
+ app:autoSizeMinTextSize="12sp"
+ tools:text="2019-01-12"
+ />
+ <ImageView
+ android:id="@+id/iv_fold"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:background="@drawable/ic_fold"
+ app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- tools:text="2019-01-12" />
+ android:layout_marginEnd="10dp"
+ />
</androidx.constraintlayout.widget.ConstraintLayout>
@@ -90,92 +133,84 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<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"
+ android:textSize="12sp"
/>
<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"
+ android:textSize="12sp"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<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"
+ android:textSize="12sp"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="@{bean.time}"
+ android:text="@{bean.checkTime}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold"
+ android:textSize="12sp"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="鎻愬悕锛�"
+ android:text="棰樺悕锛�"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold"
+ android:textSize="12sp"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="@{bean.name}"
+ android:text="@{bean.title}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold"
+ android:textSize="12sp"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<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"
+ android:textSize="12sp"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="@{bean.attention}"
+ android:text="@{bean.notice}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold"
+ android:textSize="12sp"
/>
</LinearLayout>
@@ -183,48 +218,95 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<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"
+ android:textSize="12sp"
/>
<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"
+ android:textSize="12sp"
/>
</LinearLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
android:text="鐢靛瓙鏂囦欢锛�"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold"
+ android:textSize="12sp"
/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_15"
+ android:layout_marginBottom="15dp"
>
<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:listitem="@layout/item_electronic_file"
tools:itemCount="3"
/>
+ </LinearLayout>
+ <LinearLayout
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center"
+ android:layout_marginBottom="@dimen/dp_12"
+ >
+ <LinearLayout
+ android:id="@+id/layout_modify"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ >
+ <ImageView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:background="@drawable/ic_modify"
+ android:layout_gravity="center"
+ />
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="淇敼"
+ android:textColor="@color/black"
+ android:textSize="@dimen/sp_14"
+ android:layout_marginStart="@dimen/dp_4"
+ />
+ </LinearLayout>
+ <LinearLayout
+ android:id="@+id/layout_delete"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_alignParentEnd="true"
+ android:layout_marginStart="@dimen/dp_52"
+ >
+ <ImageView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:background="@drawable/ic_delete"
+ android:layout_gravity="center"
+ />
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="鍒犻櫎"
+ android:textColor="#FFE86F72"
+ android:textSize="@dimen/sp_14"
+
+ android:layout_marginStart="@dimen/dp_4"
+ />
+ </LinearLayout>
</LinearLayout>
</LinearLayout>
diff --git a/app/src/main/res/layout/item_certificate_of_honor.xml b/app/src/main/res/layout/item_certificate_of_honor.xml
index 2fd73c6..f951efc 100644
--- a/app/src/main/res/layout/item_certificate_of_honor.xml
+++ b/app/src/main/res/layout/item_certificate_of_honor.xml
@@ -30,36 +30,49 @@
<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:layout_height="40dp"
+ android:gravity="center_vertical"
+ >
<TextView
- android:id="@+id/textView2"
- android:layout_width="wrap_content"
+ android:layout_width="0dp"
android:layout_height="wrap_content"
- android:layout_marginStart="24dp"
+ android:layout_centerVertical="true"
+ android:ellipsize="end"
+ android:maxLines="1"
android:text="@{bean.name}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_16"
- android:textStyle="bold"
+ android:textSize="16sp"
+ android:layout_marginStart="24dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
- tools:text="鍒涚珛寮犳皬鍏徃" />
-
+ app:layout_constraintWidth_percent="0.5"
+ tools:text="寮犳皬App绔嬮」" />
<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"
+ android:textColor="@color/black"
+ android:text="@{bean.getDate}"
+ android:layout_alignParentEnd="true"
+ android:layout_centerVertical="true"
+ tools:text="2023-05-16"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintEnd_toStartOf="@id/iv_fold"
+ android:layout_marginEnd="10dp"
+ />
+ <ImageView
+ android:id="@+id/iv_fold"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:background="@drawable/ic_fold"
+ app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- tools:text="2019-01-12" />
+ android:layout_marginEnd="10dp"
+ />
</androidx.constraintlayout.widget.ConstraintLayout>
@@ -74,92 +87,84 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<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"
+ android:textSize="12sp"
/>
<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"
+ android:textSize="12sp"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<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"
+ android:textSize="12sp"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="@{bean.certificateNumber}"
+ android:text="@{bean.idNo}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold"
+ android:textSize="12sp"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<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"
+ android:textSize="12sp"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="@{bean.level}"
+ android:text="@{bean.grade}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold"
+ android:textSize="12sp"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<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"
+ android:textSize="12sp"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="@{bean.effectiveTime}"
+ android:text="@{bean.validityDate}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold"
+ android:textSize="12sp"
/>
</LinearLayout>
@@ -168,92 +173,85 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<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"
+ android:textSize="12sp"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="@{bean.getTime}"
+ android:text="@{bean.getDate}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold"
+ android:textSize="12sp"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<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"
+ android:textSize="12sp"
/>
<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"
+ android:textSize="12sp"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<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"
+ android:textSize="12sp"
/>
<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"
+ android:textSize="12sp"
/>
</LinearLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
android:text="鐢靛瓙鏂囦欢锛�"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold"
+ android:textSize="12sp"
/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_15"
+ android:layout_marginBottom="15dp"
>
<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:listitem="@layout/item_electronic_file"
tools:itemCount="3"
/>
diff --git a/app/src/main/res/layout/item_clean_storage.xml b/app/src/main/res/layout/item_clean_storage.xml
index 5fbf936..496a20b 100644
--- a/app/src/main/res/layout/item_clean_storage.xml
+++ b/app/src/main/res/layout/item_clean_storage.xml
@@ -20,6 +20,7 @@
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"
@@ -29,52 +30,95 @@
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/layout_title"
android:layout_width="match_parent"
- android:layout_height="@dimen/dp_40"
+ android:layout_height="40dp"
android:gravity="center_vertical">
-
- <TextView
- android:id="@+id/textView2"
- android:layout_width="wrap_content"
+ <CheckBox
+ android:id="@+id/checkbox"
+ android:layout_width="18dp"
+ android:layout_height="18dp"
+ android:layout_marginStart="3dp"
+ android:layout_centerVertical="true"
+ android:button="@drawable/selector_checkbox"
+ android:background="?selectableItemBackgroundBorderless"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ />
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/textView1"
+ android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="24dp"
- android:text="@{bean.type}"
+ android:text="@{bean.kind}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_16"
- android:textStyle="bold"
+ android:textSize="16sp"
+ android:gravity="start|center_vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
- tools:text="鎴夸骇璇�" />
+ app:layout_constraintEnd_toStartOf="@id/textView2"
+ app:layout_constraintHorizontal_weight="1.5"
+ android:ellipsize="end"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMaxTextSize="16sp"
+ app:autoSizeMinTextSize="12sp"
+ app:layout_constraintHorizontal_chainStyle="spread_inside"
+ tools:text="淇濇磥" />
- <TextView
- android:layout_width="wrap_content"
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/textView2"
+ android:layout_width="0dp"
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:text="@{bean.suitable}"
android:textColor="@color/black"
android:textSize="16sp"
- android:layout_marginEnd="20dp"
- android:textStyle="bold"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toStartOf="@+id/tv_time"
+ app:layout_constraintStart_toEndOf="@+id/textView1"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintHorizontal_weight="2"
+ android:layout_marginHorizontal="20dp"
+ android:ellipsize="end"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMaxTextSize="16sp"
+ app:autoSizeMinTextSize="12sp"
+ tools:text="寮犱笁" />
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/tv_time"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:text="@{bean.type}"
+ android:textColor="@color/black"
+ android:textSize="16sp"
+ android:layout_marginEnd="10dp"
+ android:gravity="center_vertical|center"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toStartOf="@id/iv_fold"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintStart_toEndOf="@id/textView2"
+ app:layout_constraintHorizontal_weight="2"
+ android:maxLines="1"
+ android:ellipsize="end"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMaxTextSize="16sp"
+ app:autoSizeMinTextSize="12sp"
+ tools:text="鐜荤拑绐�"
+ />
+ <ImageView
+ android:id="@+id/iv_fold"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:background="@drawable/ic_fold"
+ app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- tools:text="2019-01-12" />
+ android:layout_marginEnd="10dp"
+ />
</androidx.constraintlayout.widget.ConstraintLayout>
@@ -89,92 +133,84 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<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"
+ android:textSize="12sp"
/>
<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"
+ android:textSize="12sp"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<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"
+ android:textSize="12sp"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="@{bean.cleanMethod}"
+ android:text="@{bean.method}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold"
+ android:textSize="12sp"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<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"
+ android:textSize="12sp"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="@{bean.materialStorageLocation}"
+ android:text="@{bean.place}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold"
+ android:textSize="12sp"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<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"
+ android:textSize="12sp"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="@{bean.placementLocation}"
+ android:text="@{bean.location}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold"
+ android:textSize="12sp"
/>
</LinearLayout>
@@ -182,49 +218,97 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<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"
+ android:textSize="12sp"
/>
<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"
+ android:textSize="12sp"
/>
</LinearLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
android:text="鐢靛瓙鏂囦欢锛�"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold"
+ android:textSize="12sp"
/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_15"
+ android:layout_marginBottom="15dp"
>
<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:listitem="@layout/item_electronic_file"
tools:itemCount="3"
/>
</LinearLayout>
+ <LinearLayout
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center"
+ android:layout_marginBottom="@dimen/dp_12"
+ >
+ <LinearLayout
+ android:id="@+id/layout_modify"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ >
+ <ImageView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:background="@drawable/ic_modify"
+ android:layout_gravity="center"
+ />
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="淇敼"
+ android:textColor="@color/black"
+ android:textSize="@dimen/sp_14"
+
+ android:layout_marginStart="@dimen/dp_4"
+ />
+ </LinearLayout>
+ <LinearLayout
+ android:id="@+id/layout_delete"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_alignParentEnd="true"
+ android:layout_marginStart="@dimen/dp_52"
+ >
+ <ImageView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:background="@drawable/ic_delete"
+ android:layout_gravity="center"
+ />
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="鍒犻櫎"
+ android:textColor="#FFE86F72"
+ android:textSize="@dimen/sp_14"
+
+ android:layout_marginStart="@dimen/dp_4"
+ />
+ </LinearLayout>
+ </LinearLayout>
</LinearLayout>
</LinearLayout>
diff --git a/app/src/main/res/layout/item_consume_record.xml b/app/src/main/res/layout/item_consume_record.xml
index df008bd..35c30a8 100644
--- a/app/src/main/res/layout/item_consume_record.xml
+++ b/app/src/main/res/layout/item_consume_record.xml
@@ -1,8 +1,12 @@
<?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.TourismDetailActivityViewModel" />
<variable
name="bean"
type="com.application.zhangshi_app_android.bean.ConsumeRecordBean" />
@@ -17,7 +21,7 @@
android:layout_width="wrap_content"
android:layout_marginTop="10dp"
android:layout_height="wrap_content"
- android:text="鎬婚噾棰�"
+ android:text="鍐呭"
android:textColor="#767375"
android:textSize="12sp" />
<LinearLayout
@@ -34,12 +38,16 @@
android:textColorHint="#6b000000"
android:textColor="#DE000000"
android:text="@={bean.content}"
- android:textSize="16sp" />
+ android:textSize="16sp"
+ android:enabled="@{viewModel.typeLiveData}"
+ />
<ImageView
+ android:id="@+id/iv_delete"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/ic_delete_tourism"
android:layout_marginHorizontal="16dp"
+ android:visibility="@{viewModel.typeLiveData}"
/>
</LinearLayout>
<LinearLayout
@@ -60,14 +68,38 @@
android:textColor="#767375"
android:textSize="12sp" />
- <EditText
+ <androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:inputType="text"
- android:textColorHint="#6b000000"
- android:textColor="#DE000000"
- android:text="@={bean.totalMoney}"
- android:textSize="16sp" />
+ >
+
+ <EditText
+ android:id="@+id/et_total_cost"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:inputType="numberDecimal"
+ android:text="@={bean.totalCost}"
+ android:textColor="#DE000000"
+ android:textColorHint="#6b000000"
+ android:textSize="16sp"
+ android:enabled="false"
+ android:backgroundTint="#6B000000"
+ tools:text="1490"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ />
+ <View
+ android:id="@+id/view_mask"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:background="@color/color_non_editable"
+ app:layout_constraintTop_toTopOf="@id/et_total_cost"
+ app:layout_constraintStart_toStartOf="@id/et_total_cost"
+ app:layout_constraintBottom_toBottomOf="@id/et_total_cost"
+ app:layout_constraintEnd_toEndOf="@id/et_total_cost"
+ android:visibility="@{viewModel.typeLiveData}"
+ />
+ </androidx.constraintlayout.widget.ConstraintLayout>
</LinearLayout>
@@ -85,14 +117,20 @@
android:textColor="#767375"
android:textSize="12sp" />
- <EditText
+ <androidx.appcompat.widget.AppCompatEditText
+ android:id="@+id/et_eat"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:inputType="text"
+ android:inputType="numberDecimal"
android:textColorHint="#6b000000"
android:textColor="#DE000000"
- android:text="@={bean.mealMoney}"
- android:textSize="16sp" />
+ android:text="@={bean.eat}"
+ android:hint="0"
+ android:textSize="16sp"
+ android:maxLines="1"
+ android:enabled="@{viewModel.typeLiveData}"
+ app:need_modify_null="@{true}"
+ />
</LinearLayout>
</LinearLayout>
@@ -114,15 +152,21 @@
android:textColor="#767375"
android:textSize="12sp"
/>
- <EditText
+ <androidx.appcompat.widget.AppCompatEditText
+ android:id="@+id/et_stay"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:inputType="text"
+ android:inputType="numberDecimal"
android:textColorHint="#6b000000"
android:textColor="#DE000000"
tools:text="aaa"
- android:text="@={bean.hotelMoney}"
- android:textSize="16sp" />
+ android:text="@={bean.stay}"
+ android:hint="0"
+ app:need_modify_null="@{true}"
+ android:textSize="16sp"
+ android:maxLines="1"
+ android:enabled="@{viewModel.typeLiveData}"
+ />
</LinearLayout>
<LinearLayout
@@ -140,13 +184,19 @@
android:textSize="12sp"
/>
<EditText
+ android:id="@+id/et_traffic"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:inputType="text"
+ android:inputType="numberDecimal"
android:textColorHint="#6b000000"
android:textColor="#DE000000"
- android:text="@={bean.trafficMoney}"
- android:textSize="16sp" />
+ android:text="@={bean.traffic}"
+ android:hint="0"
+ app:need_modify_null="@{true}"
+ android:textSize="16sp"
+ android:maxLines="1"
+ android:enabled="@{viewModel.typeLiveData}"
+ />
</LinearLayout>
</LinearLayout>
@@ -169,14 +219,20 @@
android:textSize="12sp"
/>
<EditText
+ android:id="@+id/et_entrance"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:inputType="text"
+ android:inputType="numberDecimal"
android:textColorHint="#6b000000"
android:textColor="#DE000000"
tools:text="aaa"
- android:text="@={bean.ticketMoney}"
- android:textSize="16sp" />
+ android:text="@={bean.entrance}"
+ android:hint="0"
+ app:need_modify_null="@{true}"
+ android:textSize="16sp"
+ android:maxLines="1"
+ android:enabled="@{viewModel.typeLiveData}"
+ />
</LinearLayout>
<LinearLayout
@@ -194,13 +250,19 @@
android:textSize="12sp"
/>
<EditText
+ android:id="@+id/et_shopping"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:inputType="text"
+ android:inputType="numberDecimal"
android:textColorHint="#6b000000"
android:textColor="#DE000000"
- android:text="@={bean.shoppingMoney}"
- android:textSize="16sp" />
+ android:text="@={bean.shopping}"
+ android:hint="0"
+ app:need_modify_null="@{true}"
+ android:textSize="16sp"
+ android:maxLines="1"
+ android:enabled="@{viewModel.typeLiveData}"
+ />
</LinearLayout>
</LinearLayout>
diff --git a/app/src/main/res/layout/item_contacts.xml b/app/src/main/res/layout/item_contacts.xml
index 1d37909..e29fd46 100644
--- a/app/src/main/res/layout/item_contacts.xml
+++ b/app/src/main/res/layout/item_contacts.xml
@@ -30,24 +30,31 @@
<RelativeLayout
android:id="@+id/layout_title"
android:layout_width="match_parent"
- android:layout_height="@dimen/dp_40"
+ android:layout_height="40dp"
>
-
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="@{bean.myName+` 鐨� 閫� 璁� 褰昤}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_16"
- android:textStyle="bold"
+ android:textSize="16sp"
tools:text="寮犱笁 鐨� 閫� 璁� 褰�" />
+ <ImageView
+ android:id="@+id/iv_fold"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:background="@drawable/ic_fold"
+ android:layout_marginEnd="10dp"
+ android:layout_alignParentRight="true"
+ android:layout_centerVertical="true"
+ />
</RelativeLayout>
<LinearLayout
android:id="@+id/layout_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_marginBottom="30dp"
+ android:layout_marginBottom="20dp"
>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerView"
diff --git a/app/src/main/res/layout/item_contacts_detail.xml b/app/src/main/res/layout/item_contacts_detail.xml
index 6714e87..4e6abff 100644
--- a/app/src/main/res/layout/item_contacts_detail.xml
+++ b/app/src/main/res/layout/item_contacts_detail.xml
@@ -46,7 +46,6 @@
android:maxLines="1"
android:textColor="@color/black"
android:textSize="14sp"
- android:textStyle="bold"
tools:text="濮撳悕"
/>
@@ -61,7 +60,7 @@
android:layout_height="wrap_content"
android:text="@{bean.nickName}"
android:textColor="#80000000"
- android:textSize="@dimen/sp_12"
+ android:textSize="12sp"
android:layout_weight="2"
android:maxLines="1"
tools:text="绉板懠"
diff --git a/app/src/main/res/layout/item_daily_consume_record.xml b/app/src/main/res/layout/item_daily_consume_record.xml
index ec8ac0d..b2b4925 100644
--- a/app/src/main/res/layout/item_daily_consume_record.xml
+++ b/app/src/main/res/layout/item_daily_consume_record.xml
@@ -11,12 +11,13 @@
type="com.application.zhangshi_app_android.bean.DailyConsumeRecordBean"
/>
<variable
- name="isFold"
- type="boolean"
+ name="viewModel"
+ type="com.application.zhangshi_app_android.ui.function.TourismDetailActivityViewModel"
/>
</data>
<androidx.cardview.widget.CardView
+ android:id="@+id/cardView"
android:layout_width="match_parent"
android:layout_height="50dp"
app:cardBackgroundColor="@color/white"
@@ -30,7 +31,6 @@
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingHorizontal="5dp"
- android:paddingBottom="15dp"
>
<LinearLayout
android:id="@+id/layout_title"
@@ -38,25 +38,70 @@
android:layout_height="50dp"
android:gravity="center_vertical"
>
- <TextView
+ <LinearLayout
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ >
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/tv_date"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textColor="#FF000000"
+ android:textSize="20sp"
+ android:text="@={bean.date}"
+ android:background="@null"
+ android:clickable="@{viewModel.typeLiveData}"
+ tools:text="5鏈�1鏃�"
+ android:textColorHint="#6b000000"
+ android:ellipsize="end"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMaxTextSize="20sp"
+ app:autoSizeMinTextSize="16sp"
+ />
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="1dp"
+ android:background="#6B000000"
+ android:visibility="@{viewModel.typeLiveData}"
+ />
+ </LinearLayout>
+ <View
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
- android:textColor="#FF000000"
- android:textSize="20sp"
- android:text="@{bean.date}"
- tools:text="5鏈�1鏃�"
+ android:layout_marginStart="10dp"
/>
- <ImageView
+ <LinearLayout
+ android:id="@+id/layout_add_delete"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_tourism_add"
- />
+ android:layout_gravity="center"
+ android:gravity="center"
+ android:layout_marginStart="10dp"
+ android:visibility="@{viewModel.typeLiveData}"
+ >
+ <ImageView
+ android:id="@+id/iv_delete"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:background="@drawable/ic_delete_tourism"
+ />
+ <ImageView
+ android:id="@+id/iv_add"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="10dp"
+ android:background="@drawable/ic_tourism_add"
+ />
+ </LinearLayout>
<ImageView
android:id="@+id/iv_fold"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@{isFold?@drawable/ic_fold:@drawable/ic_unfold}"
+ android:background="@drawable/ic_fold"
android:layout_marginStart="10dp"
/>
</LinearLayout>
@@ -65,12 +110,18 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
+ android:paddingBottom="15dp"
>
- <androidx.recyclerview.widget.RecyclerView
- android:id="@+id/rv_consume_record"
+ <RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
- />
+ >
+ <androidx.recyclerview.widget.RecyclerView
+ android:id="@+id/rv_consume_record"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ />
+ </RelativeLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@@ -80,20 +131,38 @@
android:alpha="0.54"
android:layout_marginTop="10dp"
/>
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@{bean.dailyMoney}"
- android:textColor="#DE000000"
- android:textSize="14sp"
- android:layout_marginTop="5dp"
- />
- <View
+ <androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
- android:layout_height="1dp"
- android:background="#6B000000"
- android:layout_marginTop="8dp"
- />
+ android:layout_height="wrap_content"
+ >
+
+ <EditText
+ android:id="@+id/et_daily_money"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:inputType="number"
+ android:text="@={bean.dailyMoney}"
+ android:textColor="#DE000000"
+ android:textColorHint="#6b000000"
+ android:textSize="14sp"
+ android:enabled="false"
+ android:backgroundTint="#6B000000"
+ tools:text="1490"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ />
+ <View
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:background="@color/color_non_editable"
+ app:layout_constraintTop_toTopOf="@id/et_daily_money"
+ app:layout_constraintStart_toStartOf="@id/et_daily_money"
+ app:layout_constraintBottom_toBottomOf="@id/et_daily_money"
+ app:layout_constraintEnd_toEndOf="@id/et_daily_money"
+ android:visibility="@{viewModel.typeLiveData}"
+ />
+ </androidx.constraintlayout.widget.ConstraintLayout>
+
</LinearLayout>
</LinearLayout>
diff --git a/app/src/main/res/layout/item_electronic_file.xml b/app/src/main/res/layout/item_electronic_file.xml
new file mode 100644
index 0000000..7d7278b
--- /dev/null
+++ b/app/src/main/res/layout/item_electronic_file.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="utf-8"?>
+<layout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ >
+
+ <data>
+ <variable
+ name="url"
+ type="String" />
+ </data>
+
+ <androidx.constraintlayout.widget.ConstraintLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content">
+ <androidx.constraintlayout.utils.widget.ImageFilterView
+ android:id="@+id/iv_image"
+ android:layout_width="70dp"
+ android:layout_height="45dp"
+ android:layout_marginTop="7.5dp"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:imageUrl="@{url}"
+ app:round="5dp"
+ />
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text=""
+ android:textColor="@color/black"
+ android:textSize="10sp"
+ android:layout_marginTop="5dp"
+ app:layout_constraintTop_toBottomOf="@id/iv_image"
+ app:layout_constraintStart_toStartOf="@id/iv_image"
+ app:layout_constraintEnd_toEndOf="@id/iv_image"
+ />
+
+ </androidx.constraintlayout.widget.ConstraintLayout>
+</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 d942d44..9d06aba 100644
--- a/app/src/main/res/layout/item_family_assets.xml
+++ b/app/src/main/res/layout/item_family_assets.xml
@@ -19,6 +19,7 @@
android:layout_height="40dp"
android:layout_margin="@dimen/dp_2"
app:cardCornerRadius="@dimen/dp_10"
+ tools:layout_height="wrap_content"
app:cardBackgroundColor="@color/color_card_pink"
>
<LinearLayout
@@ -29,52 +30,76 @@
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/layout_title"
android:layout_width="match_parent"
- android:layout_height="@dimen/dp_40"
+ android:layout_height="40dp"
android:gravity="center_vertical">
- <TextView
- android:id="@+id/textView2"
- android:layout_width="wrap_content"
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/textView1"
+ android:layout_width="0dp"
android:layout_height="wrap_content"
- android:layout_marginStart="24dp"
+ android:layout_marginStart="20dp"
android:text="@{bean.type}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_16"
-
+ android:textSize="16sp"
+ android:gravity="start|center_vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintEnd_toStartOf="@id/textView2"
+ app:layout_constraintWidth_percent="0.2"
+ android:ellipsize="end"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMaxTextSize="16sp"
+ app:autoSizeMinTextSize="12sp"
+ app:layout_constraintHorizontal_chainStyle="spread_inside"
tools:text="鎴夸骇璇�" />
- <TextView
- android:layout_width="wrap_content"
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/textView2"
+ android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
+ android:ellipsize="end"
+ android:maxLines="1"
android:gravity="center"
android:text="@{bean.holder}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_16"
-
+ android:textSize="16sp"
app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintHorizontal_bias="0.45"
- app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toStartOf="@+id/tv_time"
+ app:layout_constraintStart_toEndOf="@+id/textView1"
app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintWidth_percent="0.25"
tools:text="寮犱笁" />
- <TextView
+ <androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_time"
- android:layout_width="wrap_content"
+ android:layout_width="0dp"
android:layout_height="wrap_content"
- android:text="@{bean.createTime}"
+ android:text="@{bean.happenTime == null ? `鈥斺�斺�斺�擿 : bean.happenTime}"
android:textColor="@color/black"
android:textSize="16sp"
- android:layout_marginEnd="20dp"
-
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toStartOf="@id/iv_fold"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintStart_toEndOf="@id/textView2"
+ app:layout_constraintWidth_percent="0.3"
+ android:gravity="end"
+ android:maxLines="1"
+ android:layout_marginEnd="10dp"
+ android:ellipsize="end"
+ tools:text="2019-01-12" />
+ <ImageView
+ android:id="@+id/iv_fold"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:background="@drawable/ic_fold"
+ app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- tools:text="2019-01-12" />
+ android:layout_marginEnd="10dp"
+ />
</androidx.constraintlayout.widget.ConstraintLayout>
@@ -89,14 +114,14 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="搴忓彿锛�"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
+ android:textSize="12sp"
/>
<TextView
@@ -104,7 +129,7 @@
android:layout_height="wrap_content"
android:text="@{String.valueOf(bean.id)}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
+ android:textSize="12sp"
/>
</LinearLayout>
@@ -112,14 +137,14 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="璇佷欢鍗″彿锛�"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
+ android:textSize="12sp"
/>
<TextView
@@ -127,7 +152,7 @@
android:layout_height="wrap_content"
android:text="@{bean.title}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
+ android:textSize="12sp"
/>
</LinearLayout>
@@ -135,14 +160,14 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="寮�鎴疯锛�"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
+ android:textSize="12sp"
/>
<TextView
@@ -150,7 +175,7 @@
android:layout_height="wrap_content"
android:text="@{bean.location}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
+ android:textSize="12sp"
/>
</LinearLayout>
@@ -158,14 +183,14 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="瀛樻斁鍦扮偣锛�"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
+ android:textSize="12sp"
/>
<TextView
@@ -173,7 +198,7 @@
android:layout_height="wrap_content"
android:text="@{bean.address}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
+ android:textSize="12sp"
/>
</LinearLayout>
@@ -182,14 +207,14 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="澶囨敞锛�"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
+ android:textSize="12sp"
/>
<TextView
@@ -197,30 +222,30 @@
android:layout_height="wrap_content"
android:text="@{bean.remark}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
+ android:textSize="12sp"
/>
</LinearLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
android:text="鐢靛瓙鏂囦欢锛�"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
+ android:textSize="12sp"
/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_15"
+ android:layout_marginBottom="15dp"
>
<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:listitem="@layout/item_electronic_file"
tools:itemCount="3"
/>
diff --git a/app/src/main/res/layout/item_family_memorabilia.xml b/app/src/main/res/layout/item_family_memorabilia.xml
index be9ef3f..6056337 100644
--- a/app/src/main/res/layout/item_family_memorabilia.xml
+++ b/app/src/main/res/layout/item_family_memorabilia.xml
@@ -27,10 +27,10 @@
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:layout_height="40dp"
android:gravity="center_vertical"
>
<CheckBox
@@ -41,29 +41,52 @@
android:layout_centerVertical="true"
android:button="@drawable/selector_checkbox"
android:background="?selectableItemBackgroundBorderless"
- />
- <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.title}"
- android:layout_weight="1"
- />
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:textSize="@dimen/sp_16"
- android:textColor="@color/black"
- android:text="@{bean.createTime}"
- android:layout_marginEnd="24dp"
- android:layout_alignParentEnd="true"
- android:layout_centerVertical="true"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
/>
- </RelativeLayout>
+ <TextView
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_centerVertical="true"
+ android:ellipsize="end"
+ android:maxLines="1"
+ android:text="@{bean.title}"
+ android:textColor="@color/black"
+ android:textSize="16sp"
+ android:layout_marginStart="24dp"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintWidth_percent="0.5"
+ tools:text="寮犳皬App绔嬮」" />
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textSize="16sp"
+ android:textColor="@color/black"
+ android:text="@{bean.happenTime}"
+ android:layout_alignParentEnd="true"
+ android:layout_centerVertical="true"
+ tools:text="2023-05-16"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintEnd_toStartOf="@id/iv_fold"
+ android:layout_marginEnd="10dp"
+ />
+ <ImageView
+ android:id="@+id/iv_fold"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:background="@drawable/ic_fold"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ android:layout_marginEnd="10dp"
+ />
+
+ </androidx.constraintlayout.widget.ConstraintLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
@@ -74,14 +97,14 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="搴忓彿锛�"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
+ android:textSize="12sp"
/>
<TextView
@@ -89,7 +112,7 @@
android:layout_height="wrap_content"
android:text="@{String.valueOf(bean.id)}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
+ android:textSize="12sp"
/>
</LinearLayout>
@@ -97,14 +120,14 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="浜虹墿锛�"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
+ android:textSize="12sp"
/>
<TextView
@@ -112,7 +135,7 @@
android:layout_height="wrap_content"
android:text="@{bean.people}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
+ android:textSize="12sp"
/>
</LinearLayout>
@@ -120,14 +143,14 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="澶囨敞锛�"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
+ android:textSize="12sp"
/>
<TextView
@@ -135,35 +158,36 @@
android:layout_height="wrap_content"
android:text="@{bean.remark}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
+ android:textSize="12sp"
/>
</LinearLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
android:text="鐢靛瓙鏂囦欢锛�"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
+ android:textSize="12sp"
/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_15"
+ android:layout_marginBottom="15dp"
>
<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:listitem="@layout/item_electronic_file"
tools:itemCount="3"
/>
</LinearLayout>
<LinearLayout
+ tools:visibility="visible"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
@@ -194,7 +218,6 @@
android:id="@+id/layout_delete"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_alignParentEnd="true"
android:layout_marginStart="@dimen/dp_52"
>
<ImageView
diff --git a/app/src/main/res/layout/item_growth_experience_abroad_condition.xml b/app/src/main/res/layout/item_growth_experience_abroad_condition.xml
index e41a92c..501d7b0 100644
--- a/app/src/main/res/layout/item_growth_experience_abroad_condition.xml
+++ b/app/src/main/res/layout/item_growth_experience_abroad_condition.xml
@@ -27,38 +27,57 @@
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:layout_height="40dp"
android:gravity="center_vertical"
>
-
<TextView
- android:layout_width="wrap_content"
+ android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
- android:layout_marginStart="24dp"
- android:textSize="@dimen/sp_16"
- android:textColor="@color/black"
+ android:ellipsize="end"
+ android:maxLines="1"
android:text="@{bean.destination}"
- android:layout_weight="1"
tools:text="棣欐腐"
- android:textStyle="bold"
+ android:textColor="@color/black"
+ android:textSize="16sp"
+ android:layout_marginStart="24dp"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintWidth_percent="0.3"
/>
<TextView
- android:layout_width="wrap_content"
+ android:layout_width="0dp"
android:layout_height="wrap_content"
- android:textSize="@dimen/sp_16"
+ android:textSize="16sp"
android:textColor="@color/black"
android:text="@{bean.startDate}"
- android:textStyle="bold"
- android:layout_marginEnd="24dp"
- android:layout_alignParentEnd="true"
- android:layout_centerVertical="true"
tools:text="2010.01-2020.01"
+ android:gravity="end"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintEnd_toStartOf="@id/iv_fold"
+ app:layout_constraintWidth_percent="0.4"
+ android:layout_marginEnd="10dp"
+ android:maxLines="1"
+ android:ellipsize="end"
/>
- </RelativeLayout>
+ <ImageView
+ android:id="@+id/iv_fold"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:background="@drawable/ic_fold"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ android:layout_marginEnd="10dp"
+ />
+
+ </androidx.constraintlayout.widget.ConstraintLayout>
+
<LinearLayout
android:id="@+id/layout_content"
android:layout_width="match_parent"
@@ -77,8 +96,7 @@
android:layout_height="wrap_content"
android:text="浜嬬敱锛�"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold"
+ android:textSize="12sp"
/>
<TextView
android:layout_width="wrap_content"
@@ -86,8 +104,7 @@
tools:text="鎺翰"
android:text="@{bean.cause}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold"
+ android:textSize="12sp"
/>
</LinearLayout>
diff --git a/app/src/main/res/layout/item_growth_experience_holder_condition.xml b/app/src/main/res/layout/item_growth_experience_holder_condition.xml
index 1e58bbd..6cab216 100644
--- a/app/src/main/res/layout/item_growth_experience_holder_condition.xml
+++ b/app/src/main/res/layout/item_growth_experience_holder_condition.xml
@@ -27,37 +27,56 @@
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:layout_height="40dp"
android:gravity="center_vertical"
>
<TextView
- android:layout_width="wrap_content"
+ android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
- android:layout_marginStart="24dp"
- android:textSize="@dimen/sp_16"
- android:textColor="@color/black"
+ android:ellipsize="end"
+ android:maxLines="1"
android:text="@{bean.cerName}"
- android:layout_weight="1"
tools:text="鎶ょ収"
- android:textStyle="bold"
+ android:textColor="@color/black"
+ android:textSize="16sp"
+ android:layout_marginStart="24dp"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintWidth_percent="0.3"
/>
<TextView
- android:layout_width="wrap_content"
+ android:layout_width="0dp"
android:layout_height="wrap_content"
- android:textSize="@dimen/sp_16"
+ android:textSize="16sp"
android:textColor="@color/black"
android:text="@{bean.validityDate}"
- android:textStyle="bold"
- android:layout_marginEnd="24dp"
- android:layout_alignParentEnd="true"
- android:layout_centerVertical="true"
tools:text="2010.01-2020.01"
+ android:gravity="end"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintEnd_toStartOf="@id/iv_fold"
+ app:layout_constraintWidth_percent="0.4"
+ android:layout_marginEnd="10dp"
+ android:maxLines="1"
+ android:ellipsize="end"
/>
- </RelativeLayout>
+ <ImageView
+ android:id="@+id/iv_fold"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:background="@drawable/ic_fold"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ android:layout_marginEnd="10dp"
+ />
+
+ </androidx.constraintlayout.widget.ConstraintLayout>
<LinearLayout
android:id="@+id/layout_content"
android:layout_width="match_parent"
@@ -69,22 +88,20 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<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"
+ android:textSize="12sp"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold"
+ android:textSize="12sp"
android:text="@{bean.ownStatus}"
/>
</LinearLayout>
@@ -99,16 +116,14 @@
android:layout_height="wrap_content"
android:text="璇佷欢鍙风爜锛�"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold"
+ android:textSize="12sp"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/black"
android:text="@{bean.idNo}"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold"
+ android:textSize="12sp"
tools:text="123456789012345"
/>
</LinearLayout>
diff --git a/app/src/main/res/layout/item_growth_experience_primary.xml b/app/src/main/res/layout/item_growth_experience_primary.xml
index 7f56b53..4ada7e4 100644
--- a/app/src/main/res/layout/item_growth_experience_primary.xml
+++ b/app/src/main/res/layout/item_growth_experience_primary.xml
@@ -27,68 +27,84 @@
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:layout_height="40dp"
android:gravity="center_vertical"
>
<TextView
- android:layout_width="wrap_content"
+ android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
- android:layout_marginStart="24dp"
- android:textSize="@dimen/sp_16"
- android:textColor="@color/black"
+ android:ellipsize="end"
+ android:maxLines="1"
android:text="@{bean.startDate}"
- android:layout_weight="1"
- tools:text="2010-2016"
- android:textStyle="bold"
- />
+ android:textColor="@color/black"
+ android:textSize="16sp"
+ android:layout_marginStart="24dp"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintWidth_percent="0.3"
+ tools:text="2010-2016" />
<TextView
- android:layout_width="wrap_content"
+ android:layout_width="0dp"
android:layout_height="wrap_content"
- android:textSize="@dimen/sp_16"
+ android:textSize="16sp"
android:textColor="@color/black"
android:text="@{bean.content}"
- android:textStyle="bold"
- android:layout_marginEnd="24dp"
- android:layout_alignParentEnd="true"
- android:layout_centerVertical="true"
tools:text="**灏忓"
+ android:gravity="end"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintEnd_toStartOf="@id/iv_fold"
+ app:layout_constraintWidth_percent="0.4"
+ android:layout_marginEnd="10dp"
+ android:maxLines="1"
+ android:ellipsize="end"
/>
- </RelativeLayout>
- <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="10dp"
- >
- <TextView
- android:layout_width="wrap_content"
+ <ImageView
+ android:id="@+id/iv_fold"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:background="@drawable/ic_fold"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ android:layout_marginEnd="10dp"
+ />
+
+ </androidx.constraintlayout.widget.ConstraintLayout>
+ <LinearLayout
+ android:id="@+id/layout_content"
+ android:layout_width="match_parent"
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.witness}"
- android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold"
- />
- </LinearLayout>
- </LinearLayout>
+ android:orientation="vertical"
+ android:layout_marginHorizontal="24dp"
+ >
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal"
+ android:layout_marginBottom="10dp"
+ >
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="璇佹槑浜猴細"
+ android:textColor="@color/black"
+ android:textSize="12sp"
+ />
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="@{bean.witness}"
+ android:textColor="@color/black"
+ android:textSize="12sp"
+ />
+ </LinearLayout>
+ </LinearLayout>
</LinearLayout>
</androidx.cardview.widget.CardView>
</LinearLayout>
diff --git a/app/src/main/res/layout/item_growth_experience_relationship.xml b/app/src/main/res/layout/item_growth_experience_relationship.xml
index ceb086f..40d8b6f 100644
--- a/app/src/main/res/layout/item_growth_experience_relationship.xml
+++ b/app/src/main/res/layout/item_growth_experience_relationship.xml
@@ -27,37 +27,57 @@
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:layout_height="40dp"
android:gravity="center_vertical"
>
<TextView
- android:layout_width="wrap_content"
+ android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
- android:layout_marginStart="24dp"
- android:textSize="@dimen/sp_16"
- android:textColor="@color/black"
+ android:ellipsize="end"
+ android:maxLines="1"
android:text="@{bean.relation}"
- android:layout_weight="1"
tools:text="澶"
- android:textStyle="bold"
+ android:textColor="@color/black"
+ android:textSize="16sp"
+ android:layout_marginStart="24dp"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintWidth_percent="0.3"
/>
<TextView
- android:layout_width="wrap_content"
+ android:layout_width="0dp"
android:layout_height="wrap_content"
- android:textSize="@dimen/sp_16"
+ android:textSize="16sp"
android:textColor="@color/black"
android:text="@{bean.nickName}"
- android:textStyle="bold"
- android:layout_marginEnd="24dp"
- android:layout_alignParentEnd="true"
- android:layout_centerVertical="true"
tools:text="寮犱笁"
+ android:gravity="end"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintEnd_toStartOf="@id/iv_fold"
+ app:layout_constraintWidth_percent="0.4"
+ android:layout_marginEnd="10dp"
+ android:maxLines="1"
+ android:ellipsize="end"
/>
- </RelativeLayout>
+ <ImageView
+ android:id="@+id/iv_fold"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:background="@drawable/ic_fold"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ android:layout_marginEnd="10dp"
+ />
+
+ </androidx.constraintlayout.widget.ConstraintLayout>
+
<LinearLayout
android:id="@+id/layout_content"
android:layout_width="match_parent"
@@ -69,46 +89,42 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<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"
+ android:textSize="12sp"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{bean.unit}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold"
+ android:textSize="12sp"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<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"
+ android:textSize="12sp"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{bean.position}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold"
+ android:textSize="12sp"
/>
</LinearLayout>
<LinearLayout
@@ -122,16 +138,14 @@
android:layout_height="wrap_content"
android:text="鏀挎不闈㈣矊:"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold"
+ android:textSize="12sp"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/black"
android:text="@{bean.politicalOutlook}"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold"
+ android:textSize="12sp"
/>
</LinearLayout>
</LinearLayout>
diff --git a/app/src/main/res/layout/item_home_devices.xml b/app/src/main/res/layout/item_home_devices.xml
index 1e8ebd1..4099140 100644
--- a/app/src/main/res/layout/item_home_devices.xml
+++ b/app/src/main/res/layout/item_home_devices.xml
@@ -20,6 +20,7 @@
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"
@@ -30,52 +31,95 @@
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/layout_title"
android:layout_width="match_parent"
- android:layout_height="@dimen/dp_40"
+ android:layout_height="40dp"
android:gravity="center_vertical">
-
- <TextView
- android:id="@+id/textView2"
- android:layout_width="wrap_content"
+ <CheckBox
+ android:id="@+id/checkbox"
+ android:layout_width="18dp"
+ android:layout_height="18dp"
+ android:layout_marginStart="3dp"
+ android:layout_centerVertical="true"
+ android:button="@drawable/selector_checkbox"
+ android:background="?selectableItemBackgroundBorderless"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ />
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/textView1"
+ android:layout_width="0dp"
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"
+ android:textSize="16sp"
+ android:gravity="start|center_vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintEnd_toStartOf="@id/textView2"
+ app:layout_constraintHorizontal_weight="1.5"
+ android:ellipsize="end"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMaxTextSize="16sp"
+ app:autoSizeMinTextSize="12sp"
+ app:layout_constraintHorizontal_chainStyle="spread_inside"
tools:text="鐢佃" />
- <TextView
- android:layout_width="wrap_content"
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/textView2"
+ android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:gravity="center"
android:text="@{bean.location}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_16"
- android:textStyle="bold"
+ android:textSize="16sp"
app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintHorizontal_bias="0.45"
- app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toStartOf="@+id/tv_time"
+ app:layout_constraintStart_toEndOf="@+id/textView1"
app:layout_constraintTop_toTopOf="parent"
- tools:text="寮犱笁" />
+ app:layout_constraintHorizontal_weight="2"
+ android:layout_marginHorizontal="20dp"
+ android:ellipsize="end"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMaxTextSize="16sp"
+ app:autoSizeMinTextSize="12sp"
+ tools:text="瀹㈠巺" />
- <TextView
- android:id="@+id/textView"
- android:layout_width="wrap_content"
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/tv_time"
+ android:layout_width="0dp"
android:layout_height="wrap_content"
- android:text="@{bean.createDate}"
+ android:text="@{bean.happenTime}"
android:textColor="@color/black"
android:textSize="16sp"
- android:layout_marginEnd="20dp"
- android:textStyle="bold"
+ android:layout_marginEnd="10dp"
+ android:gravity="center_vertical|center"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toStartOf="@id/iv_fold"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintStart_toEndOf="@id/textView2"
+ app:layout_constraintHorizontal_weight="2"
+ android:maxLines="1"
+ android:ellipsize="end"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMaxTextSize="16sp"
+ app:autoSizeMinTextSize="12sp"
+ tools:text="2019-01-12"
+ />
+ <ImageView
+ android:id="@+id/iv_fold"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:background="@drawable/ic_fold"
+ app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- tools:text="2019-01-12" />
+ android:layout_marginEnd="10dp"
+ />
</androidx.constraintlayout.widget.ConstraintLayout>
@@ -90,118 +134,160 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<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"
+ android:textSize="12sp"
/>
<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"
+ android:textSize="12sp"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<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"
+ android:textSize="12sp"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{bean.buyer}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold"
+ android:textSize="12sp"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<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"
+ android:textSize="12sp"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{bean.content}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold"
+ android:textSize="12sp"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<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"
+ android:textSize="12sp"
/>
<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"
+ android:textSize="12sp"
/>
</LinearLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
android:text="鐢靛瓙鏂囦欢锛�"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold"
+ android:textSize="12sp"
/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_15"
+ android:layout_marginBottom="15dp"
>
<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:listitem="@layout/item_electronic_file"
tools:itemCount="3"
/>
</LinearLayout>
+ <LinearLayout
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center"
+ android:layout_marginBottom="@dimen/dp_12"
+ >
+ <LinearLayout
+ android:id="@+id/layout_modify"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ >
+ <ImageView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:background="@drawable/ic_modify"
+ android:layout_gravity="center"
+ />
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="淇敼"
+ android:textColor="@color/black"
+ android:textSize="@dimen/sp_14"
+
+ android:layout_marginStart="@dimen/dp_4"
+ />
+ </LinearLayout>
+ <LinearLayout
+ android:id="@+id/layout_delete"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_alignParentEnd="true"
+ android:layout_marginStart="@dimen/dp_52"
+ >
+ <ImageView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:background="@drawable/ic_delete"
+ android:layout_gravity="center"
+ />
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="鍒犻櫎"
+ android:textColor="#FFE86F72"
+ android:textSize="@dimen/sp_14"
+
+ android:layout_marginStart="@dimen/dp_4"
+ />
+ </LinearLayout>
+ </LinearLayout>
</LinearLayout>
</LinearLayout>
diff --git a/app/src/main/res/layout/item_home_member_list.xml b/app/src/main/res/layout/item_home_member_list.xml
index 54d0ff7..eb438d0 100644
--- a/app/src/main/res/layout/item_home_member_list.xml
+++ b/app/src/main/res/layout/item_home_member_list.xml
@@ -21,6 +21,7 @@
app:cardCornerRadius="@dimen/dp_10"
app:cardBackgroundColor="@color/color_card_pink"
app:cardElevation="0dp"
+ tools:layout_height="wrap_content"
>
<LinearLayout
android:layout_width="match_parent"
@@ -30,52 +31,86 @@
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/layout_title"
android:layout_width="match_parent"
- android:layout_height="@dimen/dp_40"
+ android:layout_height="40dp"
android:gravity="center_vertical">
- <TextView
- android:id="@+id/textView2"
- android:layout_width="wrap_content"
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/textView1"
+ android:layout_width="0dp"
android:layout_height="wrap_content"
- android:layout_marginStart="24dp"
- android:text="@{bean.generation}"
+ android:layout_marginStart="20dp"
+ android:text="@{`绗� `+bean.identity+` 浠}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_16"
- android:textStyle="bold"
+ android:textSize="16sp"
+ android:gravity="start|center_vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
- tools:text="绗竴浠�" />
+ app:layout_constraintEnd_toStartOf="@id/textView2"
+ app:layout_constraintHorizontal_weight="1.5"
+ android:ellipsize="end"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMaxTextSize="16sp"
+ app:autoSizeMinTextSize="12sp"
+ app:layout_constraintHorizontal_chainStyle="spread_inside"
+ tools:text="绗竴浠�"
+ android:visibility="@{bean.isMyFamily==1?1:2}"
+ />
- <TextView
- android:layout_width="wrap_content"
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/textView2"
+ android:layout_width="0dp"
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:text="@{bean.nickName}"
android:textColor="@color/black"
android:textSize="16sp"
- android:layout_marginEnd="20dp"
- android:textStyle="bold"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toStartOf="@+id/tv_time"
+ app:layout_constraintStart_toEndOf="@+id/textView1"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintHorizontal_weight="2"
+ android:layout_marginHorizontal="20dp"
+ android:ellipsize="end"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMaxTextSize="16sp"
+ app:autoSizeMinTextSize="12sp"
+ tools:text="寮犱笁" />
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/tv_time"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:text="@{bean.sex}"
+ android:textColor="@color/black"
+ android:textSize="16sp"
+ android:layout_marginEnd="10dp"
+ android:gravity="center_vertical|center"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toStartOf="@id/iv_fold"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintStart_toEndOf="@id/textView2"
+ app:layout_constraintHorizontal_weight="2"
+ android:maxLines="1"
+ android:ellipsize="end"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMaxTextSize="16sp"
+ app:autoSizeMinTextSize="12sp"
+ tools:text="鐢�"
+ />
+ <ImageView
+ android:id="@+id/iv_fold"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:background="@drawable/ic_fold"
+ app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- tools:text="鐢�" />
+ android:layout_marginEnd="10dp"
+ />
</androidx.constraintlayout.widget.ConstraintLayout>
@@ -87,142 +122,131 @@
android:paddingStart="@dimen/dp_24"
android:paddingVertical="13dp"
>
+ <LinearLayout
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ app:layout_constraintStart_toEndOf="@+id/imageFilterView"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="@+id/imageFilterView"
+ app:layout_constraintBottom_toBottomOf="@+id/imageFilterView"
+ >
+ <LinearLayout
+ android:id="@+id/linearLayout4"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ >
+ <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.birth}"
+ 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"
+ android:layout_marginTop="5dp"
+ >
+
+ <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.deadDay == null ? `鈥� 鈥擿 : bean.deadDay}"
+ 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"
+ android:layout_marginTop="5dp"
+ >
+ <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.phoneNumber}"
+ 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"
+ android:layout_marginTop="5dp"
+ >
+ <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.unit}"
+ android:textColor="#FF000000"
+ android:textSize="12sp"
+ tools:text="寮犳皬鍏徃" />
+ </LinearLayout>
+ <LinearLayout
+ android:id="@+id/linearLayout8"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="5dp"
+ >
+ <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.spouseName}"
+ android:textColor="#FF000000"
+ android:textSize="12sp"
+ tools:text="寮犱笁" />
+ </LinearLayout>
+ </LinearLayout>
<androidx.constraintlayout.utils.widget.ImageFilterView
- android:id="@+id/imageFilterView2"
+ android:id="@+id/imageFilterView"
android:layout_width="100dp"
android:layout_height="100dp"
android:background="@color/teal_200"
- app:imageUrl="@{bean.url}"
+ app:imageUrl="@{bean.img}"
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>
diff --git a/app/src/main/res/layout/item_honor_collection.xml b/app/src/main/res/layout/item_honor_collection.xml
index c0704a6..f5d3a31 100644
--- a/app/src/main/res/layout/item_honor_collection.xml
+++ b/app/src/main/res/layout/item_honor_collection.xml
@@ -20,6 +20,7 @@
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"
@@ -29,54 +30,87 @@
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/layout_title"
android:layout_width="match_parent"
- android:layout_height="@dimen/dp_40"
+ android:layout_height="40dp"
android:gravity="center_vertical">
- <TextView
- android:id="@+id/textView2"
- android:layout_width="wrap_content"
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/textView1"
+ android:layout_width="0dp"
android:layout_height="wrap_content"
- android:layout_marginStart="24dp"
+ android:layout_marginStart="20dp"
android:text="@{bean.type}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_16"
- android:textStyle="bold"
+ android:textSize="16sp"
+ android:gravity="start|center_vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
- tools:text="鎴夸骇璇�" />
+ app:layout_constraintEnd_toStartOf="@id/textView2"
+ app:layout_constraintHorizontal_weight="1.5"
+ android:ellipsize="end"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMaxTextSize="16sp"
+ app:autoSizeMinTextSize="12sp"
+ app:layout_constraintHorizontal_chainStyle="spread_inside"
+ tools:text="閭エ" />
- <TextView
- android:layout_width="wrap_content"
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/textView2"
+ android:layout_width="0dp"
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"
+ android:textSize="16sp"
app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintHorizontal_bias="0.45"
- app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toStartOf="@+id/tv_time"
+ app:layout_constraintStart_toEndOf="@+id/textView1"
app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintHorizontal_weight="2"
+ android:layout_marginHorizontal="20dp"
+ android:ellipsize="end"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMaxTextSize="16sp"
+ app:autoSizeMinTextSize="12sp"
tools:text="寮犱笁" />
- <TextView
+ <androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_time"
- android:layout_width="wrap_content"
+ android:layout_width="0dp"
android:layout_height="wrap_content"
- android:text="@{bean.getTime}"
+ android:text="@{bean.happenTime == null ? `鈥斺�斺�斺�斺�擿 : bean.happenTime}"
android:textColor="@color/black"
android:textSize="16sp"
- android:layout_marginEnd="20dp"
- android:textStyle="bold"
+ android:layout_marginEnd="10dp"
+ android:gravity="center_vertical|center"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toStartOf="@id/iv_fold"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintStart_toEndOf="@id/textView2"
+ app:layout_constraintHorizontal_weight="2"
+ android:maxLines="1"
+ android:ellipsize="end"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMaxTextSize="16sp"
+ app:autoSizeMinTextSize="12sp"
+ tools:text="2019-01-12"
+ />
+ <ImageView
+ android:id="@+id/iv_fold"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:background="@drawable/ic_fold"
+ app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- tools:text="2019-01-12" />
+ android:layout_marginEnd="10dp"
+ />
</androidx.constraintlayout.widget.ConstraintLayout>
+
<LinearLayout
android:id="@+id/layout_content"
@@ -89,92 +123,84 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<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"
+ android:textSize="12sp"
/>
<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"
+ android:textSize="12sp"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<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"
+ android:textSize="12sp"
/>
<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"
+ android:textSize="12sp"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<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"
+ android:textSize="12sp"
/>
<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"
+ android:textSize="12sp"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<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"
+ android:textSize="12sp"
/>
<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"
+ android:textSize="12sp"
/>
</LinearLayout>
@@ -182,45 +208,42 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<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"
+ android:textSize="12sp"
/>
<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"
+ android:textSize="12sp"
/>
</LinearLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
android:text="鐢靛瓙鏂囦欢锛�"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold"
+ android:textSize="12sp"
/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_15"
+ android:layout_marginBottom="15dp"
>
<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:listitem="@layout/item_electronic_file"
tools:itemCount="3"
/>
diff --git a/app/src/main/res/layout/item_hundred_wish.xml b/app/src/main/res/layout/item_hundred_wish.xml
index cc726c8..00fc6d2 100644
--- a/app/src/main/res/layout/item_hundred_wish.xml
+++ b/app/src/main/res/layout/item_hundred_wish.xml
@@ -30,36 +30,49 @@
<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:layout_height="40dp"
+ android:gravity="center_vertical"
+ >
<TextView
- android:id="@+id/textView2"
- android:layout_width="wrap_content"
+ android:layout_width="0dp"
android:layout_height="wrap_content"
- android:layout_marginStart="25dp"
+ android:layout_centerVertical="true"
+ android:ellipsize="end"
+ android:maxLines="1"
android:text="@{bean.title}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_16"
- android:textStyle="bold"
+ android:textSize="16sp"
+ android:layout_marginStart="24dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
- tools:text="鍒涚珛寮犳皬鍏徃" />
-
+ app:layout_constraintWidth_percent="0.5"
+ tools:text="寮犳皬App绔嬮」" />
<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="25dp"
- android:textStyle="bold"
+ android:textColor="@color/black"
+ android:text="@{bean.happenTime}"
+ android:layout_alignParentEnd="true"
+ android:layout_centerVertical="true"
+ tools:text="2023-05-16"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintEnd_toStartOf="@id/iv_fold"
+ android:layout_marginEnd="10dp"
+ />
+ <ImageView
+ android:id="@+id/iv_fold"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:background="@drawable/ic_fold"
+ app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- tools:text="2019-01-12" />
+ android:layout_marginEnd="10dp"
+ />
</androidx.constraintlayout.widget.ConstraintLayout>
@@ -74,92 +87,84 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<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"
+ android:textSize="12sp"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="@{bean.reason}"
+ android:text="@{bean.cause}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold"
+ android:textSize="12sp"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<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"
+ android:textSize="12sp"
/>
<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"
+ android:textSize="12sp"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<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"
+ android:textSize="12sp"
/>
<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"
+ android:textSize="12sp"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<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"
+ android:textSize="12sp"
/>
<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"
+ android:textSize="12sp"
/>
</LinearLayout>
@@ -168,69 +173,64 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<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"
+ android:textSize="12sp"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="@{bean.isEffective==1?`鏄痐:`鍚}"
+ android:text="@{bean.isEffective}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold"
+ android:textSize="12sp"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<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"
+ android:textSize="12sp"
/>
<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"
+ android:textSize="12sp"
/>
</LinearLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
android:text="鐢靛瓙鏂囦欢锛�"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold"
+ android:textSize="12sp"
/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_15"
+ android:layout_marginBottom="15dp"
>
<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:listitem="@layout/item_electronic_file"
tools:itemCount="3"
/>
diff --git a/app/src/main/res/layout/item_image.xml b/app/src/main/res/layout/item_image.xml
index 8d7e93e..b5d7f38 100644
--- a/app/src/main/res/layout/item_image.xml
+++ b/app/src/main/res/layout/item_image.xml
@@ -10,8 +10,18 @@
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
- android:layout_height="wrap_content">
- <ImageView
+ android:layout_height="wrap_content"
+ >
+ <androidx.constraintlayout.utils.widget.ImageFilterView
+ android:layout_width="87dp"
+ android:layout_height="87dp"
+ android:layout_marginTop="7.5dp"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:round="10dp"
+ android:background="@color/white"
+ />
+ <androidx.constraintlayout.utils.widget.ImageFilterView
android:id="@+id/iv_image"
android:layout_width="87dp"
android:layout_height="87dp"
@@ -19,12 +29,14 @@
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:imageUrl="@{url}"
+ app:imageUri="@{url}"
+ app:round="10dp"
/>
<ImageView
android:id="@+id/iv_delete"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/ic_image_delete"
+ android:background="@drawable/ic_image_select"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toEndOf="@id/iv_image"
android:layout_marginStart="-7.5dp"
diff --git a/app/src/main/res/layout/item_income_and_expenses.xml b/app/src/main/res/layout/item_income_and_expenses.xml
index a2908dc..dc8ecf3 100644
--- a/app/src/main/res/layout/item_income_and_expenses.xml
+++ b/app/src/main/res/layout/item_income_and_expenses.xml
@@ -20,6 +20,7 @@
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"
@@ -29,54 +30,98 @@
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/layout_title"
android:layout_width="match_parent"
- android:layout_height="@dimen/dp_40"
+ android:layout_height="40dp"
android:gravity="center_vertical">
-
- <TextView
- android:id="@+id/textView2"
- android:layout_width="wrap_content"
+ <CheckBox
+ android:id="@+id/checkbox"
+ android:layout_width="18dp"
+ android:layout_height="18dp"
+ android:layout_marginStart="3dp"
+ android:layout_centerVertical="true"
+ android:button="@drawable/selector_checkbox"
+ android:background="?selectableItemBackgroundBorderless"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ />
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/textView1"
+ android:layout_width="0dp"
android:layout_height="wrap_content"
- android:layout_marginStart="24dp"
- android:text="@{bean.type==0?`鍩洪噾`:`鍙拌处`}"
+ android:layout_marginStart="30dp"
+ android:text="@{bean.type}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_16"
-
+ android:textSize="16sp"
+ android:gravity="start|center_vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
- tools:text="鎴夸骇璇�" />
+ app:layout_constraintEnd_toStartOf="@id/textView2"
+ app:layout_constraintHorizontal_weight="1.5"
+ android:ellipsize="end"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMaxTextSize="16sp"
+ app:autoSizeMinTextSize="12sp"
+ app:layout_constraintHorizontal_chainStyle="spread_inside"
+ tools:text="鍙拌处" />
- <TextView
- android:layout_width="wrap_content"
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/textView2"
+ android:layout_width="0dp"
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"
-
+ android:textSize="16sp"
app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintHorizontal_bias="0.5"
- app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toStartOf="@+id/tv_time"
+ app:layout_constraintStart_toEndOf="@+id/textView1"
app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintHorizontal_weight="2"
+ android:layout_marginHorizontal="20dp"
+ android:ellipsize="end"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMaxTextSize="16sp"
+ app:autoSizeMinTextSize="12sp"
tools:text="寮犱笁" />
- <TextView
+ <androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_time"
- android:layout_width="wrap_content"
+ android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="@{bean.usePeople}"
android:textColor="@color/black"
android:textSize="16sp"
- android:layout_marginEnd="20dp"
-
+ android:layout_marginEnd="10dp"
+ android:gravity="center_vertical|center"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toStartOf="@id/iv_fold"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintStart_toEndOf="@id/textView2"
+ app:layout_constraintHorizontal_weight="2"
+ android:maxLines="1"
+ android:ellipsize="end"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMaxTextSize="16sp"
+ app:autoSizeMinTextSize="12sp"
+ tools:text="2019-01-12"
+ />
+ <ImageView
+ android:id="@+id/iv_fold"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:background="@drawable/ic_fold"
+ app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- tools:text="2019-01-12" />
+ android:layout_marginEnd="10dp"
+ />
</androidx.constraintlayout.widget.ConstraintLayout>
+
<LinearLayout
android:id="@+id/layout_content"
@@ -89,14 +134,14 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="搴忓彿锛�"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
+ android:textSize="12sp"
/>
<TextView
@@ -104,7 +149,7 @@
android:layout_height="wrap_content"
android:text="@{String.valueOf(bean.id)}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
+ android:textSize="12sp"
/>
</LinearLayout>
@@ -112,22 +157,22 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="鏃堕棿锛�"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
+ android:textSize="12sp"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="@{bean.createTime}"
+ android:text="@{bean.happenTime}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
+ android:textSize="12sp"
/>
</LinearLayout>
@@ -135,14 +180,14 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="鐢ㄩ�旓細"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
+ android:textSize="12sp"
/>
<TextView
@@ -150,7 +195,7 @@
android:layout_height="wrap_content"
android:text="@{bean.useFor}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
+ android:textSize="12sp"
/>
</LinearLayout>
@@ -158,22 +203,22 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="鐜伴噾/鑷姩鍒掓墸锛�"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
+ android:textSize="12sp"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="@{bean.kind==0?`鐜伴噾`:`鑷姩鍒掓墸`}"
+ android:text="@{bean.kind}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
+ android:textSize="12sp"
/>
</LinearLayout>
@@ -181,14 +226,14 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="浣欓锛�"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
+ android:textSize="12sp"
/>
<TextView
@@ -196,7 +241,7 @@
android:layout_height="wrap_content"
android:text="@{bean.balance}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
+ android:textSize="12sp"
/>
</LinearLayout>
@@ -204,14 +249,14 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="澶囨敞锛�"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
+ android:textSize="12sp"
/>
<TextView
@@ -219,34 +264,85 @@
android:layout_height="wrap_content"
android:text="@{bean.remark}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
+ android:textSize="12sp"
/>
</LinearLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
android:text="鐢靛瓙鏂囦欢锛�"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
+ android:textSize="12sp"
/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_15"
+ android:layout_marginBottom="15dp"
>
<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:listitem="@layout/item_electronic_file"
tools:itemCount="3"
/>
</LinearLayout>
+ <LinearLayout
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center"
+ android:layout_marginBottom="@dimen/dp_12"
+ >
+ <LinearLayout
+ android:id="@+id/layout_modify"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ >
+ <ImageView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:background="@drawable/ic_modify"
+ android:layout_gravity="center"
+ />
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="淇敼"
+ android:textColor="@color/black"
+ android:textSize="@dimen/sp_14"
+
+ android:layout_marginStart="@dimen/dp_4"
+ />
+ </LinearLayout>
+ <LinearLayout
+ android:id="@+id/layout_delete"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_alignParentEnd="true"
+ android:layout_marginStart="@dimen/dp_52"
+ >
+ <ImageView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:background="@drawable/ic_delete"
+ android:layout_gravity="center"
+ />
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="鍒犻櫎"
+ android:textColor="#FFE86F72"
+ android:textSize="@dimen/sp_14"
+
+ android:layout_marginStart="@dimen/dp_4"
+ />
+ </LinearLayout>
+ </LinearLayout>
</LinearLayout>
</LinearLayout>
diff --git a/app/src/main/res/layout/item_little_doctor.xml b/app/src/main/res/layout/item_little_doctor.xml
index 758bb1e..87ea079 100644
--- a/app/src/main/res/layout/item_little_doctor.xml
+++ b/app/src/main/res/layout/item_little_doctor.xml
@@ -20,6 +20,7 @@
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"
@@ -29,52 +30,95 @@
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/layout_title"
android:layout_width="match_parent"
- android:layout_height="@dimen/dp_40"
+ android:layout_height="40dp"
android:gravity="center_vertical">
-
- <TextView
- android:id="@+id/textView2"
- android:layout_width="wrap_content"
+ <CheckBox
+ android:id="@+id/checkbox"
+ android:layout_width="18dp"
+ android:layout_height="18dp"
+ android:layout_marginStart="3dp"
+ android:layout_centerVertical="true"
+ android:button="@drawable/selector_checkbox"
+ android:background="?selectableItemBackgroundBorderless"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ />
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/textView1"
+ android:layout_width="0dp"
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"
+ android:textSize="16sp"
+ android:gravity="start|center_vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
- tools:text="鎴夸骇璇�" />
+ app:layout_constraintEnd_toStartOf="@id/textView2"
+ app:layout_constraintHorizontal_weight="1.5"
+ android:ellipsize="end"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMaxTextSize="16sp"
+ app:autoSizeMinTextSize="12sp"
+ app:layout_constraintHorizontal_chainStyle="spread_inside"
+ tools:text="鐗欑柤" />
- <TextView
- android:layout_width="wrap_content"
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/textView2"
+ android:layout_width="0dp"
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"
+ android:textSize="16sp"
app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintHorizontal_bias="0.45"
- app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toStartOf="@+id/tv_time"
+ app:layout_constraintStart_toEndOf="@+id/textView1"
app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintHorizontal_weight="2"
+ android:layout_marginHorizontal="20dp"
+ android:ellipsize="end"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMaxTextSize="16sp"
+ app:autoSizeMinTextSize="12sp"
tools:text="寮犱笁" />
- <TextView
+ <androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_time"
- android:layout_width="wrap_content"
+ android:layout_width="0dp"
android:layout_height="wrap_content"
- android:text="@{bean.duration}"
+ android:text="@{bean.duration == null ? `鈥斺�斺�擿 : bean.duration}"
android:textColor="@color/black"
android:textSize="16sp"
- android:layout_marginEnd="20dp"
- android:textStyle="bold"
+ android:layout_marginEnd="10dp"
+ android:gravity="center_vertical|center"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toStartOf="@id/iv_fold"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintStart_toEndOf="@id/textView2"
+ app:layout_constraintHorizontal_weight="2"
+ android:maxLines="1"
+ android:ellipsize="end"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMaxTextSize="16sp"
+ app:autoSizeMinTextSize="12sp"
+ tools:text="2019-01-12"
+ />
+ <ImageView
+ android:id="@+id/iv_fold"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:background="@drawable/ic_fold"
+ app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- tools:text="2019-01-12" />
+ android:layout_marginEnd="10dp"
+ />
</androidx.constraintlayout.widget.ConstraintLayout>
@@ -89,53 +133,49 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<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"
+ android:textSize="12sp"
/>
<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"
+ android:textSize="12sp"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<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"
+ android:textSize="12sp"
/>
<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"
+ android:textSize="12sp"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
android:layout_marginTop="5dp"
>
<TextView
@@ -143,8 +183,7 @@
android:layout_height="wrap_content"
android:text="涓尰澶勬柟锛�"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold"
+ android:textSize="12sp"
/>
<TextView
android:layout_marginTop="3dp"
@@ -152,15 +191,14 @@
android:layout_height="wrap_content"
android:text="@{bean.cmedical}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold"
+ android:textSize="12sp"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
android:layout_marginTop="5dp"
>
<TextView
@@ -168,8 +206,7 @@
android:layout_height="wrap_content"
android:text="瑗垮尰澶勬柟锛�"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold"
+ android:textSize="12sp"
/>
<TextView
android:layout_marginTop="3dp"
@@ -177,15 +214,14 @@
android:layout_height="wrap_content"
android:text="@{bean.wmedical}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold"
+ android:textSize="12sp"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
android:layout_marginTop="5dp"
>
<TextView
@@ -193,16 +229,14 @@
android:layout_height="wrap_content"
android:text="鍔熸晥锛�"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold"
+ android:textSize="12sp"
/>
<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"
+ android:textSize="12sp"
/>
</LinearLayout>
@@ -210,49 +244,97 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<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"
+ android:textSize="12sp"
/>
<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"
+ android:textSize="12sp"
/>
</LinearLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
android:text="鐢靛瓙鏂囦欢锛�"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold"
+ android:textSize="12sp"
/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_15"
+ android:layout_marginBottom="15dp"
>
<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:listitem="@layout/item_electronic_file"
tools:itemCount="3"
/>
</LinearLayout>
+ <LinearLayout
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center"
+ android:layout_marginBottom="@dimen/dp_12"
+ >
+ <LinearLayout
+ android:id="@+id/layout_modify"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ >
+ <ImageView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:background="@drawable/ic_modify"
+ android:layout_gravity="center"
+ />
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="淇敼"
+ android:textColor="@color/black"
+ android:textSize="@dimen/sp_14"
+
+ android:layout_marginStart="@dimen/dp_4"
+ />
+ </LinearLayout>
+ <LinearLayout
+ android:id="@+id/layout_delete"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_alignParentEnd="true"
+ android:layout_marginStart="@dimen/dp_52"
+ >
+ <ImageView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:background="@drawable/ic_delete"
+ android:layout_gravity="center"
+ />
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="鍒犻櫎"
+ android:textColor="#FFE86F72"
+ android:textSize="@dimen/sp_14"
+
+ android:layout_marginStart="@dimen/dp_4"
+ />
+ </LinearLayout>
+ </LinearLayout>
</LinearLayout>
</LinearLayout>
diff --git a/app/src/main/res/layout/item_memo.xml b/app/src/main/res/layout/item_memo.xml
new file mode 100644
index 0000000..7eacda8
--- /dev/null
+++ b/app/src/main/res/layout/item_memo.xml
@@ -0,0 +1,119 @@
+<?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.MemoBean"
+ />
+ </data>
+
+ <androidx.cardview.widget.CardView
+ android:id="@+id/cardView"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ app:cardBackgroundColor="@color/white"
+ app:cardCornerRadius="10dp"
+ app:cardElevation="3dp"
+ android:layout_margin="2dp"
+ tools:layout_height="wrap_content"
+ >
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:paddingHorizontal="10dp"
+ >
+ <LinearLayout
+ android:id="@+id/layout_title"
+ android:layout_width="match_parent"
+ android:layout_height="50dp"
+ android:gravity="center_vertical"
+ >
+ <LinearLayout
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ >
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/tv_date"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textColor="#FF000000"
+ android:textSize="20sp"
+ android:text="@={bean.happenTime}"
+ android:background="@null"
+ tools:text="2022-01-01"
+ android:textColorHint="#6b000000"
+ android:ellipsize="end"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMaxTextSize="20sp"
+ app:autoSizeMinTextSize="16sp"
+ />
+ <View
+ android:id="@+id/view_line"
+ android:layout_width="match_parent"
+ android:layout_height="1dp"
+ android:background="#6B000000"
+ />
+ </LinearLayout>
+ <View
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="10dp"
+ />
+ <ImageView
+ android:id="@+id/iv_delete"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:background="@drawable/ic_delete_tourism"
+ android:layout_marginStart="10dp"
+ android:visibility="gone"
+ />
+ <ImageView
+ android:id="@+id/iv_fold"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:background="@drawable/ic_fold"
+ android:layout_marginStart="15dp"
+ />
+ </LinearLayout>
+ <LinearLayout
+ android:id="@+id/layout_content"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:paddingBottom="15dp"
+ >
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="鍐呭"
+ android:textColor="@color/black"
+ android:textSize="12sp"
+ android:alpha="0.54"
+ android:layout_marginTop="10dp"
+ />
+ <EditText
+ android:id="@+id/et_content"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="@={bean.content}"
+ android:textColor="#DE000000"
+ android:textColorHint="#6b000000"
+ android:textSize="16sp"
+ android:backgroundTint="#6B000000"
+ tools:text="琛ュ姙姝f枃琛ュ姙姝f枃琛ュ姙姝f枃琛ュ姙姝f枃琛ュ姙姝hˉ鍔炴鏂囪ˉ鍔炴鏂囪ˉ鍔炴鏂囪ˉ鍔炴鏂囪ˉ鍔炴琛ュ姙姝f枃琛ュ姙姝f枃琛ュ姙姝f枃琛ュ姙姝f枃琛ュ姙姝hˉ鍔炴鏂囪ˉ鍔炴鏂囪ˉ鍔炴鏂囪ˉ鍔炴鏂囪ˉ鍔炴"
+ />
+ </LinearLayout>
+ </LinearLayout>
+
+
+ </androidx.cardview.widget.CardView>
+</layout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_old_spouse.xml b/app/src/main/res/layout/item_old_spouse.xml
new file mode 100644
index 0000000..2c4395a
--- /dev/null
+++ b/app/src/main/res/layout/item_old_spouse.xml
@@ -0,0 +1,162 @@
+<?xml version="1.0" encoding="utf-8"?>
+<layout xmlns:android="http://schemas.android.com/apk/res/android">
+
+ <data>
+ <variable
+ name="bean"
+ type="com.application.zhangshi_app_android.bean.MarriageInfoBean.OldSpouseBean" />
+ </data>
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ >
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ >
+ <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="@{bean.name}"
+ android:textColor="#B3000000"
+ android:textSize="16sp"
+ 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="@{bean.marryStatus}"
+ android:textColor="#B3000000"
+ android:textSize="16sp"
+ 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="@{bean.birthday}"
+ android:textColor="#B3000000"
+ android:textSize="16sp"
+ 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="@{bean.address}"
+ android:textColor="#B3000000"
+ android:textSize="16sp"
+ android:layout_marginTop="5dp"
+ />
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="1dp"
+ android:background="#6B000000"
+ android:layout_marginTop="8dp"
+ />
+ </LinearLayout>
+ </LinearLayout>
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="3dp"
+ android:background="@drawable/shape_ffebafb4_dash_line"
+ android:layout_marginVertical="18dp"
+ />
+
+ </LinearLayout>
+</layout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_personal_notepad.xml b/app/src/main/res/layout/item_personal_notepad.xml
index 9897fc8..cf53b03 100644
--- a/app/src/main/res/layout/item_personal_notepad.xml
+++ b/app/src/main/res/layout/item_personal_notepad.xml
@@ -30,37 +30,61 @@
<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:layout_height="40dp"
+ android:gravity="center_vertical"
+ >
+ <CheckBox
+ android:id="@+id/checkbox"
+ android:layout_width="18dp"
+ android:layout_height="18dp"
+ android:layout_marginStart="3dp"
+ android:layout_centerVertical="true"
+ android:button="@drawable/selector_checkbox"
+ android:background="?selectableItemBackgroundBorderless"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ />
<TextView
- android:id="@+id/textView2"
- android:layout_width="wrap_content"
+ android:layout_width="0dp"
android:layout_height="wrap_content"
- android:layout_marginStart="25dp"
+ android:layout_centerVertical="true"
+ android:ellipsize="end"
+ android:maxLines="1"
android:text="@{bean.title}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_16"
- android:textStyle="bold"
+ android:textSize="16sp"
+ android:layout_marginStart="24dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
- tools:text="鎴夸骇璇�" />
-
-
+ app:layout_constraintWidth_percent="0.5"
+ tools:text="寮犳皬App绔嬮」" />
<TextView
- android:id="@+id/tv_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="@{bean.time}"
- android:textColor="@color/black"
android:textSize="16sp"
- android:layout_marginEnd="25dp"
- android:textStyle="bold"
+ android:textColor="@color/black"
+ android:text="@{bean.happenTime}"
+ android:layout_alignParentEnd="true"
+ android:layout_centerVertical="true"
+ tools:text="2023-05-16"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintEnd_toStartOf="@id/iv_fold"
+ android:layout_marginEnd="10dp"
+ />
+ <ImageView
+ android:id="@+id/iv_fold"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:background="@drawable/ic_fold"
+ app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- tools:text="2019-01-12" />
+ android:layout_marginEnd="10dp"
+ />
</androidx.constraintlayout.widget.ConstraintLayout>
@@ -75,118 +99,160 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<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"
+ android:textSize="12sp"
/>
<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"
+ android:textSize="12sp"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<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"
+ android:textSize="12sp"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="@{bean.person}"
+ android:text="@{bean.people}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold"
+ android:textSize="12sp"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<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"
+ android:textSize="12sp"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="@{bean.place}"
+ android:text="@{bean.address}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold"
+ android:textSize="12sp"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<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"
+ android:textSize="12sp"
/>
<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"
+ android:textSize="12sp"
/>
</LinearLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
android:text="鐢靛瓙鏂囦欢锛�"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold"
+ android:textSize="12sp"
/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_15"
+ android:layout_marginBottom="15dp"
>
<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:listitem="@layout/item_electronic_file"
tools:itemCount="3"
/>
</LinearLayout>
+ <LinearLayout
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center"
+ android:layout_marginBottom="@dimen/dp_12"
+ >
+ <LinearLayout
+ android:id="@+id/layout_modify"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ >
+ <ImageView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:background="@drawable/ic_modify"
+ android:layout_gravity="center"
+ />
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="淇敼"
+ android:textColor="@color/black"
+ android:textSize="@dimen/sp_14"
+
+ android:layout_marginStart="@dimen/dp_4"
+ />
+ </LinearLayout>
+ <LinearLayout
+ android:id="@+id/layout_delete"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_alignParentEnd="true"
+ android:layout_marginStart="@dimen/dp_52"
+ >
+ <ImageView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:background="@drawable/ic_delete"
+ android:layout_gravity="center"
+ />
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="鍒犻櫎"
+ android:textColor="#FFE86F72"
+ android:textSize="@dimen/sp_14"
+
+ android:layout_marginStart="@dimen/dp_4"
+ />
+ </LinearLayout>
+ </LinearLayout>
</LinearLayout>
</LinearLayout>
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..f3848ab
--- /dev/null
+++ b/app/src/main/res/layout/item_pet.xml
@@ -0,0 +1,83 @@
+<?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="40dp"
+ android:layout_margin="@dimen/dp_2"
+ app:cardCornerRadius="@dimen/dp_10"
+ tools:layout_height="wrap_content"
+ 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="40dp"
+ android:gravity="center_vertical">
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/textView1"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="30dp"
+ android:text="@{bean.name}"
+ android:textColor="@color/black"
+ android:textSize="16sp"
+ android:gravity="start|center_vertical"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintWidth_percent="0.4"
+ android:ellipsize="end"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMaxTextSize="16sp"
+ app:autoSizeMinTextSize="12sp"
+ app:layout_constraintHorizontal_chainStyle="spread_inside"
+ tools:text="灏忛粍" />
+
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/tv_time"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="@{bean.birth}"
+ android:textColor="@color/black"
+ android:textSize="16sp"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintWidth_percent="0.3"
+ android:gravity="end"
+ android:maxLines="1"
+ android:layout_marginEnd="30dp"
+ android:ellipsize="end"
+ tools:text="2019-01-12" />
+
+
+ </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_pet_image.xml b/app/src/main/res/layout/item_pet_image.xml
index ca4df99..dd45a52 100644
--- a/app/src/main/res/layout/item_pet_image.xml
+++ b/app/src/main/res/layout/item_pet_image.xml
@@ -12,17 +12,16 @@
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:paddingBottom="10dp"
>
<androidx.constraintlayout.utils.widget.ImageFilterView
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintDimensionRatio="1:1"
- app:layout_constraintWidth_percent="0.8"
+ app:layout_constraintWidth_percent="1"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:round="10dp"
- android:background="@drawable/img_lotus"
+ app:imageUrl="@{url}"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/app/src/main/res/layout/item_pet_memo.xml b/app/src/main/res/layout/item_pet_memo.xml
index 5e277d5..5eafa66 100644
--- a/app/src/main/res/layout/item_pet_memo.xml
+++ b/app/src/main/res/layout/item_pet_memo.xml
@@ -30,38 +30,49 @@
<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:layout_height="40dp"
+ android:gravity="center_vertical"
+ >
<TextView
- android:id="@+id/textView2"
- android:layout_width="wrap_content"
+ android:layout_width="0dp"
android:layout_height="wrap_content"
- android:layout_marginStart="45dp"
- android:text="@{bean.name}"
+ android:layout_centerVertical="true"
+ android:ellipsize="end"
+ android:maxLines="1"
+ android:text="@{bean.title}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_16"
- android:textStyle="bold"
+ android:textSize="16sp"
+ android:layout_marginStart="24dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
- tools:text="鎴夸骇璇�" />
-
-
-
+ app:layout_constraintWidth_percent="0.5"
+ tools:text="寮犳皬App绔嬮」" />
<TextView
- android:id="@+id/tv_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="@{bean.time}"
- android:textColor="@color/black"
android:textSize="16sp"
- android:layout_marginEnd="45dp"
- android:textStyle="bold"
+ android:textColor="@color/black"
+ android:text="@{bean.happenTime}"
+ android:layout_alignParentEnd="true"
+ android:layout_centerVertical="true"
+ tools:text="2023-05-16"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintEnd_toStartOf="@id/iv_fold"
+ android:layout_marginEnd="10dp"
+ />
+ <ImageView
+ android:id="@+id/iv_fold"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:background="@drawable/ic_fold"
+ app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- tools:text="2019-01-12" />
+ android:layout_marginEnd="10dp"
+ />
</androidx.constraintlayout.widget.ConstraintLayout>
@@ -76,23 +87,21 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<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"
+ android:textSize="12sp"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="@{bean.reminderTime}"
+ android:text="@{bean.remindTime}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold"
+ android:textSize="12sp"
/>
</LinearLayout>
@@ -100,39 +109,36 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<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"
+ android:textSize="12sp"
/>
<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"
+ android:textSize="12sp"
/>
</LinearLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
android:text="鐢靛瓙鏂囦欢锛�"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold"
+ android:textSize="12sp"
/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_15"
+ android:layout_marginBottom="15dp"
>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_image"
diff --git a/app/src/main/res/layout/item_privacy.xml b/app/src/main/res/layout/item_privacy.xml
index 30778e5..dcc41af 100644
--- a/app/src/main/res/layout/item_privacy.xml
+++ b/app/src/main/res/layout/item_privacy.xml
@@ -4,6 +4,7 @@
xmlns:tools="http://schemas.android.com/tools">
<data>
+ <import type="android.text.TextUtils" />
<variable
name="bean"
type="com.application.zhangshi_app_android.bean.PrivacyBean" />
@@ -30,52 +31,84 @@
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/layout_title"
android:layout_width="match_parent"
- android:layout_height="@dimen/dp_40"
+ android:layout_height="40dp"
android:gravity="center_vertical">
- <TextView
- android:id="@+id/textView2"
- android:layout_width="wrap_content"
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/textView1"
+ android:layout_width="0dp"
android:layout_height="wrap_content"
- android:layout_marginStart="24dp"
+ android:layout_marginStart="20dp"
android:text="@{bean.type}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_16"
- android:textStyle="bold"
+ android:textSize="16sp"
+ android:gravity="start|center_vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
- tools:text="鎴夸骇璇�" />
+ app:layout_constraintEnd_toStartOf="@id/textView2"
+ app:layout_constraintHorizontal_weight="1.5"
+ android:ellipsize="end"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMaxTextSize="16sp"
+ app:autoSizeMinTextSize="12sp"
+ app:layout_constraintHorizontal_chainStyle="spread_inside"
+ tools:text="閭エ" />
- <TextView
- android:layout_width="wrap_content"
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/textView2"
+ android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:gravity="center"
- android:text="@{bean.account}"
- 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.time}"
+ android:text="@{bean.accNo}"
android:textColor="@color/black"
android:textSize="16sp"
- android:layout_marginEnd="20dp"
- android:textStyle="bold"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toStartOf="@+id/tv_time"
+ app:layout_constraintStart_toEndOf="@+id/textView1"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintHorizontal_weight="2"
+ android:layout_marginHorizontal="20dp"
+ android:ellipsize="end"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMaxTextSize="16sp"
+ app:autoSizeMinTextSize="12sp"
+ tools:text="寮犱笁" />
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/tv_time"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:text="@{bean.happenTime}"
+ android:textColor="@color/black"
+ android:textSize="16sp"
+ android:layout_marginEnd="10dp"
+ android:gravity="center_vertical|center"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toStartOf="@id/iv_fold"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintStart_toEndOf="@id/textView2"
+ app:layout_constraintHorizontal_weight="2"
+ android:maxLines="1"
+ android:ellipsize="end"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMaxTextSize="16sp"
+ app:autoSizeMinTextSize="12sp"
+ tools:text="2019-01-12"
+ />
+ <ImageView
+ android:id="@+id/iv_fold"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:background="@drawable/ic_fold"
+ app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- tools:text="2019-01-12" />
+ android:layout_marginEnd="10dp"
+ />
</androidx.constraintlayout.widget.ConstraintLayout>
@@ -90,206 +123,189 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<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"
+ android:textSize="12sp"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="@{bean.account}"
+ android:text="@{bean.accNo}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold"
+ android:textSize="12sp"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<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"
+ android:textSize="12sp"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{bean.password}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold"
+ android:textSize="12sp"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<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"
+ android:textSize="12sp"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="@{bean.effectiveTime}"
+ android:text="@{bean.validityDate}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold"
+ android:textSize="12sp"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<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"
+ android:textSize="12sp"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="@{bean.isFingerprint==1?`鏄痐:`鍚}"
+ android:text="@{bean.isFinger}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold"
+ android:textSize="12sp"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<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"
+ android:textSize="12sp"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="@{bean.isFace==1?`鏄痐:`鍚}"
+ android:text="@{bean.isFace}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold"
+ android:textSize="12sp"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<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"
+ android:textSize="12sp"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="@{bean.isPublic==1?`鍏湁`:`绉佹湁`}"
+ android:text="@{bean.isPrivate}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold"
+ android:textSize="12sp"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<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"
+ android:textSize="12sp"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="@{bean.location}"
+ android:text="@{TextUtils.isEmpty(bean.location) ? `鈥斺�擿 : bean.location}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold"
+ android:textSize="12sp"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<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"
+ android:textSize="12sp"
/>
<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"
+ android:textSize="12sp"
/>
</LinearLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
android:text="鐢靛瓙鏂囦欢锛�"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold"
+ android:textSize="12sp"
/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_15"
+ android:layout_marginBottom="15dp"
>
<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:listitem="@layout/item_electronic_file"
tools:itemCount="3"
/>
diff --git a/app/src/main/res/layout/item_property.xml b/app/src/main/res/layout/item_property.xml
index c792099..5bcb8b8 100644
--- a/app/src/main/res/layout/item_property.xml
+++ b/app/src/main/res/layout/item_property.xml
@@ -19,6 +19,7 @@
android:layout_height="40dp"
android:layout_margin="@dimen/dp_2"
app:cardCornerRadius="@dimen/dp_10"
+ tools:layout_height="wrap_content"
app:cardBackgroundColor="@color/color_card_pink"
>
<LinearLayout
@@ -29,52 +30,77 @@
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/layout_title"
android:layout_width="match_parent"
- android:layout_height="@dimen/dp_40"
+ android:layout_height="40dp"
android:gravity="center_vertical">
- <TextView
- android:id="@+id/textView2"
- android:layout_width="wrap_content"
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/textView1"
+ android:layout_width="0dp"
android:layout_height="wrap_content"
- android:layout_marginStart="24dp"
- android:text="@{bean.type}"
+ android:layout_marginStart="20dp"
+ android:text="@{bean.incomeName}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_16"
- android:textStyle="bold"
+ android:textSize="16sp"
+ android:gravity="start|center_vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
- tools:text="鎴夸骇璇�" />
+ app:layout_constraintEnd_toStartOf="@id/textView2"
+ app:layout_constraintWidth_percent="0.2"
+ android:ellipsize="end"
+ android:maxLines="1"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMaxTextSize="16sp"
+ app:autoSizeMinTextSize="12sp"
+ app:layout_constraintHorizontal_chainStyle="spread_inside"
+ tools:text="涓夋湀宸ヨ祫" />
- <TextView
- android:layout_width="wrap_content"
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/textView2"
+ android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
+ android:ellipsize="end"
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:maxLines="1"
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_toStartOf="@+id/tv_time"
+ app:layout_constraintStart_toEndOf="@+id/textView1"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintVertical_bias="0.529"
+ app:layout_constraintWidth_percent="0.25"
+ tools:text="寮犱笁" />
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/tv_time"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:text="@{bean.happenTime}"
+ android:textColor="@color/black"
+ android:textSize="16sp"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toStartOf="@id/iv_fold"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintStart_toEndOf="@id/textView2"
+ app:layout_constraintWidth_percent="0.3"
+ android:gravity="end"
+ android:maxLines="1"
+ android:layout_marginEnd="10dp"
+ android:ellipsize="end"
+ tools:text="2019-01-12" />
+ <ImageView
+ android:id="@+id/iv_fold"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:background="@drawable/ic_fold"
+ app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- tools:text="2019-01-12" />
+ android:layout_marginEnd="10dp"
+ />
</androidx.constraintlayout.widget.ConstraintLayout>
@@ -89,92 +115,63 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="鏃ユ湡锛�"
+ android:text="璐骇绫诲埆锛�"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold"
+ android:textSize="12sp"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="@{bean.createTime}"
+ android:text="@{bean.type}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold"
+ android:textSize="12sp"
/>
</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"
+ android:layout_marginBottom="6dp"
>
<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"
+ android:textSize="12sp"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="@{bean.term}"
+ android:text="@{bean.timeLimit}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold"
+ android:textSize="12sp"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<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"
+ android:textSize="12sp"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="@{bean.status}"
+ android:text="@{bean.isChange}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold"
+ android:textSize="12sp"
/>
</LinearLayout>
@@ -183,92 +180,85 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<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"
+ android:textSize="12sp"
/>
<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"
+ android:textSize="12sp"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<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"
+ android:textSize="12sp"
/>
<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"
+ android:textSize="12sp"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<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"
+ android:textSize="12sp"
/>
<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"
+ android:textSize="12sp"
/>
</LinearLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
android:text="鐢靛瓙鏂囦欢锛�"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold"
+ android:textSize="12sp"
/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_15"
+ android:layout_marginBottom="15dp"
>
<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:listitem="@layout/item_electronic_file"
tools:itemCount="3"
/>
diff --git a/app/src/main/res/layout/item_tourism.xml b/app/src/main/res/layout/item_tourism.xml
index 4c5b2b7..f8feb46 100644
--- a/app/src/main/res/layout/item_tourism.xml
+++ b/app/src/main/res/layout/item_tourism.xml
@@ -30,38 +30,61 @@
<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:layout_height="40dp"
+ android:gravity="center_vertical"
+ >
+ <CheckBox
+ android:id="@+id/checkbox"
+ android:layout_width="18dp"
+ android:layout_height="18dp"
+ android:layout_marginStart="3dp"
+ android:layout_centerVertical="true"
+ android:button="@drawable/selector_checkbox"
+ android:background="?selectableItemBackgroundBorderless"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ />
<TextView
- android:id="@+id/textView2"
- android:layout_width="wrap_content"
+ android:layout_width="0dp"
android:layout_height="wrap_content"
- android:layout_marginStart="25dp"
+ android:layout_centerVertical="true"
+ android:ellipsize="end"
+ android:maxLines="1"
android:text="@{bean.title}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_16"
- android:textStyle="bold"
+ android:textSize="16sp"
+ android:layout_marginStart="24dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
- tools:text="鎴夸骇璇�" />
-
-
-
+ app:layout_constraintWidth_percent="0.5"
+ tools:text="寮犳皬App绔嬮」" />
<TextView
- android:id="@+id/tv_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="@{bean.startTime}"
- android:textColor="@color/black"
android:textSize="16sp"
- android:layout_marginEnd="25dp"
- android:textStyle="bold"
+ android:textColor="@color/black"
+ android:text="@{bean.startTime}"
+ android:layout_alignParentEnd="true"
+ android:layout_centerVertical="true"
+ tools:text="2023-05-16"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintEnd_toStartOf="@id/iv_fold"
+ android:layout_marginEnd="10dp"
+ />
+ <ImageView
+ android:id="@+id/iv_fold"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:background="@drawable/ic_fold"
+ app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- tools:text="2019-01-12" />
+ android:layout_marginEnd="10dp"
+ />
</androidx.constraintlayout.widget.ConstraintLayout>
@@ -76,98 +99,90 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<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"
+ android:textSize="12sp"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{bean.startTime}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold"
+ android:textSize="12sp"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<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"
+ android:textSize="12sp"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{bean.endTime}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold"
+ android:textSize="12sp"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<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"
+ android:textSize="12sp"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{bean.totalDay}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold"
+ android:textSize="12sp"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<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"
+ android:textSize="12sp"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="@{bean.totalMoney}"
+ android:text="@{bean.totalCost}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold"
+ android:textSize="12sp"
/>
</LinearLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<LinearLayout
android:id="@+id/layout_1"
@@ -184,16 +199,16 @@
android:layout_height="wrap_content"
android:text="椁愯垂锛�"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold" />
+ android:textSize="12sp"
+ />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="@{bean.mealMoney}"
+ android:text="@{bean.eat}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold" />
+ android:textSize="12sp"
+ />
</LinearLayout>
<LinearLayout
android:id="@+id/layout_2"
@@ -209,16 +224,16 @@
android:layout_height="wrap_content"
android:text="浣忓锛�"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold" />
+ android:textSize="12sp"
+ />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="@{bean.hotelMoney}"
+ android:text="@{bean.stay}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold" />
+ android:textSize="12sp"
+ />
</LinearLayout>
<LinearLayout
android:id="@+id/layout_3"
@@ -234,16 +249,16 @@
android:layout_height="wrap_content"
android:text="浜ら�氾細"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold" />
+ android:textSize="12sp"
+ />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="@{bean.trafficMoney}"
+ android:text="@{bean.traffic}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold" />
+ android:textSize="12sp"
+ />
</LinearLayout>
<LinearLayout
android:id="@+id/layout_4"
@@ -259,16 +274,16 @@
android:layout_height="wrap_content"
android:text="闂ㄧエ锛�"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold" />
+ android:textSize="12sp"
+ />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="@{bean.ticketMoney}"
+ android:text="@{bean.entrance}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold" />
+ android:textSize="12sp"
+ />
</LinearLayout>
<LinearLayout
android:id="@+id/layout_5"
@@ -283,16 +298,16 @@
android:layout_height="wrap_content"
android:text="璐墿锛�"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold" />
+ android:textSize="12sp"
+ />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="@{bean.shoppingMoney}"
+ android:text="@{bean.shopping}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold" />
+ android:textSize="12sp"
+ />
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
<LinearLayout
diff --git a/app/src/main/res/layout/item_tourism_experience.xml b/app/src/main/res/layout/item_tourism_experience.xml
index adeadf5..7172ce7 100644
--- a/app/src/main/res/layout/item_tourism_experience.xml
+++ b/app/src/main/res/layout/item_tourism_experience.xml
@@ -30,38 +30,61 @@
<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:layout_height="40dp"
+ android:gravity="center_vertical"
+ >
+ <CheckBox
+ android:id="@+id/checkbox"
+ android:layout_width="18dp"
+ android:layout_height="18dp"
+ android:layout_marginStart="3dp"
+ android:layout_centerVertical="true"
+ android:button="@drawable/selector_checkbox"
+ android:background="?selectableItemBackgroundBorderless"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ />
<TextView
- android:id="@+id/textView2"
- android:layout_width="wrap_content"
+ android:layout_width="0dp"
android:layout_height="wrap_content"
- android:layout_marginStart="25dp"
+ android:layout_centerVertical="true"
+ android:ellipsize="end"
+ android:maxLines="1"
android:text="@{bean.title}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_16"
- android:textStyle="bold"
+ android:textSize="16sp"
+ android:layout_marginStart="30dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
- tools:text="娓镐簯鍗�" />
-
-
-
+ app:layout_constraintWidth_percent="0.5"
+ tools:text="寮犳皬App绔嬮」" />
<TextView
- android:id="@+id/tv_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="@{bean.time}"
- android:textColor="@color/black"
android:textSize="16sp"
- android:layout_marginEnd="25dp"
- android:textStyle="bold"
+ android:textColor="@color/black"
+ android:text="@{bean.happenTime}"
+ android:layout_alignParentEnd="true"
+ android:layout_centerVertical="true"
+ tools:text="2023-05-16"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintEnd_toStartOf="@id/iv_fold"
+ android:layout_marginEnd="10dp"
+ />
+ <ImageView
+ android:id="@+id/iv_fold"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:background="@drawable/ic_fold"
+ app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- tools:text="2019-01-12" />
+ android:layout_marginEnd="10dp"
+ />
</androidx.constraintlayout.widget.ConstraintLayout>
@@ -70,98 +93,90 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
- android:paddingHorizontal="35dp"
+ android:paddingHorizontal="40dp"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<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"
+ android:textSize="12sp"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{bean.address}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold"
+ android:textSize="12sp"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<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"
+ android:textSize="12sp"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="@{bean.person}"
+ android:text="@{bean.people}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold"
+ android:textSize="12sp"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<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"
+ android:textSize="12sp"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="@{bean.travelTime}"
+ android:text="@{bean.travelPeriod}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold"
+ android:textSize="12sp"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<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"
+ android:textSize="12sp"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{bean.certificate}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold"
+ android:textSize="12sp"
/>
</LinearLayout>
@@ -170,96 +185,140 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<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"
+ android:textSize="12sp"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="@{bean.cost}"
+ android:text="@{bean.totalPrice}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold"
+ android:textSize="12sp"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<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"
+ android:textSize="12sp"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="@{bean.free==1?`鍏垂`:`鑷垂`}"
+ android:text="@{bean.self==0?`鍏垂`:`鑷垂`}"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold"
+ android:textSize="12sp"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
>
<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"
+ android:textSize="12sp"
/>
<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"
+ android:textSize="12sp"
/>
</LinearLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_marginBottom="@dimen/dp_6"
+ android:layout_marginBottom="6dp"
android:text="鐢靛瓙鏂囦欢锛�"
android:textColor="@color/black"
- android:textSize="@dimen/sp_12"
- android:textStyle="bold"
+ android:textSize="12sp"
/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:layout_marginBottom="@dimen/dp_15"
+ android:layout_marginBottom="15dp"
>
<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"
+ tools:listitem="@layout/item_electronic_file"
+ tools:itemCount="1"
/>
</LinearLayout>
+ <LinearLayout
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center"
+ android:layout_marginBottom="@dimen/dp_12"
+ >
+ <LinearLayout
+ android:id="@+id/layout_modify"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ >
+ <ImageView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:background="@drawable/ic_modify"
+ android:layout_gravity="center"
+ />
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="淇敼"
+ android:textColor="@color/black"
+ android:textSize="@dimen/sp_14"
+
+ android:layout_marginStart="@dimen/dp_4"
+ />
+ </LinearLayout>
+ <LinearLayout
+ android:id="@+id/layout_delete"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_alignParentEnd="true"
+ android:layout_marginStart="@dimen/dp_52"
+ >
+ <ImageView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:background="@drawable/ic_delete"
+ android:layout_gravity="center"
+ />
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="鍒犻櫎"
+ android:textColor="#FFE86F72"
+ android:textSize="@dimen/sp_14"
+
+ android:layout_marginStart="@dimen/dp_4"
+ />
+ </LinearLayout>
+ </LinearLayout>
</LinearLayout>
</LinearLayout>
diff --git a/app/src/main/res/layout/pop_annual_health_status.xml b/app/src/main/res/layout/pop_annual_health_status.xml
index 6e41204..ffffc8d 100644
--- a/app/src/main/res/layout/pop_annual_health_status.xml
+++ b/app/src/main/res/layout/pop_annual_health_status.xml
@@ -14,7 +14,23 @@
android:orientation="vertical"
android:gravity="center"
>
- <TextView
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/tv_edit"
+ android:layout_width="wrap_content"
+ android:layout_height="30dp"
+ android:gravity="center"
+ android:text="缂栬緫"
+ android:textColor="#FF333333"
+ android:textSize="12sp"
+ app:drawableStartCompat="@drawable/ic_modify"
+ android:drawablePadding="5dp"
+ />
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.3dp"
+ android:background="#FF939393"
+ />
+ <androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_annual_health_status"
android:layout_width="wrap_content"
android:layout_height="30dp"
@@ -22,7 +38,6 @@
android:text="骞村害鍋ュ悍鎯呭喌"
android:textColor="#FF333333"
android:textSize="12sp"
- android:layout_marginHorizontal="10dp"
/>
</LinearLayout>
diff --git a/app/src/main/res/layout/pop_basic_information.xml b/app/src/main/res/layout/pop_basic_information.xml
index 3cc6062..a4289b2 100644
--- a/app/src/main/res/layout/pop_basic_information.xml
+++ b/app/src/main/res/layout/pop_basic_information.xml
@@ -1,1546 +1,1571 @@
<?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
+<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="spouseBean"
+ type="com.application.zhangshi_app_android.bean.HomeRootBean" />
+ <variable
+ name="selfBean"
+ type="com.application.zhangshi_app_android.bean.HomeRootBean" />
+ </data>
+
+ <ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:orientation="vertical"
android:background="@color/transparent"
>
- <androidx.cardview.widget.CardView
+
+ <LinearLayout
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:orientation="vertical"
+ android:background="@color/transparent">
+
+ <androidx.cardview.widget.CardView
android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:layout_marginEnd="7dp"
- android:layout_marginStart="10dp"
- android:layout_marginVertical="24dp"
- >
+ android:layout_height="wrap_content"
+ app:cardCornerRadius="6dp"
+ app:cardBackgroundColor="#F6FFFFFF"
+ app:cardElevation="10dp"
+ android:layout_marginHorizontal="10dp"
+ android:layout_marginVertical="15dp">
- <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"
+ <androidx.constraintlayout.widget.ConstraintLayout
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_marginEnd="7dp"
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"
- />
+ android:layout_marginVertical="24dp">
- <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
+ <androidx.constraintlayout.utils.widget.ImageFilterView
+ android:id="@+id/iv_photo"
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" />
+ android:layout_height="0dp"
+ app:layout_constraintDimensionRatio="1"
+ app:layout_constraintWidth_percent="0.3"
+ android:background="@color/teal_200"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="@id/layout_personal_3"
+ app:round="10dp"
+ app:imageUrl="@{selfBean.img}"
+ />
- <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
+ <TextView
+ android:id="@+id/tv_basic_personal_information"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/img_data_null"
+ android:layout_marginStart="10dp"
+ android:text="涓汉鍩烘湰淇℃伅"
+ android:textColor="#99000000"
+ android:textSize="10sp"
+ app:layout_constraintStart_toEndOf="@+id/iv_photo"
+ app:layout_constraintTop_toTopOf="parent"
/>
+
+ <LinearLayout
+ android:id="@+id/layout_personal_1"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="@+id/tv_basic_personal_information"
+ app:layout_constraintTop_toBottomOf="@id/tv_basic_personal_information"
+ android:layout_marginTop="10dp"
+ >
+
+ <LinearLayout
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ 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="match_parent"
+ >
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:paddingHorizontal="6dp"
+ android:text="@{selfBean.nickName}"
+ android:textColor="#FF000000"
+ android:textSize="12sp"
+ android:layout_gravity="center_vertical"
+ app:textOverflowMode="@{4}"
+ tools:text="aaaaaaaaaaaaaaaaaaaaaaaaa"
+ />
+
+ <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="wrap_content"
+ 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="match_parent"
+ >
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:paddingHorizontal="6dp"
+ android:text="@{selfBean.sex==1?`鐢穈:`濂砢}"
+ android:textColor="#FF000000"
+ android:textSize="12sp"
+ android:layout_gravity="center_vertical"
+ app:textOverflowMode="@{4}"
+ />
+
+ <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"
+ android:layout_marginTop="8dp"
+ >
+
+ <LinearLayout
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ 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="match_parent"
+ >
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:paddingHorizontal="6dp"
+ android:text="@{`绗琡+ selfBean.identity + `浠}"
+ android:textColor="#FF000000"
+ android:textSize="12sp"
+ android:layout_gravity="center_vertical"
+ app:textOverflowMode="@{4}"
+ />
+
+ <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="wrap_content"
+ 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="match_parent">
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="@{selfBean.birth}"
+ android:textColor="#FF000000"
+ android:textSize="12sp"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMaxTextSize="16sp"
+ app:autoSizeMinTextSize="10sp"
+ android:ellipsize="end"
+ android:maxLines="1"
+ android:layout_gravity="center"
+ tools:text="2001-01-01"
+ />
+
+ <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_constraintStart_toStartOf="@+id/tv_basic_personal_information"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/layout_personal_2"
+ android:layout_marginTop="8dp"
+ >
+
+ <LinearLayout
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ 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="match_parent"
+ >
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:paddingHorizontal="6dp"
+ android:layout_gravity="center_vertical"
+ app:textOverflowMode="@{4}"
+ android:text="@{selfBean.oldName}"
+ 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="wrap_content"
+ 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="match_parent">
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:paddingHorizontal="6dp"
+ android:text="@{selfBean.nation}"
+ android:textColor="#FF000000"
+ android:textSize="12sp"
+ android:layout_gravity="center_vertical"
+ app:textOverflowMode="@{4}"
+ />
+
+ <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/layout_personal_3">
+
+ <LinearLayout
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ 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="match_parent">
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:paddingHorizontal="6dp"
+ android:layout_gravity="center_vertical"
+ app:textOverflowMode="@{4}"
+ android:text="@{selfBean.maritalStatusStr}"
+ 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="wrap_content"
+ 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="match_parent">
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_vertical"
+ app:textOverflowMode="@{4}"
+ android:paddingHorizontal="6dp"
+ android:text="@{spouseBean.nickName}"
+ 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="wrap_content"
+ 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="match_parent">
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_vertical"
+ app:textOverflowMode="@{4}"
+ android:paddingHorizontal="6dp"
+ android:text="@{selfBean.locationAddress}"
+ 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="wrap_content"
+ 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="match_parent">
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_vertical"
+ app:textOverflowMode="@{4}"
+ android:paddingHorizontal="6dp"
+ android:text="@{selfBean.phoneNumber}"
+ 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="wrap_content"
+ 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="match_parent">
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_vertical"
+ app:textOverflowMode="@{4}"
+ android:paddingHorizontal="6dp"
+ android:text="@{selfBean.alwaysAddress}"
+ 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="wrap_content"
+ 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="match_parent">
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_vertical"
+ app:textOverflowMode="@{4}"
+ android:paddingHorizontal="6dp"
+ android:text="@{selfBean.wxNo}"
+ 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="wrap_content"
+ 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="match_parent">
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_vertical"
+ app:textOverflowMode="@{4}"
+ android:paddingHorizontal="6dp"
+ android:text="@{selfBean.politicalOutlook}"
+ 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="wrap_content"
+ 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="match_parent">
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_vertical"
+ app:textOverflowMode="@{4}"
+ android:paddingHorizontal="6dp"
+ android:text="@{selfBean.qqNo}"
+ 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="wrap_content"
+ 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="match_parent">
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_vertical"
+ app:textOverflowMode="@{4}"
+ android:paddingHorizontal="6dp"
+ android:text="@{selfBean.unit}"
+ 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="wrap_content"
+ 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="match_parent">
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_vertical"
+ app:textOverflowMode="@{4}"
+ android:paddingHorizontal="6dp"
+ android:text="@{selfBean.position}"
+ android:textColor="#FF000000"
+ android:textSize="12sp"
+ tools:text="鑱屽姟"
+ />
+
+ <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_marginVertical="15dp"
+ android:layout_marginHorizontal="10dp"
+ >
+
+ <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="@{spouseBean==null?2:1}"
+ >
+
+ <androidx.constraintlayout.utils.widget.ImageFilterView
+ android:id="@+id/iv_spouse_photo"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ app:layout_constraintDimensionRatio="1"
+ app:layout_constraintWidth_percent="0.3"
+ android:background="@color/teal_200"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="@id/layout_spouse_3"
+ app:round="10dp"
+ app:imageUrl="@{spouseBean.img}"
+ />
+
+ <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"
+ />
+
+ <LinearLayout
+ android:id="@+id/layout_spouse_1"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ 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"
+ android:layout_marginTop="10dp"
+ android:layout_marginEnd="10dp"
+ >
+
+ <LinearLayout
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ 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="match_parent"
+ >
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:paddingHorizontal="6dp"
+ android:text="@{spouseBean.nickName}"
+ android:textColor="#FF000000"
+ android:textSize="12sp"
+ android:layout_gravity="center_vertical"
+ app:textOverflowMode="@{4}"
+ />
+
+ <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="wrap_content"
+ 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="match_parent">
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:paddingHorizontal="6dp"
+ android:layout_gravity="center_vertical"
+ app:textOverflowMode="@{4}" android:text="@{spouseBean.sex==1?`鐢穈:`濂砢}"
+ 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_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"
+ android:layout_marginTop="10dp"
+ android:layout_marginEnd="10dp"
+ >
+
+ <LinearLayout
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ 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="match_parent">
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:paddingHorizontal="6dp"
+ android:layout_gravity="center_vertical"
+ app:textOverflowMode="@{4}"
+ android:text="@{`绗琡 + spouseBean.identity + `浠}"
+ 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="wrap_content"
+ 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="match_parent">
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="@{spouseBean.birth}"
+ android:textColor="#FF000000"
+ android:textSize="12sp"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMaxTextSize="16sp"
+ app:autoSizeMinTextSize="10sp"
+ android:ellipsize="end"
+ android:maxLines="1"
+ android:layout_gravity="center"
+ tools:text="2001-01-01"
+ />
+ <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_constraintStart_toStartOf="@id/tv_spouse_basic_information"
+ app:layout_constraintEnd_toStartOf="@id/iv_spouse_photo"
+ app:layout_constraintTop_toBottomOf="@id/layout_spouse_2"
+ android:layout_marginTop="10dp"
+ android:layout_marginEnd="10dp"
+ >
+
+ <LinearLayout
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ 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="match_parent">
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:paddingHorizontal="6dp"
+ android:layout_gravity="center_vertical"
+ app:textOverflowMode="@{4}"
+ android:text="@{spouseBean.oldName}"
+ 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="wrap_content"
+ 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="match_parent">
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:paddingHorizontal="6dp"
+ android:layout_gravity="center_vertical"
+ app:textOverflowMode="@{4}"
+ android:text="@{spouseBean.nation}"
+ 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_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="wrap_content"
+ 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="match_parent">
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:paddingHorizontal="6dp"
+ android:layout_gravity="center_vertical"
+ app:textOverflowMode="@{4}"
+ android:text="@{spouseBean.maritalStatusStr}"
+ 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="wrap_content"
+ 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="match_parent">
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_vertical"
+ app:textOverflowMode="@{4}"
+ android:paddingHorizontal="6dp"
+ android:text="@{selfBean.nickName}"
+ 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="wrap_content"
+ 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="match_parent">
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_vertical"
+ app:textOverflowMode="@{4}"
+ android:paddingHorizontal="6dp"
+ android:text="@{spouseBean.locationAddress}"
+ 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="wrap_content"
+ 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="match_parent">
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:paddingHorizontal="6dp"
+ android:layout_gravity="center_vertical"
+ app:textOverflowMode="@{4}"
+ android:text="@{spouseBean.phoneNumber}"
+ 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="wrap_content"
+ 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="match_parent">
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_vertical"
+ app:textOverflowMode="@{4}"
+ android:paddingHorizontal="6dp"
+ android:text="@{spouseBean.alwaysAddress}"
+ 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="wrap_content"
+ 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="match_parent">
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_vertical"
+ app:textOverflowMode="@{4}"
+ android:paddingHorizontal="6dp"
+ android:text="@{spouseBean.wxNo}"
+ 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="wrap_content"
+ 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="match_parent">
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_vertical"
+ app:textOverflowMode="@{4}"
+ android:paddingHorizontal="6dp"
+ android:text="@{spouseBean.politicalOutlook}"
+ 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="wrap_content"
+ 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="match_parent">
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_vertical"
+ app:textOverflowMode="@{4}"
+ android:paddingHorizontal="6dp"
+ android:text="@{spouseBean.qqNo}"
+ 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="wrap_content"
+ 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="match_parent">
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_vertical"
+ app:textOverflowMode="@{4}"
+ android:paddingHorizontal="6dp"
+ android:text="@{spouseBean.unit}"
+ 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="wrap_content"
+ 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="match_parent">
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_vertical"
+ app:textOverflowMode="@{4}"
+ android:paddingHorizontal="6dp"
+ android:text="@{spouseBean.position}"
+ 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"
+ android:visibility="@{spouseBean==null?true:false}"
+ >
+
<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>
+ android:text="閰嶅伓鍩烘湰淇℃伅"
+ android:textColor="#99000000"
+ android:textSize="10sp" />
-</ScrollView>
\ No newline at end of file
+ <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>
+</layout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/pop_operate.xml b/app/src/main/res/layout/pop_operate.xml
index 219d4fc..60c3001 100644
--- a/app/src/main/res/layout/pop_operate.xml
+++ b/app/src/main/res/layout/pop_operate.xml
@@ -57,6 +57,7 @@
android:drawablePadding="5dp"
/>
<View
+ android:id="@+id/view_select_underline"
android:layout_width="match_parent"
android:layout_height="0.3dp"
android:background="#FF939393"
diff --git a/app/src/main/res/layout/pop_operate_delete.xml b/app/src/main/res/layout/pop_operate_delete.xml
index 3316102..f0024eb 100644
--- a/app/src/main/res/layout/pop_operate_delete.xml
+++ b/app/src/main/res/layout/pop_operate_delete.xml
@@ -14,18 +14,20 @@
android:orientation="vertical"
android:gravity="center_horizontal"
>
+
<TextView
android:id="@+id/tv_modify"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:drawablePadding="5dp"
android:gravity="center"
android:text="缂栬緫"
android:textColor="#FF333333"
android:textSize="12sp"
app:drawableStartCompat="@drawable/ic_modify"
- android:drawablePadding="5dp"
- android:layout_weight="1"
/>
+
<View
android:layout_width="match_parent"
android:layout_height="0.3dp"
diff --git a/app/src/main/res/layout/pop_operate_home_root_net.xml b/app/src/main/res/layout/pop_operate_home_root_net.xml
new file mode 100644
index 0000000..0d7f4f3
--- /dev/null
+++ b/app/src/main/res/layout/pop_operate_home_root_net.xml
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:orientation="vertical"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ app:cardBackgroundColor="#FFFAD1E0"
+ app:cardCornerRadius="10dp"
+ app:cardElevation="0dp"
+ >
+ <LinearLayout
+ android:layout_width="120dp"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:gravity="center_horizontal"
+ >
+ <TextView
+ android:id="@+id/tv_first"
+ android:layout_width="match_parent"
+ android:layout_height="32dp"
+ android:gravity="center"
+ android:text="鍙樉绀虹涓�浠�"
+ android:textColor="#FF333333"
+ android:textSize="12sp"
+ />
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.3dp"
+ android:background="#FF939393"
+ />
+ <TextView
+ android:id="@+id/tv_second"
+ android:layout_width="match_parent"
+ android:layout_height="32dp"
+ android:text="鏄剧ず鑷崇浜屼唬"
+ android:gravity="center"
+ android:textColor="#FF333333"
+ android:textSize="12sp"
+ />
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.3dp"
+ android:background="#FF939393"
+ />
+
+ <TextView
+ android:id="@+id/tv_third"
+ android:layout_width="match_parent"
+ android:layout_height="32dp"
+ android:text="鏄剧ず鑷崇涓変唬"
+ android:gravity="center"
+ android:textColor="#FF333333"
+ android:textSize="12sp"
+ />
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.3dp"
+ android:background="#FF939393"
+ />
+ <TextView
+ android:id="@+id/tv_all"
+ android:layout_width="match_parent"
+ android:layout_height="32dp"
+ android:text="鏄剧ず鍏ㄩ儴"
+ android:gravity="center"
+ android:textColor="#FF333333"
+ android:textSize="12sp"
+ />
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.3dp"
+ android:background="#FF939393"
+ />
+ <TextView
+ android:id="@+id/tv_family"
+ android:layout_width="match_parent"
+ android:layout_height="32dp"
+ android:text="瀹惰氨"
+ android:gravity="center"
+ android:textColor="#FF333333"
+ android:textSize="12sp"
+ />
+ </LinearLayout>
+
+</androidx.cardview.widget.CardView>
\ No newline at end of file
diff --git a/app/src/main/res/layout/pop_operate_person_center.xml b/app/src/main/res/layout/pop_operate_person_center.xml
index 57af0d3..fe9de37 100644
--- a/app/src/main/res/layout/pop_operate_person_center.xml
+++ b/app/src/main/res/layout/pop_operate_person_center.xml
@@ -16,7 +16,7 @@
>
<TextView
android:id="@+id/tv_basic_info"
- android:layout_width="wrap_content"
+ android:layout_width="match_parent"
android:layout_height="30dp"
android:gravity="center"
android:text="鍩烘湰淇℃伅"
@@ -28,14 +28,18 @@
android:layout_height="0.3dp"
android:background="#FF939393"
/>
- <TextView
- android:id="@+id/tv_permission_setting"
- android:layout_width="wrap_content"
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/tv_change_login_bg"
+ android:layout_width="match_parent"
android:layout_height="30dp"
- android:text="鏉冮檺璁剧疆"
+ android:text="鐧诲綍椤佃儗鏅洿鎹�"
android:gravity="center"
android:textColor="#FF333333"
android:textSize="12sp"
+ app:autoSizeMaxTextSize="12sp"
+ app:autoSizeMinTextSize="8sp"
+ app:autoSizeStepGranularity="1sp"
+ app:autoSizeTextType="uniform"
/>
</LinearLayout>
diff --git a/app/src/main/res/layout/pop_operate_pet.xml b/app/src/main/res/layout/pop_operate_pet.xml
index 2524c41..3e5d2c1 100644
--- a/app/src/main/res/layout/pop_operate_pet.xml
+++ b/app/src/main/res/layout/pop_operate_pet.xml
@@ -12,7 +12,7 @@
android:layout_width="85dp"
android:layout_height="wrap_content"
android:orientation="vertical"
- android:gravity="center_vertical"
+ android:gravity="center_horizontal"
>
<TextView
android:id="@+id/tv_owner_info"
@@ -22,7 +22,6 @@
android:text="鍏荤姮浜轰俊鎭�"
android:textColor="#FF333333"
android:textSize="12sp"
- android:layout_marginHorizontal="10dp"
/>
<View
android:layout_width="match_parent"
@@ -37,25 +36,6 @@
android:gravity="center"
android:textColor="#FF333333"
android:textSize="12sp"
- android:layout_marginHorizontal="10dp"
- />
- <View
- android:layout_width="match_parent"
- android:layout_height="0.3dp"
- android:background="#FF939393"
- />
-
- <TextView
- android:id="@+id/tv_another"
- android:layout_width="wrap_content"
- android:layout_height="30dp"
- android:text="鏃鸿储"
- android:gravity="center"
- android:textColor="#FF333333"
- android:textSize="12sp"
- app:drawableStartCompat="@drawable/ic_operate_order"
- android:drawablePadding="3dp"
- android:layout_marginHorizontal="10dp"
/>
</LinearLayout>
diff --git a/app/src/main/res/layout/pop_search.xml b/app/src/main/res/layout/pop_search.xml
deleted file mode 100644
index 404d525..0000000
--- a/app/src/main/res/layout/pop_search.xml
+++ /dev/null
@@ -1,184 +0,0 @@
-<?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>
- <import type="android.text.TextUtils" />
- <import type="android.view.View" />
- <variable
- name="viewModel"
- type="com.application.zhangshi_app_android.ui.function.FamilyMemorabiliaActivityViewModel" />
- </data>
-
- <LinearLayout
- android:orientation="vertical"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:background="@color/white">
-
- <View
- android:layout_width="match_parent"
- android:layout_height="0.5dp"
- android:background="#FF939393" />
-
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="40dp"
- android:layout_marginHorizontal="12dp"
- android:gravity="center">
-
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="鏍囬"
- android:textColor="#FF333333"
- android:textSize="14sp" />
-
- <EditText
- android:id="@+id/et_title"
- android:layout_width="0dp"
- android:layout_weight="1"
- android:layout_height="wrap_content"
- android:background="@null"
- android:inputType="text"
- android:layout_marginStart="6dp"
- android:text="@={viewModel.requestBeanMutableLiveData.title}"
- android:hint="璇疯緭鍏ユ爣棰�"
- android:textColorHint="#61000000"
- android:textColor="#FF333333"
- android:textSize="14sp" />
-
- <ImageView
- android:id="@+id/iv_clear_title"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:visibility="@{viewModel.requestBeanMutableLiveData.title != null && viewModel.requestBeanMutableLiveData.title.length() > 0 ? View.VISIBLE : View.GONE}"
- android:background="@drawable/ic_clear" />
- </LinearLayout>
-
- <View
- android:layout_width="match_parent"
- android:layout_height="0.3dp"
- android:background="#FF939393" />
-
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="40dp"
- android:layout_marginHorizontal="12dp"
- android:gravity="center">
-
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="浜虹墿"
- android:textColor="#FF333333"
- android:textSize="14sp" />
-
- <EditText
- android:id="@+id/et_person"
- android:layout_width="0dp"
- android:layout_weight="1"
- android:inputType="text"
- android:layout_height="wrap_content"
- android:background="@null"
- android:layout_marginStart="6dp"
- android:text="@={viewModel.requestBeanMutableLiveData.people}"
- android:hint="璇疯緭鍏ヤ汉鐗�"
- android:textColorHint="#61000000"
- android:textColor="#FF333333"
- android:textSize="14sp" />
-
- <ImageView
- android:id="@+id/iv_clear_person"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:background="@drawable/ic_clear"
- android:visibility="@{TextUtils.isEmpty(viewModel.requestBeanMutableLiveData.people)?View.GONE:View.VISIBLE}"
- />
- </LinearLayout>
-
- <View
- android:layout_width="match_parent"
- android:layout_height="0.3dp"
- android:background="#FF939393" />
-
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="40dp"
- android:layout_marginHorizontal="12dp"
- android:gravity="center">
-
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="鏃堕棿"
- android:textColor="#FF333333"
- android:textSize="14sp" />
-
- <EditText
- android:id="@+id/et_time"
- android:layout_width="0dp"
- android:layout_weight="1"
- android:layout_height="wrap_content"
- android:background="@null"
- android:inputType="text"
- android:layout_marginStart="6dp"
- android:text="@={viewModel.requestBeanMutableLiveData.createTime}"
- android:hint="璇疯緭鍏ユ椂闂�"
- android:textColorHint="#61000000"
- android:textColor="#FF333333"
- android:textSize="14sp" />
-
- <ImageView
- android:id="@+id/iv_clear_time"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:background="@drawable/ic_clear"
- android:visibility="@{TextUtils.isEmpty(viewModel.requestBeanMutableLiveData.createTime)?View.GONE:View.VISIBLE}"
- />
- </LinearLayout>
-
- <View
- android:layout_width="match_parent"
- android:layout_height="0.3dp"
- android:background="#FF939393" />
-
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="40dp"
- android:layout_marginHorizontal="12dp"
- android:gravity="center">
-
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="鍦扮偣"
- android:textColor="#FF333333"
- android:textSize="14sp" />
-
- <EditText
- android:id="@+id/et_place"
- android:layout_width="0dp"
- android:layout_weight="1"
- android:layout_height="wrap_content"
- android:background="@null"
- android:layout_marginStart="6dp"
- android:text="@={viewModel.requestBeanMutableLiveData.address}"
- android:inputType="text"
- android:hint="璇疯緭鍏ュ湴鐐�"
- android:textColorHint="#61000000"
- android:textColor="#FF333333"
- android:textSize="14sp" />
-
- <ImageView
- android:id="@+id/iv_clear_place"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:background="@drawable/ic_clear"
- android:visibility="@{TextUtils.isEmpty(viewModel.requestBeanMutableLiveData.address)?View.GONE:View.VISIBLE}"
- />
- </LinearLayout>
-
-
- </LinearLayout>
-</layout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/pop_switch_video_or_image.xml b/app/src/main/res/layout/pop_switch_video_or_image.xml
new file mode 100644
index 0000000..a837088
--- /dev/null
+++ b/app/src/main/res/layout/pop_switch_video_or_image.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:orientation="vertical"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ app:cardBackgroundColor="#FFFAD1E0"
+ app:cardCornerRadius="10dp"
+ app:cardElevation="0dp"
+ >
+ <LinearLayout
+ android:layout_width="85dp"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:gravity="center_horizontal"
+ >
+ <TextView
+ android:id="@+id/tv_image"
+ android:layout_width="match_parent"
+ android:layout_height="30dp"
+ android:gravity="center"
+ android:text="鍥剧墖杞挱"
+ android:textColor="#FF333333"
+ android:textSize="12sp"
+ />
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.3dp"
+ android:background="#FF939393"
+ />
+ <TextView
+ android:id="@+id/tv_video"
+ android:layout_width="match_parent"
+ android:layout_height="30dp"
+ android:text="瑙嗛鎾斁"
+ android:gravity="center"
+ android:textColor="#FF333333"
+ android:textSize="12sp"
+ />
+ </LinearLayout>
+
+</androidx.cardview.widget.CardView>
\ No newline at end of file
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index a0147b3..6281205 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -25,5 +25,5 @@
<color name="color_card_blue">#FFE0EEFE</color>
<color name="color_card_green">#FFEBFFF2</color>
<color name="color_shadow">#88666666</color>
-
+ <color name="color_non_editable">#AAf5f7fa</color>
</resources>
\ No newline at end of file
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index 16c9971..93ef9f9 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -9,7 +9,7 @@
<!--涓婚〉搴曢儴瀵艰埅鏍忔病鏈夐�変腑鏂囧瓧鏍峰紡锛屽鑸粯璁ょ殑瀛椾綋澶у皬灏辨槸12sp-->
<style name="bottom_navigation_title_inactive">
- <item name="android:textSize">@dimen/sp_12</item>
+ <item name="android:textSize">12sp</item>
<item name="android:textColor">@color/color_FF666666_text_default</item>
</style>
diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml
index a0574bc..57135c6 100644
--- a/app/src/main/res/values/themes.xml
+++ b/app/src/main/res/values/themes.xml
@@ -15,6 +15,8 @@
</style>
<style name="Theme.app" parent="Theme.AppCompat.DayNight.NoActionBar">
+ <!-- 鍏ㄥ眬瀛椾綋 -->
+ <item name="android:fontFamily">@font/roboto_regular</item>
<!-- 绐楀彛鑳屾櫙棰滆壊 -->
<item name="android:windowBackground">@color/windowBackground</item>
<!-- 搴旂敤鐨勪富瑕佽壊璋冿紝ActionBar Toolbar 榛樿浣跨敤璇ラ鑹� -->
diff --git a/app/src/main/res/xml/file_paths.xml b/app/src/main/res/xml/file_paths.xml
new file mode 100644
index 0000000..b2019ff
--- /dev/null
+++ b/app/src/main/res/xml/file_paths.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<paths>
+ <!-- 閫傞厤Android 7.0鏂囦欢鎰忓浘 -->
+ <external-path
+ name="external_files"
+ path="." />
+</paths>
\ No newline at end of file
diff --git a/app_base/build.gradle b/app_base/build.gradle
index 2f527d5..478b54d 100644
--- a/app_base/build.gradle
+++ b/app_base/build.gradle
@@ -49,14 +49,23 @@
api 'com.squareup.retrofit2:retrofit-adapters:2.4.0'//鐩稿叧閫傞厤
api 'com.squareup.okhttp3:okhttp:4.10.0'
api 'com.squareup.okhttp3:logging-interceptor:4.10.0'
+
+ //Rxjava
api "io.reactivex.rxjava2:rxjava:2.2.21"
api 'io.reactivex.rxjava2:rxandroid:2.1.1'
+ //Rxjava鐨勭殑鐢熷懡鍛ㄦ湡绠$悊鍙互浣跨敤RxLifecycle鎴栬�卆utodispose锛堜簩閫変竴锛�
+ //autodispose
+ api 'com.uber.autodispose:autodispose:1.4.0'
+ api 'com.uber.autodispose:autodispose-android:1.4.0'
+ api 'com.uber.autodispose:autodispose-android-archcomponents:1.4.0'
+
+
//Cookie 鎸佷箙鍖�
api 'com.github.franmontiel:PersistentCookieJar:v1.0.1'
// 鏍囬鏍忔鏋讹細https://github.com/getActivity/TitleBar
- api 'com.github.getActivity:TitleBar:10.3'
+ api 'com.github.getActivity:TitleBar:10.5'
// 灞忓箷閫傞厤
api 'com.github.JessYanCoding:AndroidAutoSize:v1.2.1'
@@ -96,4 +105,15 @@
api 'io.github.scwang90:refresh-footer-ball:2.0.5' //鐞冭剦鍐插姞杞�
api 'io.github.scwang90:refresh-footer-classics:2.0.5' //缁忓吀鍔犺浇
+ //婊氳疆閫夋嫨
+ api 'com.github.gzu-liyujiang.AndroidPicker:WheelPicker:4.1.11'
+ api 'com.github.gzu-liyujiang.AndroidPicker:Common:4.1.11'
+ api 'com.github.gzu-liyujiang.AndroidPicker:WheelView:4.1.11'
+
+ //鍥剧墖杞挱鎺т欢
+ api 'io.github.youth5201314:banner:2.2.2'
+
+ //瑙嗛鎾斁
+ //瀹屾暣鐗堝紩鍏�
+ api 'com.github.CarGuo.GSYVideoPlayer:GSYVideoPlayer:v8.4.0-release-jitpack'
}
\ No newline at end of file
diff --git a/app_base/src/main/assets/roboto_regular.ttf b/app_base/src/main/assets/roboto_regular.ttf
new file mode 100644
index 0000000..3033308
--- /dev/null
+++ b/app_base/src/main/assets/roboto_regular.ttf
Binary files differ
diff --git a/app_base/src/main/java/com/android/app_base/action/TitleBarAction.java b/app_base/src/main/java/com/android/app_base/action/TitleBarAction.java
index 8cbb8b2..54d0371 100644
--- a/app_base/src/main/java/com/android/app_base/action/TitleBarAction.java
+++ b/app_base/src/main/java/com/android/app_base/action/TitleBarAction.java
@@ -16,7 +16,7 @@
* @date 2023.03.14. 19:14
* @desc 鏍囬鏍忚涓�
*/
-public interface TitleBarAction extends OnTitleBarListener{
+public interface TitleBarAction extends OnTitleBarListener {
@Nullable
TitleBar getTitleBar();
diff --git a/app_base/src/main/java/com/android/app_base/base/BaseConfig.java b/app_base/src/main/java/com/android/app_base/base/BaseConfig.java
index 8f0375f..288a12a 100644
--- a/app_base/src/main/java/com/android/app_base/base/BaseConfig.java
+++ b/app_base/src/main/java/com/android/app_base/base/BaseConfig.java
@@ -13,4 +13,10 @@
//椤甸潰璺宠浆
public static final String EXTRA_TYPE = "type";
public static final String LOGIN_ACTIVITY = "com.application.zhangshi_app_android.ui.login.LoginActivity";
+
+ //澶囧繕褰� 瀵瑰簲 妯″潡id
+ public static final int MEMO_FID_FAMILY_ASSETS = 2007;//瀹跺涵璧勪骇
+ public static final int MEMO_FID_HOME_DEVICES = 2017;//瀹跺涵璁惧
+ public static final int MEMO_FID_PROPERTY = 2026;//璐骇
+ public static final int MEMO_FID_PRIVACY = 2031;//闅愮
}
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 bd6d45c..2b2f62d 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
@@ -283,6 +283,7 @@
position = mDataList.size() - 1;
}
notifyItemInserted(position);
+ notifyItemRangeChanged(position, mDataList.size() - position);
}
/**
* 鍒犻櫎鍗曟潯鏁版嵁
@@ -298,6 +299,7 @@
mDataList.remove(position);
// 鍛婅瘔閫傞厤鍣ㄥ垹闄ゆ暟鎹殑浣嶇疆锛屼細鏈夊姩鐢绘晥鏋�
notifyItemRemoved(position);
+ notifyItemRangeChanged(position, mDataList.size() - position);
}
/**
* 璁剧疆 RecyclerView 鏉$洰鐐瑰嚮鐩戝惉
diff --git a/app_base/src/main/java/com/android/app_base/base/adapter/BaseVp2FragmentAdapter.java b/app_base/src/main/java/com/android/app_base/base/adapter/BaseVp2FragmentAdapter.java
index 0b809c6..ea9edbd 100644
--- a/app_base/src/main/java/com/android/app_base/base/adapter/BaseVp2FragmentAdapter.java
+++ b/app_base/src/main/java/com/android/app_base/base/adapter/BaseVp2FragmentAdapter.java
@@ -154,4 +154,18 @@
return mTitleList.get(position);
}
+ /**
+ * 鑾峰彇鏌愪釜 Fragment 鐨勭储寮曪紙娌℃湁灏辫繑鍥� -1锛�
+ */
+ public int getFragmentIndex(Class<? extends Fragment> clazz) {
+ if (clazz == null) {
+ return -1;
+ }
+ for (int i = 0; i < mFragmentList.size(); i++) {
+ if (clazz.getName().equals(mFragmentList.get(i).getClass().getName())) {
+ return i;
+ }
+ }
+ return -1;
+ }
}
diff --git a/app_base/src/main/java/com/android/app_base/base/adapter/EditTextAdapter.java b/app_base/src/main/java/com/android/app_base/base/adapter/EditTextAdapter.java
deleted file mode 100644
index 885691e..0000000
--- a/app_base/src/main/java/com/android/app_base/base/adapter/EditTextAdapter.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package com.android.app_base.base.adapter;
-
-import android.text.method.HideReturnsTransformationMethod;
-import android.text.method.PasswordTransformationMethod;
-import android.widget.EditText;
-import android.widget.ImageView;
-
-import androidx.databinding.BindingAdapter;
-
-/**
- * @author Ljj
- * @date 2023.03.26. 17:38
- * @desc
- */
-public class EditTextAdapter {
- @BindingAdapter({"passwordVisibility"})
- public static void setPasswordVisibility(EditText editText, boolean visibility) {
- if(visibility){
- editText.setTransformationMethod(PasswordTransformationMethod.getInstance());
- }else {
- editText.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
- }
- editText.setSelection(editText.length());
- }
-}
diff --git a/app_base/src/main/java/com/android/app_base/base/adapter/databinding/EditTextAdapter.java b/app_base/src/main/java/com/android/app_base/base/adapter/databinding/EditTextAdapter.java
new file mode 100644
index 0000000..75bba30
--- /dev/null
+++ b/app_base/src/main/java/com/android/app_base/base/adapter/databinding/EditTextAdapter.java
@@ -0,0 +1,67 @@
+package com.android.app_base.base.adapter.databinding;
+
+import android.text.TextUtils;
+import android.text.method.HideReturnsTransformationMethod;
+import android.text.method.PasswordTransformationMethod;
+import android.widget.EditText;
+import android.widget.ImageView;
+
+import androidx.databinding.BindingAdapter;
+import androidx.databinding.InverseBindingAdapter;
+
+import java.math.BigDecimal;
+import java.util.Locale;
+
+/**
+ * @author Ljj
+ * @date 2023.03.26. 17:38
+ * @desc
+ */
+public class EditTextAdapter {
+ @BindingAdapter({"passwordVisibility"})
+ public static void setPasswordVisibility(EditText editText, boolean visibility) {
+ if(visibility){
+ editText.setTransformationMethod(PasswordTransformationMethod.getInstance());
+ }else {
+ editText.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
+ }
+ editText.setSelection(editText.length());
+ }
+
+ @BindingAdapter(value = {"android:text", "need_modify_null"}, requireAll = false)
+ public static void setText(EditText view, double value,boolean needModifyNull) {
+ String valueString = BigDecimal.valueOf(value).stripTrailingZeros().toPlainString();
+ if(needModifyNull){
+ view.setText(value == 0 ? null : valueString);
+ }else {
+ view.setText(value == 0 ? "0" : valueString);
+ }
+// String formattedValue = String.format(Locale.CHINA, "%.2f", value);
+// if (!TextUtils.equals(view.getText().toString(), formattedValue)) {
+// view.setText(formattedValue);
+// }
+ }
+
+ @InverseBindingAdapter(attribute = "android:text")
+ public static double getText(EditText view) {
+ String text = view.getText().toString();
+ if (TextUtils.isEmpty(text)) {
+ return 0.0;
+ } else {
+ return Double.parseDouble(text);
+ }
+ }
+
+ @BindingAdapter({"isEditable"})
+ public static void setIsEditable(EditText editText, boolean isEditable) {
+ if(isEditable){
+ editText.setFocusable(true);
+ editText.setCursorVisible(true);
+ editText.setLongClickable(true);
+ }else {
+ editText.setFocusable(false);
+ editText.setCursorVisible(false);
+ editText.setLongClickable(false);
+ }
+ }
+}
diff --git a/app_base/src/main/java/com/android/app_base/base/adapter/ImageViewAdapter.java b/app_base/src/main/java/com/android/app_base/base/adapter/databinding/ImageViewAdapter.java
similarity index 60%
rename from app_base/src/main/java/com/android/app_base/base/adapter/ImageViewAdapter.java
rename to app_base/src/main/java/com/android/app_base/base/adapter/databinding/ImageViewAdapter.java
index a7a1671..ce96424 100644
--- a/app_base/src/main/java/com/android/app_base/base/adapter/ImageViewAdapter.java
+++ b/app_base/src/main/java/com/android/app_base/base/adapter/databinding/ImageViewAdapter.java
@@ -1,14 +1,20 @@
-package com.android.app_base.base.adapter;
+package com.android.app_base.base.adapter.databinding;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.net.Uri;
+import android.text.TextUtils;
import android.util.Base64;
+import android.view.View;
import android.widget.ImageView;
+import android.widget.TextView;
import androidx.databinding.BindingAdapter;
+import androidx.databinding.InverseBindingAdapter;
import com.android.app_base.utils.GlideUtil;
+
+import java.math.BigDecimal;
/**
* @author Ljj
@@ -22,6 +28,9 @@
}
@BindingAdapter({"imageUri"})
public static void loadUriImage(ImageView imageView, String uri) {
+ if (TextUtils.isEmpty(uri)){
+ return;
+ }
imageView.setImageURI(Uri.parse(uri));
}
@@ -37,4 +46,20 @@
Bitmap bitmap = BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length);
imageView.setImageBitmap(bitmap);
}
+
+
+ @BindingAdapter(value = {"visibility_text","needPlaceholder"},requireAll = false)
+ public static void setVisibilityByText(ImageView imageView,String text,boolean needPlaceholder){
+ if (TextUtils.isEmpty(text)){
+ if (needPlaceholder){
+ imageView.setVisibility(View.INVISIBLE);
+ }else {
+ imageView.setVisibility(View.GONE);
+ }
+ }else {
+ imageView.setVisibility(View.VISIBLE);
+ }
+ }
+
+
}
diff --git a/app_base/src/main/java/com/android/app_base/base/adapter/databinding/TextViewAdapter.java b/app_base/src/main/java/com/android/app_base/base/adapter/databinding/TextViewAdapter.java
new file mode 100644
index 0000000..bd6ace8
--- /dev/null
+++ b/app_base/src/main/java/com/android/app_base/base/adapter/databinding/TextViewAdapter.java
@@ -0,0 +1,84 @@
+package com.android.app_base.base.adapter.databinding;
+
+import android.text.TextUtils;
+import android.view.View;
+import android.widget.EditText;
+import android.widget.TextView;
+
+import androidx.databinding.BindingAdapter;
+import androidx.databinding.InverseBindingAdapter;
+
+import java.math.BigDecimal;
+import java.util.Locale;
+
+/**
+ * @author Ljj
+ * @date 2023.05.22. 21:10
+ * @desc
+ */
+public class TextViewAdapter {
+ /**
+ * 璁剧疆TextView鐨凟llipsize
+ *
+ * @param textView TextView
+ * @param ellipsize 1:寮�澶� 2:涓棿 3:缁撳熬 4:璺戦┈鐏� 0鎴栧叾浠�:涓嶈缃�
+ */
+ @BindingAdapter({"textOverflowMode"})
+ public static void setTextViewEllipsize(TextView textView, int ellipsize) {
+ TextUtils.TruncateAt where = null;
+ switch (ellipsize){
+ case 1:
+ where = TextUtils.TruncateAt.START;
+ break;
+ case 2:
+ where = TextUtils.TruncateAt.MIDDLE;
+ break;
+ case 3:
+ where = TextUtils.TruncateAt.END;
+ break;
+ case 4:
+ where = TextUtils.TruncateAt.MARQUEE;
+ break;
+ default:
+ break;
+ }
+ if (textView.getEllipsize() == where) {
+ return;
+ }
+ textView.setEllipsize(where);
+ if (where != TextUtils.TruncateAt.MARQUEE) {
+ return;
+ }
+ if (!textView.isSelected()) {
+ // 璁剧疆璺戦┈鐏箣鍚庨渶瑕佽缃�変腑鎵嶈兘鏈夋晥鏋�
+ textView.setSelected(true);
+ }
+ if (!textView.isFocusable()) {
+ // 璁剧疆璺戦┈鐏渶瑕佸厛鑾峰彇鐒︾偣
+ textView.setFocusable(true);
+ }
+ textView.setSingleLine(true);
+ // 璁剧疆璺戦┈鐏殑寰幆娆℃暟
+ textView.setMarqueeRepeatLimit(-1);
+ }
+
+ @BindingAdapter("android:text")
+ public static void setText(TextView view, double value) {
+// String formattedValue = String.format(Locale.CHINA, "%.2f", value);
+// if (!TextUtils.equals(view.getText().toString(), formattedValue)) {
+// view.setText(formattedValue);
+// }
+ view.setText(BigDecimal.valueOf(value).stripTrailingZeros().toPlainString());
+ }
+
+ @InverseBindingAdapter(attribute = "android:text")
+ public static double getText(TextView view) {
+ String text = view.getText().toString();
+ if (TextUtils.isEmpty(text)) {
+ return 0.0;
+ } else {
+ return Double.parseDouble(text);
+ }
+ }
+
+}
diff --git a/app_base/src/main/java/com/android/app_base/base/adapter/databinding/ViewAdapter.java b/app_base/src/main/java/com/android/app_base/base/adapter/databinding/ViewAdapter.java
new file mode 100644
index 0000000..091ff95
--- /dev/null
+++ b/app_base/src/main/java/com/android/app_base/base/adapter/databinding/ViewAdapter.java
@@ -0,0 +1,39 @@
+package com.android.app_base.base.adapter.databinding;
+
+import android.text.TextUtils;
+import android.view.View;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import androidx.databinding.BindingAdapter;
+
+import com.android.app_base.utils.GlideUtil;
+
+/**
+ * @author Ljj
+ * @date 2023.06.08. 23:28
+ * @desc
+ */
+public class ViewAdapter {
+
+ @BindingAdapter("android:visibility")
+ public static void setVisibility(View view, boolean value) {
+ if (value){
+ view.setVisibility(View.VISIBLE);
+ }else {
+ view.setVisibility(View.GONE);
+ }
+ }
+
+ @BindingAdapter("android:visibility")
+ public static void setVisibility(View view, int value) {
+ if (value == 0){
+ view.setVisibility(View.GONE);
+ }else if (value == 1){
+ view.setVisibility(View.VISIBLE);
+ }else if (value == 2){
+ view.setVisibility(View.INVISIBLE);
+ }
+ }
+
+}
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 51b3ab8..dd69978 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
@@ -202,12 +202,14 @@
* 鍒濆鍖栨矇娴稿紡鐘舵�佹爮
*/
protected void initStatusBar(){
+ if (getTitleBar() != null) {
+ getTitleBar().setOnTitleBarListener(this);
+ }
if (isStatusBarImmersionEnabled()) {
getImmersionBarConfig().init();
// 璁剧疆鏍囬鏍忔矇娴�()
if (getTitleBar() != null) {
ImmersionBar.setTitleBar(this, getTitleBar());
- getTitleBar().setOnTitleBarListener(this);
}
}
}
diff --git a/app_base/src/main/java/com/android/app_base/base/view/BaseFragment.java b/app_base/src/main/java/com/android/app_base/base/view/BaseFragment.java
index 8dd0912..e129f29 100644
--- a/app_base/src/main/java/com/android/app_base/base/view/BaseFragment.java
+++ b/app_base/src/main/java/com/android/app_base/base/view/BaseFragment.java
@@ -80,6 +80,8 @@
initViewDataBindingAndViewModel();
//鍒濆鍖栫姸鎬佽鍥�
initStateView();
+ //鍒濆鍖栨矇娴稿紡鐘舵�佹爮鍜� titleBar
+ initStatusBar();
//椤甸潰view鍒濆鍖栨柟娉�
initView();
//椤甸潰浜嬩欢鐩戝惉鐨勬柟娉曪紝鐢ㄤ簬ViewModel灞傝浆鍒癡iew灞傜殑浜嬩欢娉ㄥ唽
@@ -89,8 +91,7 @@
@Override
public void onResume() {
super.onResume();
- //鍒濆鍖栨矇娴稿紡鐘舵�佹爮鍜� titleBar
- initStatusBar();
+
if (!isLoaded){
//椤甸潰鏁版嵁鍒濆鍖栨柟娉�
initData();
diff --git a/app_base/src/main/java/com/android/app_base/base/viewmodel/BaseViewModel.java b/app_base/src/main/java/com/android/app_base/base/viewmodel/BaseViewModel.java
index 0fc152c..0acb457 100644
--- a/app_base/src/main/java/com/android/app_base/base/viewmodel/BaseViewModel.java
+++ b/app_base/src/main/java/com/android/app_base/base/viewmodel/BaseViewModel.java
@@ -31,8 +31,8 @@
/**
* 鎺у埗鐘舵�佽鍥剧殑LiveData
*/
- protected MutableLiveData<StateViewEnum> stateViewLiveData;
- protected MutableLiveData<String> messageLiveData;
+ protected MutableLiveData<StateViewEnum> stateViewLiveData = new MutableLiveData<>();
+ protected MutableLiveData<String> messageLiveData = new MutableLiveData<>();
//绠$悊RxJava锛屼富瑕侀拡瀵筊xJava寮傛鎿嶄綔閫犳垚鐨勫唴瀛樻硠婕�
private CompositeDisposable mCompositeDisposable;
@@ -67,7 +67,7 @@
}
return stateViewLiveData;
}
- public LiveData<String> getMessageLivaData(){
+ public MutableLiveData<String> getMessageLivaData(){
if(messageLiveData == null){
messageLiveData = new MutableLiveData<>();
}
diff --git a/app_base/src/main/java/com/android/app_base/http/RetrofitManager.java b/app_base/src/main/java/com/android/app_base/http/RetrofitManager.java
index df7edea..5af996b 100644
--- a/app_base/src/main/java/com/android/app_base/http/RetrofitManager.java
+++ b/app_base/src/main/java/com/android/app_base/http/RetrofitManager.java
@@ -2,6 +2,13 @@
import androidx.collection.CircularArray;
+import com.google.gson.Gson;
+import com.google.gson.GsonBuilder;
+import com.google.gson.TypeAdapter;
+import com.google.gson.stream.JsonReader;
+import com.google.gson.stream.JsonToken;
+import com.google.gson.stream.JsonWriter;
+
import java.util.HashMap;
import java.util.Map;
@@ -42,11 +49,16 @@
* 鑾峰彇Retrofit瀵硅薄
*/
public Retrofit getRetrofit(String baseUrl) {
+ Gson gson = new GsonBuilder()
+ //閰嶇疆浣犵殑Gson
+ .setDateFormat("yyyy-MM-dd hh:mm:ss")
+ .registerTypeHierarchyAdapter(String.class,STRING)//璁剧疆瑙f瀽鐨勬椂鍊檔ull杞垚""
+ .create();
Retrofit retrofit = retrofitMap.get(baseUrl);
if (retrofit == null) {
retrofit = new Retrofit.Builder()
.client(mClient)
- .addConverterFactory(GsonConverterFactory.create())
+ .addConverterFactory(GsonConverterFactory.create(gson))
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
.baseUrl(baseUrl)
.build();
@@ -54,6 +66,34 @@
}
return retrofit;
}
+ /**
+ * 鑷畾涔塗ypeAdapter ,null瀵硅薄灏嗚瑙f瀽鎴愮┖瀛楃涓�
+ */
+ public static final TypeAdapter<String> STRING = new TypeAdapter<String>() {
+ public String read(JsonReader reader) {
+ try {
+ if (reader.peek() == JsonToken.NULL) {
+ reader.nextNull();
+ return ""; // 鍘熷厛鏄繑鍥瀗ull锛岃繖閲屾敼涓鸿繑鍥炵┖瀛楃涓�
+ }
+ return reader.nextString();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return "";
+ }
+ public void write(JsonWriter writer, String value) {
+ try {
+ if (value == null) {
+ writer.nullValue();
+ return;
+ }
+ writer.value(value);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ };
/**
* 璁剧疆 鑷畾涔塐kHttpClient
diff --git a/app_base/src/main/java/com/android/app_base/utils/Converter.java b/app_base/src/main/java/com/android/app_base/utils/Converter.java
new file mode 100644
index 0000000..550388f
--- /dev/null
+++ b/app_base/src/main/java/com/android/app_base/utils/Converter.java
@@ -0,0 +1,26 @@
+package com.android.app_base.utils;
+
+import android.text.TextUtils;
+
+import androidx.databinding.InverseMethod;
+
+/**
+ * @author Ljj
+ * @date 2023.06.08. 23:01
+ * @desc databinding 鐨� 鏁版嵁 杞崲鍣�
+ */
+public class Converter {
+ @InverseMethod("doubleToString")
+ public static double stringToDouble(String value) {
+ if (TextUtils.isEmpty(value)) {
+ return 0.0;
+ }
+ return Double.parseDouble(value);
+
+ }
+
+ public static String doubleToString(double value) {
+ return String.valueOf(value);
+ }
+
+}
diff --git a/app_base/src/main/java/com/android/app_base/utils/RxUtils.java b/app_base/src/main/java/com/android/app_base/utils/RxUtils.java
index 2fc511b..661e8d3 100644
--- a/app_base/src/main/java/com/android/app_base/utils/RxUtils.java
+++ b/app_base/src/main/java/com/android/app_base/utils/RxUtils.java
@@ -1,15 +1,17 @@
package com.android.app_base.utils;
+import io.reactivex.FlowableTransformer;
import io.reactivex.Observable;
import io.reactivex.ObservableSource;
import io.reactivex.ObservableTransformer;
+import io.reactivex.Scheduler;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.schedulers.Schedulers;
/**
* @author Ljj
* @date 2023.03.24. 17:42
-* @desc
+* @desc RxJava宸ュ叿绫�
*/public class RxUtils {
public static <T> ObservableTransformer<T, T> schedulersTransformer() {
@@ -17,7 +19,20 @@
.observeOn(AndroidSchedulers.mainThread());
}
+ public static <T> ObservableTransformer<T, T> io() {
+ return upstream -> upstream.subscribeOn(Schedulers.io());
+ }
+ private static <T> FlowableTransformer<T, T> schedulerTransformerF(Scheduler scheduler) {
+ return flowable ->
+ flowable
+ .subscribeOn(scheduler)
+ .observeOn(AndroidSchedulers.mainThread(), true);
+ }
+
+ public static <T> FlowableTransformer<T, T> ioF() {
+ return schedulerTransformerF(Schedulers.io());
+ }
diff --git a/app_base/src/main/java/com/android/app_base/utils/Utils.java b/app_base/src/main/java/com/android/app_base/utils/Utils.java
new file mode 100644
index 0000000..18758a7
--- /dev/null
+++ b/app_base/src/main/java/com/android/app_base/utils/Utils.java
@@ -0,0 +1,228 @@
+package com.android.app_base.utils;
+
+import android.animation.ValueAnimator;
+import android.content.Context;
+import android.content.Intent;
+import android.net.Uri;
+import android.os.Build;
+import android.os.Environment;
+import android.text.TextUtils;
+import android.view.View;
+import android.widget.TextView;
+
+import androidx.core.content.FileProvider;
+
+import com.blankj.utilcode.util.LogUtils;
+
+import java.io.File;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Date;
+import java.util.List;
+import java.util.concurrent.TimeUnit;
+
+/**
+ * @author Ljj
+ * @date 2023.05.18. 19:29
+ * @desc
+ */
+public class Utils {
+ /**
+ * 涓嬫媺灞曞紑
+ * @param view 闇�瑕佸睍寮�鐨剉iew
+ * @param initialHeight 鍒濆楂樺害
+ * @param targetHeight 鐩爣楂樺害
+ */
+ public static void dropExpand(View view,int initialHeight , int targetHeight) {
+ ValueAnimator animator = ValueAnimator.ofInt(initialHeight,targetHeight);
+ animator.setDuration(500);
+ animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
+ @Override
+ public void onAnimationUpdate(ValueAnimator animation) {
+ int value = (int) animation.getAnimatedValue();
+ view.getLayoutParams().height = value;
+ view.requestLayout();
+ }
+ });
+ animator.start();
+ }
+ /**
+ * 涓婃媺鏀惰捣
+ * @param view 闇�瑕佹敹璧风殑view
+ * @param initialHeight 鍒濆楂樺害
+ * @param targetHeight 鐩爣楂樺害
+ */
+ public static void pullCollapse(View view,int initialHeight, int targetHeight) {
+ ValueAnimator animator = ValueAnimator.ofInt(initialHeight, targetHeight);
+ animator.setDuration(500);
+ animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
+ @Override
+ public void onAnimationUpdate(ValueAnimator animation) {
+ int value = (int) animation.getAnimatedValue();
+ view.getLayoutParams().height = value;
+ view.requestLayout();
+ }
+ });
+ animator.start();
+ }
+
+ /**
+ * 鍒ゆ柇鐐瑰嚮鐨勭偣鏄惁鍦╲iew鍐�
+ * @param x x鍧愭爣
+ * @param y y鍧愭爣
+ * @param view view
+ * @return 鏄惁鍦╲iew鍐�
+ */
+ public static boolean isPointInsideView(float x, float y, View view) {
+ int[] location = new int[2];
+ view.getLocationOnScreen(location);
+
+ int left = location[0];
+ int top = location[1];
+ int right = left + view.getWidth();
+ int bottom = top + view.getHeight();
+
+ return x >= left && x <= right && y >= top && y <= bottom;
+ }
+
+ /**
+ * 瀛楃涓茶浆鏃ユ湡
+ * @param dateString 鏃ユ湡瀛楃涓�
+ * @return 鏃ユ湡 Date
+ */
+ public static Date parseDate(String dateString) {
+ try {
+ SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd", java.util.Locale.getDefault());
+ return dateFormat.parse(dateString);
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+ /**
+ * 鍒嗗壊瀛楃涓叉垚list
+ */
+ public static List<String> splitString2List(String str, String splitStr) {
+ if (str == null|| TextUtils.isEmpty(str)){
+ return new ArrayList<>();
+ }
+ String[] split = str.split(splitStr);
+ List<String> list = new ArrayList<>();
+ for (String s : split) {
+ if (!TextUtils.isEmpty(s)){
+ list.add(s);
+ }
+ }
+ return list;
+ }
+
+ /**
+ * list鎷兼帴鎴愬瓧绗︿覆
+ */
+ public static String appendList2String(List<String> list,String appendStr) {
+ if (list == null || list.size() == 0) {
+ return "";
+ }
+ StringBuilder sb = new StringBuilder();
+ for (String s : list) {
+ sb.append(s).append(appendStr);
+ }
+ //鍘绘帀鏈�鍚庝竴涓嫾鎺ョ
+ if (sb.length() > 0) {
+ sb.deleteCharAt(sb.length() - appendStr.length());
+ }
+ return sb.toString();
+ }
+
+ /**
+ * 璁剧疆 TextView 鏂囨湰婧㈠嚭澶勭悊鏂瑰紡
+ */
+ public static void setTextViewEllipsize(TextView textView, TextUtils.TruncateAt where) {
+ if (textView.getEllipsize() == where) {
+ return;
+ }
+ textView.setEllipsize(where);
+ if (where != TextUtils.TruncateAt.MARQUEE) {
+ return;
+ }
+ if (!textView.isSelected()) {
+ // 璁剧疆璺戦┈鐏箣鍚庨渶瑕佽缃�変腑鎵嶈兘鏈夋晥鏋�
+ textView.setSelected(true);
+ }
+ if (!textView.isFocusable()) {
+ // 璁剧疆璺戦┈鐏渶瑕佸厛鑾峰彇鐒︾偣
+ textView.setFocusable(true);
+ }
+ textView.setSingleLine(true);
+ // 璁剧疆璺戦┈鐏殑寰幆娆℃暟
+ textView.setMarqueeRepeatLimit(-1);
+ }
+
+ /**
+ * 鍒ゆ柇涓や釜鏃ユ湡澶у皬
+ */
+ public static int compareDate(String startTime, String endTime) {
+ //姣旇緝鏃堕棿澶у皬
+ SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd", java.util.Locale.getDefault());
+ try {
+ Date startDate = dateFormat.parse(startTime);
+ Date endDate = dateFormat.parse(endTime);
+ if (startDate == null || endDate == null) {
+ return 0;
+ }
+ return startDate.compareTo(endDate);
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
+ return 0;
+ }
+
+ /**
+ * 璁$畻涓や釜鏃ユ湡鐩稿樊澶╂暟
+ */
+ public static int calculateDays(String startTime, String endTime) {
+ int days = 0;
+ //璁$畻涓や釜鏃ユ湡鐩稿樊澶╂暟
+ SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd", java.util.Locale.getDefault());
+ try {
+ Date startDate = dateFormat.parse(startTime);
+ Date endDate = dateFormat.parse(endTime);
+ if (startDate == null || endDate == null) {
+ return 0;
+ }
+ days = (int) TimeUnit.DAYS.convert(Math.abs(startDate.getTime() - endDate.getTime()), TimeUnit.MILLISECONDS);
+
+ } catch (ParseException e) {
+ throw new RuntimeException(e);
+ }
+ return days + 1;
+ }
+
+ /**
+ * 瀹夎 APK
+ */
+ public static void installAPK(Context context, String fileName) {
+ fileName = Environment.getExternalStorageDirectory().getPath() + "/" + Environment.DIRECTORY_DOWNLOADS + "/" + fileName;
+ LogUtils.e(fileName);
+ File file = new File(fileName);
+ if (!file.exists()) {
+ return;
+ }
+ Intent intent = new Intent(Intent.ACTION_VIEW);
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
+ intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
+ Uri contentUri = FileProvider.getUriForFile(context, context.getApplicationContext().getPackageName() + ".fileprovider", file);
+ intent.setDataAndType(contentUri, "application/vnd.android.package-archive");
+ } else {
+// Uri uri = Uri.parse("file://" + file.toString());
+ intent.setDataAndType(Uri.fromFile(file), "application/vnd.android.package-archive");
+ //鍦ㄦ湇鍔′腑寮�鍚痑ctivity蹇呴』璁剧疆flag,鍚庨潰瑙i噴
+ intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ }
+ context.startActivity(intent);
+ }
+
+}
diff --git a/app_base/src/main/java/com/android/app_base/utils/rxbus/MessageEvent.java b/app_base/src/main/java/com/android/app_base/utils/rxbus/MessageEvent.java
new file mode 100644
index 0000000..37e87bd
--- /dev/null
+++ b/app_base/src/main/java/com/android/app_base/utils/rxbus/MessageEvent.java
@@ -0,0 +1,39 @@
+package com.android.app_base.utils.rxbus;
+
+/**
+ * @author Ljj
+ * @date 2023.05.19. 13:37
+ * @desc
+ */
+public class MessageEvent {
+ public static final int EVENT_INFO_UPDATE = 1;
+ public static final int EVENT_TOURISM_CONSUME_CHANGE = 2;
+ private int messageEventCode;
+ private Object messageEventData;
+
+ public MessageEvent() {
+ }
+ public MessageEvent(int messageEventCode) {
+ this.messageEventCode = messageEventCode;
+ }
+ public MessageEvent(int messageEventCode, Object messageEventData) {
+ this.messageEventCode = messageEventCode;
+ this.messageEventData = messageEventData;
+ }
+
+ public int getMessageEventCode() {
+ return messageEventCode;
+ }
+
+ public void setMessageEventCode(int messageEventCode) {
+ this.messageEventCode = messageEventCode;
+ }
+
+ public Object getMessageEventData() {
+ return messageEventData;
+ }
+
+ public void setMessageEventData(Object messageEventData) {
+ this.messageEventData = messageEventData;
+ }
+}
diff --git a/app_base/src/main/java/com/android/app_base/utils/rxbus/RxBus.java b/app_base/src/main/java/com/android/app_base/utils/rxbus/RxBus.java
new file mode 100644
index 0000000..078f43b
--- /dev/null
+++ b/app_base/src/main/java/com/android/app_base/utils/rxbus/RxBus.java
@@ -0,0 +1,125 @@
+package com.android.app_base.utils.rxbus;
+
+import androidx.lifecycle.LifecycleOwner;
+import com.uber.autodispose.AutoDispose;
+import com.uber.autodispose.ObservableSubscribeProxy;
+import com.uber.autodispose.android.lifecycle.AndroidLifecycleScopeProvider;
+
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
+import io.reactivex.Observable;
+import io.reactivex.subjects.PublishSubject;
+import io.reactivex.subjects.Subject;
+
+/**
+ * @author Ljj
+ * @date 2023.05.18. 21:54
+ * @desc RxBus
+ */
+public class RxBus {
+ private volatile static RxBus mDefaultInstance;
+ //浜嬩欢鎬荤嚎
+ private final Subject<Object> mBus;
+ //绮樻�т簨浠跺瓨鍌�
+ private final Map<Class<?>, Object> mStickyEventMap;
+
+ private RxBus() {
+ mBus = PublishSubject.create().toSerialized();
+ mStickyEventMap = new ConcurrentHashMap<>();
+ }
+
+ public static RxBus getInstance() {
+ if (mDefaultInstance == null) {
+ synchronized (RxBus.class) {
+ if (mDefaultInstance == null) {
+ mDefaultInstance = new RxBus();
+ }
+ }
+ }
+ return mDefaultInstance;
+ }
+
+ /**
+ * 鍙戦�佷簨浠�
+ */
+ public void post(Object event) {
+ mBus.onNext(event);
+ }
+
+ /**
+ * 浣跨敤 AutoDispose瑙e喅RxJava寮曡捣鐨勫唴瀛樻硠婕�
+ * 杩斿洖 ObservableSubscribeProxy锛屽疄闄呯敤澶勫拰Observable涓�鏍�
+ *
+ */
+ public <T> ObservableSubscribeProxy<T> toObservable(LifecycleOwner owner, final Class<T> eventType) {
+ AndroidLifecycleScopeProvider provider = AndroidLifecycleScopeProvider.from(owner);
+ return mBus.ofType(eventType).as(AutoDispose.autoDisposable(provider));
+ }
+
+
+ /**
+ * 鍒ゆ柇鏄惁鏈夎闃呰��
+ */
+ public boolean hasObservers() {
+ return mBus.hasObservers();
+ }
+
+ public void reset() {
+ mDefaultInstance = null;
+ }
+
+ /**
+ * 鍙戦�佷竴涓柊Sticky浜嬩欢
+ */
+ public void postSticky(Object event) {
+ synchronized (mStickyEventMap) {
+ mStickyEventMap.put(event.getClass(), event);
+ }
+ post(event);
+ }
+
+ /**
+ * 鏍规嵁eventType鑾峰彇Sticky浜嬩欢锛屽鏋滄病鏈夊垯杩斿洖null
+ */
+ public <T> ObservableSubscribeProxy<T> toObservableSticky(LifecycleOwner owner, final Class<T> eventType) {
+ synchronized (mStickyEventMap) {
+ AndroidLifecycleScopeProvider provider = AndroidLifecycleScopeProvider.from(owner);
+ Observable<T> observable = mBus.ofType(eventType);
+ final Object event = mStickyEventMap.get(eventType);
+ if (event != null) {
+ return observable.mergeWith(Observable.create(subscriber -> subscriber.onNext(eventType.cast(event)))).as(AutoDispose.autoDisposable(provider));
+ } else {
+ return observable.as(AutoDispose.autoDisposable(provider));
+ }
+ }
+ }
+
+ /**
+ * 鏍规嵁eventType鑾峰彇Sticky浜嬩欢
+ */
+ public <T> T getStickyEvent(Class<T> eventType) {
+ synchronized (mStickyEventMap) {
+ return eventType.cast(mStickyEventMap.get(eventType));
+ }
+ }
+
+ /**
+ * 绉婚櫎鎸囧畾eventType鐨凷ticky浜嬩欢
+ */
+ public <T> T removeStickyEvent(Class<T> eventType) {
+ synchronized (mStickyEventMap) {
+ return eventType.cast(mStickyEventMap.remove(eventType));
+ }
+ }
+
+ /**
+ * 绉婚櫎鎵�鏈夌殑Sticky浜嬩欢
+ */
+ public void removeAllStickyEvents() {
+ synchronized (mStickyEventMap) {
+ mStickyEventMap.clear();
+ }
+ }
+
+}
diff --git a/app_base/src/main/java/com/android/app_base/widget/ClearEditText.java b/app_base/src/main/java/com/android/app_base/widget/ClearEditText.java
new file mode 100644
index 0000000..807230b
--- /dev/null
+++ b/app_base/src/main/java/com/android/app_base/widget/ClearEditText.java
@@ -0,0 +1,150 @@
+package com.android.app_base.widget;
+
+import android.content.Context;
+import android.content.res.TypedArray;
+import android.graphics.drawable.Drawable;
+import android.text.Editable;
+import android.text.TextWatcher;
+import android.util.AttributeSet;
+import android.view.MotionEvent;
+import android.view.View;
+
+import androidx.annotation.DrawableRes;
+import androidx.annotation.Nullable;
+import androidx.appcompat.widget.AppCompatEditText;
+import androidx.core.content.ContextCompat;
+import androidx.core.graphics.drawable.DrawableCompat;
+
+import com.android.app_base.R;
+
+/**
+ * @author Ljj
+ * @date 2023.05.17. 17:00
+ * @desc
+ */
+public final class ClearEditText extends AppCompatEditText
+ implements View.OnTouchListener,
+ View.OnFocusChangeListener, TextWatcher {
+
+ private Drawable mClearDrawable;
+
+ @Nullable
+ private View.OnTouchListener mTouchListener;
+ @Nullable
+ private View.OnFocusChangeListener mFocusChangeListener;
+
+ public ClearEditText(Context context) {
+ this(context, null);
+ }
+
+ public ClearEditText(Context context, AttributeSet attrs) {
+ this(context, attrs, android.R.attr.editTextStyle);
+ }
+
+ @SuppressWarnings("all")
+ public ClearEditText(Context context, AttributeSet attrs, int defStyleAttr) {
+ super(context, attrs, defStyleAttr);
+ TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.ClearEditText);
+ mClearDrawable = a.getDrawable(R.styleable.ClearEditText_background);
+ if (mClearDrawable == null){
+ mClearDrawable = DrawableCompat.wrap(ContextCompat.getDrawable(context, R.drawable.input_delete_ic));
+ }
+ mClearDrawable.setBounds(0, 0, mClearDrawable.getIntrinsicWidth(), mClearDrawable.getIntrinsicHeight());
+ setDrawableVisible(false);
+ super.setOnTouchListener(this);
+ super.setOnFocusChangeListener(this);
+ super.addTextChangedListener(this);
+ }
+
+ private void setDrawableVisible(boolean visible) {
+ if (mClearDrawable.isVisible() == visible) {
+ return;
+ }
+
+ mClearDrawable.setVisible(visible, false);
+ Drawable[] drawables = getCompoundDrawablesRelative();
+ setCompoundDrawablesRelative(
+ drawables[0],
+ drawables[1],
+ visible ? mClearDrawable : null,
+ drawables[3]);
+ }
+
+ @Override
+ public void setOnFocusChangeListener(@Nullable View.OnFocusChangeListener onFocusChangeListener) {
+ mFocusChangeListener = onFocusChangeListener;
+ }
+
+ @Override
+ public void setOnTouchListener(@Nullable View.OnTouchListener onTouchListener) {
+ mTouchListener = onTouchListener;
+ }
+
+ /**
+ * {@link View.OnFocusChangeListener}
+ */
+
+ @Override
+ public void onFocusChange(View view, boolean hasFocus) {
+ if (hasFocus && getText() != null) {
+ setDrawableVisible(getText().length() > 0);
+ } else {
+ setDrawableVisible(true);
+ }
+ setDrawableVisible(getText() != null && getText().length() > 0);
+ if (mFocusChangeListener != null) {
+ mFocusChangeListener.onFocusChange(view, hasFocus);
+ }
+ }
+
+ /**
+ * {@link View.OnTouchListener}
+ */
+
+ @Override
+ public boolean onTouch(View view, MotionEvent event) {
+ int x = (int) event.getX();
+
+ // 鏄惁瑙︽懜浜� Drawable
+ boolean touchDrawable = false;
+ // 鑾峰彇甯冨眬鏂瑰悜
+ int layoutDirection = getLayoutDirection();
+ if (layoutDirection == LAYOUT_DIRECTION_LTR) {
+ // 浠庡乏寰�鍙�
+ touchDrawable = x > getWidth() - mClearDrawable.getIntrinsicWidth() - getPaddingEnd() &&
+ x < getWidth() - getPaddingEnd();
+ } else if (layoutDirection == LAYOUT_DIRECTION_RTL) {
+ // 浠庡彸寰�宸�
+ touchDrawable = x > getPaddingStart() &&
+ x < getPaddingStart() + mClearDrawable.getIntrinsicWidth();
+ }
+
+ if (mClearDrawable.isVisible() && touchDrawable) {
+ if (event.getAction() == MotionEvent.ACTION_UP) {
+ setText("");
+ setDrawableVisible(false);
+ }
+ return true;
+ }
+ return mTouchListener != null && mTouchListener.onTouch(view, event);
+ }
+
+ /**
+ * {@link TextWatcher}
+ */
+
+ @Override
+ public void onTextChanged(CharSequence s, int start, int before, int count) {
+ if (isFocused()) {
+ setDrawableVisible(s.length() > 0);
+ }
+ }
+
+ @Override
+ public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
+
+ @Override
+ public void afterTextChanged(Editable s) {}
+
+}
+
diff --git a/app_base/src/main/res/drawable/input_delete_ic.xml b/app_base/src/main/res/drawable/input_delete_ic.xml
new file mode 100644
index 0000000..58bebec
--- /dev/null
+++ b/app_base/src/main/res/drawable/input_delete_ic.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="@dimen/dp_20"
+ android:height="@dimen/dp_20"
+ android:viewportWidth="1024"
+ android:viewportHeight="1024">
+
+ <path
+ android:fillColor="#cbcbcb"
+ android:pathData="M557.7 511.2L845 223.8c3.1-3.1 3.1-8.2 0-11.3l-34-34.1c-3.1-3.1-8.2-3.1-11.3
+0L512.3 465.8 224.9 178.4c-3.1-3.1-8.2-3.1-11.3 0l-34.1 34.1c-3.1 3.1-3.1 8.2 0
+11.3l287.4 287.4-287.4 287.3c-3.1 3.1-3.1 8.2 0 11.3l34.1 34.1c3.1 3.1 8.2 3.1
+11.3 0l287.4-287.4 287.4 287.4c3.1 3.1 8.2 3.1 11.3 0l34.1-34.1c3.1-3.1 3.1-8.2
+0-11.3L557.7 511.2z" />
+</vector>
\ No newline at end of file
diff --git a/app_base/src/main/res/font/cookie_regular.ttf b/app_base/src/main/res/font/cookie_regular.ttf
new file mode 100644
index 0000000..e3ac74e
--- /dev/null
+++ b/app_base/src/main/res/font/cookie_regular.ttf
Binary files differ
diff --git a/app_base/src/main/res/font/roboto_regular.ttf b/app_base/src/main/res/font/roboto_regular.ttf
new file mode 100644
index 0000000..3033308
--- /dev/null
+++ b/app_base/src/main/res/font/roboto_regular.ttf
Binary files differ
diff --git a/app_base/src/main/res/layout/dialog_ui.xml b/app_base/src/main/res/layout/dialog_ui.xml
index f5861bd..8182478 100644
--- a/app_base/src/main/res/layout/dialog_ui.xml
+++ b/app_base/src/main/res/layout/dialog_ui.xml
@@ -17,14 +17,18 @@
android:orientation="vertical"
android:paddingTop="@dimen/dp_20">
- <TextView
+ <androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_ui_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:textColor="#DE000000"
android:textSize="20sp"
+ app:autoSizeTextType="uniform"
+ app:autoSizeMaxTextSize="20sp"
+ app:autoSizeMinTextSize="16sp"
android:textStyle="bold"
+ android:layout_marginHorizontal="20dp"
tools:text="鏍囬" />
@@ -49,7 +53,7 @@
android:layout_weight="1"
android:focusable="true"
android:gravity="center"
- android:paddingVertical="@dimen/dp_15"
+ android:paddingVertical="15dp"
android:text="鍙栨秷"
android:textColor="#FFF83F39"
android:textSize="@dimen/sp_14" />
diff --git a/app_base/src/main/res/layout/wait_dialog.xml b/app_base/src/main/res/layout/wait_dialog.xml
index 31ecfdd..73415be 100644
--- a/app_base/src/main/res/layout/wait_dialog.xml
+++ b/app_base/src/main/res/layout/wait_dialog.xml
@@ -8,7 +8,7 @@
android:gravity="center"
android:orientation="vertical"
app:cardBackgroundColor="#D9000000"
- app:cardCornerRadius="@dimen/dp_15"
+ app:cardCornerRadius="15dp"
app:cardElevation="0px"
>
@@ -32,7 +32,7 @@
android:id="@+id/tv_wait_message"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_marginHorizontal="@dimen/dp_15"
+ android:layout_marginHorizontal="15dp"
android:layout_marginTop="@dimen/dp_5"
android:maxLines="3"
android:text="鍔犺浇涓�.."
diff --git a/app_base/src/main/res/values/arrts.xml b/app_base/src/main/res/values/arrts.xml
index 0ee4233..ce3740d 100644
--- a/app_base/src/main/res/values/arrts.xml
+++ b/app_base/src/main/res/values/arrts.xml
@@ -9,5 +9,8 @@
<attr name="border_radius" format="dimension"/>
</declare-styleable>
-
+ <declare-styleable name="ClearEditText">
+ <attr name="background" format="reference"/>
+ <attr name="padding" format="dimension"/>
+ </declare-styleable>
</resources>
\ No newline at end of file
diff --git a/app_base/src/main/res/values/dimens.xml b/app_base/src/main/res/values/dimens.xml
index ef8cf44..b853d31 100644
--- a/app_base/src/main/res/values/dimens.xml
+++ b/app_base/src/main/res/values/dimens.xml
@@ -2,7 +2,7 @@
<resources>
<!-- Your custom size defind by references, can be writted in anywhere, any module, any values/*.xml, for example: -->
- <dimen name="common_margin">@dimen/dp_15</dimen>
+ <dimen name="common_margin">15dp</dimen>
<!-- dp and sp values, must be defind in this file! -->
<!-- view size,you can add if there is no one -->
diff --git a/app_base/src/main/res/values/styles.xml b/app_base/src/main/res/values/styles.xml
index 1df6e6f..3664421 100644
--- a/app_base/src/main/res/values/styles.xml
+++ b/app_base/src/main/res/values/styles.xml
@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
+ <!-- 鍙充笂瑙掓搷浣滃脊绐� -->
<style name="pop_operate">
<item name="android:windowEnterAnimation">@anim/pop_operate_show</item>
<item name="android:windowExitAnimation">@anim/pop_operate_hide</item>
diff --git a/screenMatch_example_dimens.xml b/screenMatch_example_dimens.xml
index 026f490..3cfbca4 100644
--- a/screenMatch_example_dimens.xml
+++ b/screenMatch_example_dimens.xml
@@ -2,7 +2,7 @@
<resources>
<!-- Your custom size defind by references, can be writted in anywhere, any module, any values/*.xml, for example: -->
- <dimen name="card_common_margin_left">@dimen/dp_15</dimen>
+ <dimen name="card_common_margin_left">15dp</dimen>
<!-- dp and sp values, must be defind in this file! -->
<!-- view size,you can add if there is no one -->
--
Gitblit v1.9.1