From 590c1cff46b105d774271f950caa9f65523f05c1 Mon Sep 17 00:00:00 2001 From: Linjiajia <319408893@qq.com> Date: 星期五, 29 十二月 2023 20:20:40 +0800 Subject: [PATCH] 1、增加护眼模式主题\n2、修复显示问题 --- app/src/main/java/com/application/zhangshi_app_android/ui/main/MainActivity.java | 122 +++++++++++++++++++++++++++++++++------- 1 files changed, 100 insertions(+), 22 deletions(-) diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/main/MainActivity.java b/app/src/main/java/com/application/zhangshi_app_android/ui/main/MainActivity.java index 6875b77..9892470 100644 --- a/app/src/main/java/com/application/zhangshi_app_android/ui/main/MainActivity.java +++ b/app/src/main/java/com/application/zhangshi_app_android/ui/main/MainActivity.java @@ -4,10 +4,10 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; -import android.os.Bundle; import android.text.TextUtils; +import android.util.TypedValue; +import android.view.Menu; import android.view.MenuItem; -import android.view.View; import androidx.annotation.NonNull; import androidx.fragment.app.Fragment; @@ -15,31 +15,39 @@ import androidx.viewpager2.widget.ViewPager2; import com.android.app_base.base.adapter.BaseVp2FragmentAdapter; -import com.android.app_base.base.view.BaseActivity; import com.android.app_base.base.view.BaseFragment; import com.android.app_base.helper.DoubleClickHelper; import com.android.app_base.manager.AppManager; +import com.android.app_base.manager.UserManager; +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.bean.UpdateVersionBean; import com.application.zhangshi_app_android.databinding.ActivityMainBinding; -import com.application.zhangshi_app_android.ui.dialog.VersionUpdateDialog; -import com.application.zhangshi_app_android.ui.function.FunctionFragment; -import com.application.zhangshi_app_android.ui.home.HomeFragment; +import com.application.zhangshi_app_android.ui.DLBaseActivity; +import com.application.zhangshi_app_android.ui.dialog.UpdateDialog; +import com.application.zhangshi_app_android.ui.function.HomeFragment; +import com.application.zhangshi_app_android.ui.home.TreeFragment; import com.application.zhangshi_app_android.ui.personal_center.PersonalCenterFragment; import com.blankj.utilcode.util.AppUtils; import com.blankj.utilcode.util.ToastUtils; import com.google.android.material.navigation.NavigationBarView; - -import java.io.Serializable; /** * @author Ljj * @date 2023.3.15 * @desc app涓婚〉 */ -public class MainActivity extends BaseActivity<ActivityMainBinding, MainViewModel> { +public class MainActivity extends DLBaseActivity<ActivityMainBinding, MainViewModel> { BaseVp2FragmentAdapter<BaseFragment> mPagerAdapter; + + @Override + protected boolean isDrawerLayoutEnabled() { + return false; + } + @Override public int getLayoutId() { return R.layout.activity_main; @@ -52,13 +60,15 @@ @Override public void initParam() { + } + @Override public void initView() { mPagerAdapter = new BaseVp2FragmentAdapter<>(this); mPagerAdapter.addFragment(HomeFragment.newInstance()); - mPagerAdapter.addFragment(FunctionFragment.newInstance()); + mPagerAdapter.addFragment(TreeFragment.newInstance()); mPagerAdapter.addFragment(PersonalCenterFragment.newInstance()); binding.mainVp.setAdapter(mPagerAdapter); binding.mainVp.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback() { @@ -79,7 +89,7 @@ case R.id.navigation_home: binding.mainVp.setCurrentItem(0); return true; - case R.id.navigation_function: + case R.id.navigation_tree: binding.mainVp.setCurrentItem(1); return true; case R.id.navigation_personal_center: @@ -91,11 +101,29 @@ return false; } }); + Menu menu = binding.mainBnv.getMenu(); + // 鑾峰彇褰撳墠涓婚涓殑鑿滃崟鍥炬爣璧勬簮 + TypedValue typedValue1 = new TypedValue(); + getTheme().resolveAttribute(R.attr.menuIconHome, typedValue1, true); + int icon1ResId = typedValue1.resourceId; + TypedValue typedValue2 = new TypedValue(); + getTheme().resolveAttribute(R.attr.menuIconTree, typedValue2, true); + int icon2ResId = typedValue2.resourceId; + TypedValue typedValue3 = new TypedValue(); + getTheme().resolveAttribute(R.attr.menuIconUser, typedValue3, true); + int icon3ResId = typedValue3.resourceId; + // 璁剧疆鑿滃崟椤瑰浘鏍� + menu.findItem(R.id.navigation_home).setIcon(icon1ResId); + menu.findItem(R.id.navigation_tree).setIcon(icon2ResId); + menu.findItem(R.id.navigation_personal_center).setIcon(icon3ResId); } @Override public void initData() { viewModel.getUpdateVersion(); + if (TextUtils.isEmpty(UserManager.getInstance().getUserName()) || TextUtils.isEmpty(UserManager.getInstance().getUserAvatar())) { + viewModel.getInfo(); + } } @Override @@ -104,20 +132,70 @@ @Override public void onChanged(UpdateVersionBean updateVersionBean) { if(updateVersionBean != null && updateVersionBean.getVersionCode()> AppUtils.getAppVersionCode()&&!TextUtils.isEmpty(updateVersionBean.getAppUrl())){ - VersionUpdateDialog.Builder dialogBuilder = new VersionUpdateDialog.Builder(getSelfActivity()) - .setContent(updateVersionBean.getContent()) - .setDownloadUrl(updateVersionBean.getAppUrl()) - ; - if(updateVersionBean.isForceUpdate()){ - dialogBuilder.setCancelable(false); - dialogBuilder.setCanceledOnTouchOutside(false); +// VersionUpdateDialog.Builder dialogBuilder = new VersionUpdateDialog.Builder(getSelfActivity()) +// .setContent(updateVersionBean.getContent()) +// .setDownloadUrl(updateVersionBean.getAppUrl()) +// ; +// if(updateVersionBean.getForceUpdate() == 1){ +// dialogBuilder.setCancelable(false); +// dialogBuilder.setCanceledOnTouchOutside(false); +// } +// dialogBuilder.show(); - } - dialogBuilder.show(); + new UpdateDialog.Builder(getSelfActivity()) + // 鐗堟湰鍚� + .setVersionName(updateVersionBean.getVersionName()) + // 鏄惁寮哄埗鏇存柊 + .setForceUpdate(updateVersionBean.getForceUpdate()==1) + // 鏇存柊鏃ュ織 + .setUpdateLog(updateVersionBean.getContent()) + // 涓嬭浇 URL + .setDownloadUrl(updateVersionBean.getAppUrl()) + // 鏂囦欢 MD5 + .setFileMd5(updateVersionBean.getMd5()) + .show(); } } }); + + viewModel.getInfoLiveData().observe(this, new Observer<GrowthExperienceInformationBean>() { + @Override + public void onChanged(GrowthExperienceInformationBean informationBean) { + if(informationBean != null){ + UserManager.getInstance().setUserName(informationBean.getNickName()); + UserManager.getInstance().setUserAvatar(informationBean.getImg()); + RxBus.getInstance().post(new MessageEvent(MessageEvent.EVENT_UPDATE_USER_INFO,informationBean)); + } + + } + }); + } + + @Override + protected void onNewIntent(Intent intent) { + super.onNewIntent(intent); + switchFragment(mPagerAdapter.getFragmentIndex((Class<? extends Fragment>) intent.getSerializableExtra(INTENT_KEY_IN_FRAGMENT_CLASS))); + } + + private void switchFragment(int fragmentIndex) { + if (fragmentIndex == -1) { + return; + } + + switch (fragmentIndex) { + case 0: + case 1: + case 2: + case 3: + binding.mainVp.setCurrentItem(fragmentIndex); + binding.mainBnv.setSelectedItemId(binding.mainBnv.getMenu().getItem(fragmentIndex).getItemId()); + break; + default: + break; + } + } + @Override protected void onDestroy() { @@ -141,10 +219,10 @@ private static final String INTENT_KEY_IN_FRAGMENT_CLASS = "fragmentClass"; public static void start(Context context) { - start(context, HomeFragment.class); + start(context, TreeFragment.class); } - public static void start(Context context, Class<? extends BaseFragment> fragmentClass) { + public static void start(Context context, Class<? extends Fragment> fragmentClass) { Intent intent = new Intent(context, MainActivity.class); intent.putExtra(INTENT_KEY_IN_FRAGMENT_CLASS, fragmentClass); if (!(context instanceof Activity)) { -- Gitblit v1.9.1