| | |
| | | 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; |
| | |
| | | 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.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 |
| | |
| | | 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(HonorCollectionActivity.class,(LinearLayout) findViewById(R.id.dl_honor_collection)); |
| | | classMap.put(LittleDoctorActivity.class,(LinearLayout) findViewById(R.id.dl_little_doctor)); |
| | | classMap.put(CleanStorageActivity.class,(LinearLayout) findViewById(R.id.dl_clean_storage)); |
| | | classMap.put(null,(LinearLayout) findViewById(R.id.dl_contacts)); |
| | | classMap.put(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(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(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) { |
| | |
| | | |
| | | @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; |
| | | } |
| | | } |