147 lines
3.8 KiB
Java
147 lines
3.8 KiB
Java
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<AppThemeChangeLayoutBinding, MinePresenter>
|
|
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) {
|
|
|
|
}
|
|
}
|