package com.ckkj.water.mine; import android.os.Bundle; import android.view.View; import com.ckkj.water.R; import com.ckkj.water.base.BaseActivity; import com.ckkj.water.main.entity.CheckVersionEntity; import com.ckkj.water.mine.entity.MineUserInfoBean; import com.ckkj.water.databinding.AppThemeChangeLayoutBinding; import com.ckkj.water.mine.mvp.MineContract; import com.ckkj.water.mine.mvp.MineImpl; import com.ckkj.water.mine.mvp.MinePresenter; import com.ckkj.water.network.BaseBean; import com.ckkj.water.utils.manager.ThemeManager; import com.gyf.immersionbar.ImmersionBar; /** * @author fengxiaoyang * @date 2026/5/17 * @description TODO: 切换主题 */ public class AppThemActivity extends BaseActivity implements MineContract.MineView { @Override public void initData(Bundle savedInstanceState) { super.initData(savedInstanceState); ImmersionBar.with(this) .statusBarColor(R.color.transparent) // 设置状态栏颜色 .statusBarDarkFont(true) // 设置状态栏字体为黑色 .titleBar(viewBinding.rlTitle) .init(); viewBinding.includedTitle.tvTitle.setText(R.string.register_title); initListener(); int currentTheme = ThemeManager.getCurrentTheme(mContext); if(currentTheme == ThemeManager.MODE_LIGHT){ viewBinding.checkNight.setChecked(false); viewBinding.checkLight.setChecked(true); }else{ viewBinding.checkNight.setChecked(true); viewBinding.checkLight.setChecked(false); } } private void initListener() { setClick(viewBinding.includedTitle.imgBack); setClick(viewBinding.linearLight); setClick(viewBinding.linearNight); setClick(viewBinding.imgLight); setClick(viewBinding.imgNight); } private void setClick(View view) { view.setOnClickListener(this::onClick); } public void onClick(View v){ switch (v.getId()){ case R.id.img_back: finish(); break; case R.id.linear_light: case R.id.img_light: switchTheme(ThemeManager.MODE_LIGHT); viewBinding.checkNight.setChecked(false); viewBinding.checkLight.setChecked(true); break; case R.id.linear_night: case R.id.img_night: switchTheme(ThemeManager.MODE_DARK); viewBinding.checkNight.setChecked(true); viewBinding.checkLight.setChecked(false); break; } } private void switchTheme(int themeMode) { ThemeManager.setCurrentTheme(this, themeMode); ThemeManager.applyTheme(themeMode); recreate(); // 需要重新创建Activity使主题生效 } @Override public MinePresenter createPresenter() { return new MinePresenter(new MineImpl()); } @Override public int getLayoutResId(Bundle savedInstanceState) { return 0; } @Override public void showError(String message) { } @Override public void logOut(BaseBean bean) { } @Override public void getUserInfoSuccess(MineUserInfoBean bean) { } @Override public void updateUserInfoSuccess(BaseBean bean) { } @Override public void updateUserPasswordSuccess(BaseBean bean) { } @Override public void logOutSuccess(BaseBean bean) { } @Override public void uploadImageSuccess(MineUserInfoBean bean) { } @Override public void getAppVersionSuccess(CheckVersionEntity bean) { } @Override public void getAccountLogoffCodeSuccess(BaseBean bean) { } @Override public void confirmAccountLogoffCodeSuccess(BaseBean bean) { } }