From 31b7700b976a46901f67c5d7a00281ca4745fc9f Mon Sep 17 00:00:00 2001 From: Linjiajia <319408893@qq.com> Date: 星期六, 07 十月 2023 21:44:35 +0800 Subject: [PATCH] 调整旅游模块功能 --- app/src/main/java/com/application/zhangshi_app_android/ui/DLBaseActivity.java | 167 ++++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 145 insertions(+), 22 deletions(-) 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 5579045..a93d8b1 100644 --- a/app/src/main/java/com/application/zhangshi_app_android/ui/DLBaseActivity.java +++ b/app/src/main/java/com/application/zhangshi_app_android/ui/DLBaseActivity.java @@ -1,9 +1,13 @@ package com.application.zhangshi_app_android.ui; import android.graphics.Color; +import android.graphics.drawable.ColorDrawable; +import android.os.Bundle; +import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.LinearLayout; +import android.widget.PopupWindow; import android.widget.TextView; import androidx.annotation.Nullable; @@ -14,14 +18,46 @@ 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.manager.UserManager; +import com.android.app_base.utils.GlideUtil; +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.R; +import com.application.zhangshi_app_android.ui.function.CertificateOfHonorActivity; +import com.application.zhangshi_app_android.ui.function.CleanStorageActivity; +import com.application.zhangshi_app_android.ui.function.ContactsActivity; import com.application.zhangshi_app_android.ui.function.FamilyAssetsActivity; import com.application.zhangshi_app_android.ui.function.FamilyMemorabiliaActivity; +import com.application.zhangshi_app_android.ui.function.GrowthExperienceActivity; +import com.application.zhangshi_app_android.ui.function.HealthCareActivity; import com.application.zhangshi_app_android.ui.function.HomeDevicesActivity; +import com.application.zhangshi_app_android.ui.function.HonorCollectionActivity; +import com.application.zhangshi_app_android.ui.function.HundredWishActivity; +import com.application.zhangshi_app_android.ui.function.IncomeAndExpensesActivity; +import com.application.zhangshi_app_android.ui.function.LittleDoctorActivity; +import com.application.zhangshi_app_android.ui.function.MarriageActivity; +import com.application.zhangshi_app_android.ui.function.PetActivity; +import com.application.zhangshi_app_android.ui.function.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; + +import io.reactivex.functions.Consumer; /** * @author Ljj @@ -67,36 +103,66 @@ }; @Override - protected void onResume() { - super.onResume(); + protected void onCreate(@Nullable Bundle savedInstanceState) { + super.onCreate(savedInstanceState); if (mDrawerLayout != null) { - classMap.put(null,(LinearLayout) findViewById(R.id.dl_home_root_net)); + classMap.put(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)); - classMap.put(null,(LinearLayout) findViewById(R.id.dl_honor_collection)); - classMap.put(null,(LinearLayout) findViewById(R.id.dl_little_doctor)); - classMap.put(null,(LinearLayout) findViewById(R.id.dl_clean_storage)); - classMap.put(null,(LinearLayout) findViewById(R.id.dl_contacts)); - classMap.put(null,(LinearLayout) findViewById(R.id.dl_pet)); - classMap.put(null,(LinearLayout) findViewById(R.id.dl_income_and_expenses)); - classMap.put(null,(LinearLayout) findViewById(R.id.dl_growing_up)); - classMap.put(null,(LinearLayout) findViewById(R.id.dl_marriage)); - classMap.put(null,(LinearLayout) findViewById(R.id.dl_property)); - classMap.put(null,(LinearLayout) findViewById(R.id.dl_hundred_wish)); - classMap.put(null,(LinearLayout) findViewById(R.id.dl_health_care)); - classMap.put(null,(LinearLayout) findViewById(R.id.dl_certificate_of_honor)); - classMap.put(null,(LinearLayout) findViewById(R.id.dl_privacy)); + classMap.put(HonorCollectionActivity.class,(LinearLayout) findViewById(R.id.dl_honor_collection)); + classMap.put(LittleDoctorActivity.class,(LinearLayout) findViewById(R.id.dl_little_doctor)); + classMap.put(CleanStorageActivity.class,(LinearLayout) findViewById(R.id.dl_clean_storage)); + classMap.put(ContactsActivity.class,(LinearLayout) findViewById(R.id.dl_contacts)); + classMap.put(PetActivity.class,(LinearLayout) findViewById(R.id.dl_pet)); + classMap.put(IncomeAndExpensesActivity.class,(LinearLayout) findViewById(R.id.dl_income_and_expenses)); + classMap.put(GrowthExperienceActivity.class,(LinearLayout) findViewById(R.id.dl_growing_up)); + classMap.put(MarriageActivity.class,(LinearLayout) findViewById(R.id.dl_marriage)); + classMap.put(PropertyActivity.class,(LinearLayout) findViewById(R.id.dl_property)); + classMap.put(HundredWishActivity.class,(LinearLayout) findViewById(R.id.dl_hundred_wish)); + classMap.put(HealthCareActivity.class,(LinearLayout) findViewById(R.id.dl_health_care)); + classMap.put(CertificateOfHonorActivity.class,(LinearLayout) findViewById(R.id.dl_certificate_of_honor)); + classMap.put(PrivacyActivity.class,(LinearLayout) findViewById(R.id.dl_privacy)); + classMap.put(TourismActivity.class,(LinearLayout) findViewById(R.id.dl_tourism)); + setSelectItem(classMap.get(getClass())); for (Map.Entry<Class, LinearLayout> set : classMap.entrySet()) { - set.getValue().setOnClickListener(v -> { - if (set.getKey() != null){ - AppManager.getAppManager().startActivity(set.getKey()); - } - }); + LinearLayout linearLayout = set.getValue(); + if (linearLayout != null) { + linearLayout.setOnClickListener(v -> { + if (set.getKey() != null){ + if (set.getKey() == HomeFragment.class) { + MainActivity.start(this, HomeFragment.class); + }else{ + AppManager.getAppManager().startActivity(set.getKey()); + } + } + }); + } else { + + } } mDrawerLayout.setScrimColor(getResources().getColor(R.color.color_shadow)); + + } + + setNameAndAvatar(UserManager.getInstance().getUserName(),UserManager.getInstance().getUserAvatar()); + RxBus.getInstance().toObservable(this, MessageEvent.class).subscribe(new Consumer<MessageEvent>() { + @Override + public void accept(MessageEvent event) throws Exception { + if(event.getMessageEventCode() == MessageEvent.EVENT_UPDATE_USER_INFO){ + setNameAndAvatar(UserManager.getInstance().getUserName(),UserManager.getInstance().getUserAvatar()); + } + } + }); + } + + public void setNameAndAvatar(String name,String avatar){ + if (mDrawerLayout != null){ + GlideUtil.loadImage(avatar, findViewById(R.id.dl_home_user_avatar)); + TextView userNameTv = findViewById(R.id.dl_home_user_name); + userNameTv.setText(name); } } private void setSelectItem(LinearLayout linearLayout) { @@ -120,7 +186,64 @@ @Override public void onLeftClick(TitleBar titleBar) { - super.onRightClick(titleBar); + super.onLeftClick(titleBar); mDrawerLayout.open(); } + + 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; + } + + 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; + } } -- Gitblit v1.9.1