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