package com.application.zhangshi_app_android.ui.personal_center; import android.content.Intent; import android.graphics.drawable.ColorDrawable; import android.os.Bundle; import android.view.View; import android.view.ViewGroup; import android.widget.PopupWindow; import com.android.app_base.base.dialog.BaseDialog; import com.android.app_base.base.dialog.UIDialog; import com.android.app_base.base.view.BaseFragment; import com.android.app_base.manager.AppManager; import com.android.app_base.manager.UserManager; 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.BR; import com.application.zhangshi_app_android.R; import com.application.zhangshi_app_android.bean.GrowthExperienceInformationBean; import com.application.zhangshi_app_android.databinding.FragmentPersonalCenterBinding; import com.application.zhangshi_app_android.ui.DLBaseFragment; import com.application.zhangshi_app_android.ui.dialog.PetOwnerInfoDialog; import com.application.zhangshi_app_android.ui.function.PetMemoActivity; import com.application.zhangshi_app_android.ui.login.LoginActivity; import io.reactivex.Observer; import io.reactivex.functions.Consumer; /** * @author Ljj * @date 2023.03.15. 20:19 * @desc 个人中心 Fragment */ public class PersonalCenterFragment extends DLBaseFragment { private PopupWindow popupWindow; public PersonalCenterFragment() { } public static PersonalCenterFragment newInstance() { PersonalCenterFragment fragment = new PersonalCenterFragment(); Bundle args = new Bundle(); fragment.setArguments(args); return fragment; } @Override protected int getLayoutId() { return R.layout.fragment_personal_center; } @Override protected int getVariableId() { return BR.viewModel; } @Override protected void initParam() { } @Override protected void initView() { View view = View.inflate(getSelfActivity(),R.layout.pop_operate_person_center,null); popupWindow = initPopUpWindow(view); setOnClickListener( view.findViewById(R.id.tv_basic_info), view.findViewById(R.id.tv_change_login_bg) ); binding.ivOperate.setOnClickListener(v -> { popupWindow.showAsDropDown(binding.ivOperate,-ScreenSizeUtils.dip2px(getSelfActivity(),85) +binding.ivOperate.getWidth(),0); }); binding.tvLoginOut.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { new UIDialog.Builder(getSelfActivity()) .setTitle("提示") .setContent("确定要退出登录吗?") .setConfirm("确定") .setCancel("取消") .setListener(new UIDialog.OnListener() { @Override public void onConfirm(BaseDialog dialog) { UserManager.getInstance().loginOut(); AppManager.getAppManager().startActivity(new Intent(getSelfActivity(), LoginActivity.class)); getSelfActivity().finish(); } }) .show(); } }); } @Override protected void initData() { viewModel.getInfo(); } @Override public void onResume() { super.onResume(); initData(); } @Override protected void initLiveDataObserve() { } @Override public void onClick(View v) { super.onClick(v); int id = v.getId(); if (id == R.id.tv_basic_info){ popupWindow.dismiss(); AppManager.getAppManager().startActivity(new Intent(getSelfActivity(),BasicInfoActivity.class) .putExtra("bean",viewModel.getInfoLiveData().getValue())); }else if (id == R.id.tv_change_login_bg){ popupWindow.dismiss(); AppManager.getAppManager().startActivity(LoginBgChangeActivity.class); } } @Override protected boolean isStatusBarImmersionEnabled() { return true; } }