| | |
| | | package com.application.zhangshi_app_android.ui; |
| | | |
| | | |
| | | import android.graphics.Color; |
| | | import android.graphics.drawable.ColorDrawable; |
| | | import android.os.Bundle; |
| | | import android.util.TypedValue; |
| | | import android.view.View; |
| | | import android.view.ViewGroup; |
| | | import android.widget.ImageView; |
| | |
| | | import androidx.databinding.ViewDataBinding; |
| | | import androidx.drawerlayout.widget.DrawerLayout; |
| | | |
| | | import com.android.app_base.base.BaseConfig; |
| | | 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.AnnualHealthStatusActivity; |
| | | 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.MeetingActivity; |
| | | import com.application.zhangshi_app_android.ui.function.PersonalNotepadActivity; |
| | | 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.home.TreeFragment; |
| | | 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.TimePicker; |
| | | import com.github.gzuliyujiang.wheelpicker.entity.DateEntity; |
| | | import com.github.gzuliyujiang.wheelpicker.impl.UnitDateFormatter; |
| | | import com.github.gzuliyujiang.wheelpicker.impl.UnitTimeFormatter; |
| | | import com.github.gzuliyujiang.wheelpicker.widget.DateWheelLayout; |
| | | import com.github.gzuliyujiang.wheelpicker.widget.OptionWheelLayout; |
| | | import com.github.gzuliyujiang.wheelpicker.widget.TimeWheelLayout; |
| | | 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 |
| | |
| | | return R.layout.layout_drawer; |
| | | }; |
| | | |
| | | |
| | | @Override |
| | | protected void onCreate(@Nullable Bundle savedInstanceState) { |
| | | |
| | | //设置主题 |
| | | if (UserManager.getInstance().getNightModeState()) { |
| | | setTheme(R.style.AppTheme_Night); |
| | | } else { |
| | | setTheme(R.style.AppTheme_Normal); |
| | | } |
| | | |
| | | super.onCreate(savedInstanceState); |
| | | |
| | | if (mDrawerLayout != null) { |
| | | classMap.put(HomeFragment.class,(LinearLayout) findViewById(R.id.dl_home_root_net)); |
| | | classMap.put(TreeFragment.class,(LinearLayout) findViewById(R.id.dl_home_root_net)); |
| | | classMap.put(FamilyMemorabiliaActivity.class,(LinearLayout) findViewById(R.id.dl_family_memorabilia)); |
| | | classMap.put(MeetingActivity.class,(LinearLayout) findViewById(R.id.dl_family_meeting)); |
| | | 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(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(PersonalNotepadActivity.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(AnnualHealthStatusActivity.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)); |
| | |
| | | if (linearLayout != null) { |
| | | linearLayout.setOnClickListener(v -> { |
| | | if (set.getKey() != null){ |
| | | if (set.getKey() == HomeFragment.class) { |
| | | MainActivity.start(this, HomeFragment.class); |
| | | if (set.getKey() == TreeFragment.class) { |
| | | MainActivity.start(this, TreeFragment.class); |
| | | }else{ |
| | | AppManager.getAppManager().startActivity(set.getKey()); |
| | | if(this.getClass() != set.getKey()){ |
| | | AppManager.getAppManager().startActivity(set.getKey()); |
| | | } |
| | | } |
| | | mDrawerLayout.close(); |
| | | } |
| | | }); |
| | | } 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(UserManager.getInstance().getUserAvatar(), findViewById(R.id.dl_home_user_avatar)); |
| | | if (avatar.contains("profile/upload")) {//如果是上传到服务器的图片 |
| | | //只取profile/upload以后的部分 |
| | | avatar = avatar.substring(avatar.indexOf("profile/upload")); |
| | | avatar = BaseConfig.BASE_URL_DOMAIN + "/" + avatar; |
| | | } |
| | | GlideUtil.loadImage(avatar, findViewById(R.id.dl_home_user_avatar)); |
| | | TextView userNameTv = findViewById(R.id.dl_home_user_name); |
| | | userNameTv.setText(UserManager.getInstance().getUserName()); |
| | | userNameTv.setText(name); |
| | | } |
| | | } |
| | | private void setSelectItem(LinearLayout linearLayout) { |
| | |
| | | } |
| | | TextView textView = (TextView) linearLayout.getChildAt(1); |
| | | ImageView imageView = (ImageView) linearLayout.getChildAt(2); |
| | | textView.setTextColor(Color.parseColor("#FFF6739F")); |
| | | imageView.setBackgroundResource(R.drawable.ic_vector_pink); |
| | | TypedValue textColor = new TypedValue(); |
| | | getTheme().resolveAttribute(R.attr.drawerTextColor, textColor, true); |
| | | textView.setTextColor(textColor.data); |
| | | TypedValue icon = new TypedValue(); |
| | | getTheme().resolveAttribute(R.attr.drawerSelectIcon, icon, true); |
| | | imageView.setBackgroundResource(icon.resourceId); |
| | | } |
| | | |
| | | |
| | |
| | | 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 TimePicker getTimePicker(){ |
| | | TimePicker timePicker = new TimePicker(this); |
| | | TimeWheelLayout wheelLayout = timePicker.getWheelLayout(); |
| | | wheelLayout.getHourWheelView().setCurtainCorner(0);//背景无圆角 |
| | | wheelLayout.getMinuteWheelView().setCurtainCorner(5);//背景右边有圆角 |
| | | wheelLayout.getSecondWheelView().setCurtainCorner(4);//背景左边有圆角 |
| | | wheelLayout.setTimeFormatter(new UnitTimeFormatter()); |
| | | 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())); |
| | | |
| | | timePicker.getWheelLayout().setResetWhenLinkage(false); |
| | | return timePicker; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | public OptionPicker getOptionPicker(List<String> list){ |
| | | OptionPicker picker = new OptionPicker(this); |
| | | OptionWheelLayout wheelLayout = picker.getWheelLayout(); |