Linjiajia
2023-07-25 82e57df230ecb744af6c8865f80870ba03c86d89
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,39 @@
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;
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;
/**
@@ -68,34 +97,40 @@
    };
    @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(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(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(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()) {
                LinearLayout linearLayout = set.getValue();
                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 {
@@ -126,7 +161,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点击返回按钮会退出当前Activity,如果pop中有Editor的话,focusable必须要为true
        popupWindow.setFocusable(true);
        // 设置pop可点击,为false点击事件无效,默认为true
        popupWindow.setTouchable(true);
        // 设置点击pop外侧消失,默认为false;在focusable为true时点击外侧始终消失
        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;
    }
}