|
@@ -1,17 +1,19 @@
|
|
|
package com.sjkj.appthreefloor_tsgz.activity;
|
|
|
|
|
|
import android.content.Intent;
|
|
|
-import android.graphics.Color;
|
|
|
-import android.os.Build;
|
|
|
import android.os.Bundle;
|
|
|
import android.os.Handler;
|
|
|
import android.os.Message;
|
|
|
import android.util.SparseIntArray;
|
|
|
+import android.util.TypedValue;
|
|
|
+import android.view.Gravity;
|
|
|
import android.view.KeyEvent;
|
|
|
import android.view.MenuItem;
|
|
|
import android.view.View;
|
|
|
-import android.view.Window;
|
|
|
-import android.view.WindowManager;
|
|
|
+import android.widget.FrameLayout;
|
|
|
+import android.widget.ImageView;
|
|
|
+import android.widget.LinearLayout;
|
|
|
+import android.widget.TextView;
|
|
|
import android.widget.Toast;
|
|
|
|
|
|
import androidx.annotation.NonNull;
|
|
@@ -20,6 +22,8 @@ import androidx.lifecycle.ViewModelProvider;
|
|
|
import androidx.viewpager.widget.ViewPager;
|
|
|
|
|
|
import com.google.android.material.bottomnavigation.BottomNavigationView;
|
|
|
+import com.scwang.smartrefresh.layout.util.DensityUtil;
|
|
|
+import com.sjkj.appthreefloor_tsgz.BuildConfig;
|
|
|
import com.sjkj.appthreefloor_tsgz.R;
|
|
|
import com.sjkj.appthreefloor_tsgz.activity.viewModel.MainViewModel;
|
|
|
import com.sjkj.appthreefloor_tsgz.adapter.ViewPagerAdapter;
|
|
@@ -27,8 +31,13 @@ import com.sjkj.appthreefloor_tsgz.databinding.ActivityMainBinding;
|
|
|
import com.sjkj.appthreefloor_tsgz.fragment.EventFragment;
|
|
|
import com.sjkj.appthreefloor_tsgz.fragment.MainFragment;
|
|
|
import com.sjkj.appthreefloor_tsgz.fragment.MineFragment;
|
|
|
+import com.sjkj.appthreefloor_tsgz.utils.NavigationDateUtils;
|
|
|
+import com.sjkj.appthreefloor_tsgz.utils.VersionUtils;
|
|
|
+import com.sjkj.base_lib.app.AppManager;
|
|
|
+import com.sjkj.base_lib.utils.ToastUtils;
|
|
|
import com.sjkj.base_lib.view.BaseActivity;
|
|
|
|
|
|
+import java.lang.reflect.Field;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
|
|
@@ -63,76 +72,22 @@ public class MainActivity extends BaseActivity {
|
|
|
binding.setViewModel(viewModel);
|
|
|
binding.setLifecycleOwner(this);
|
|
|
}
|
|
|
- public void setStatusBarTransparent() {
|
|
|
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
|
|
|
- Window window = getWindow();
|
|
|
- window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
|
|
|
- int currentApiVersion = Build.VERSION.SDK_INT;
|
|
|
- if (currentApiVersion >= Build.VERSION_CODES.M) {
|
|
|
- // 如果你想要设置状态栏文字颜色为深色,使用以下代码
|
|
|
- window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
|
|
|
- } else {
|
|
|
- // 对于Android 6.0以下版本,你可以这样设置状态栏为透明
|
|
|
- window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
|
|
|
- window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
|
|
|
- window.setStatusBarColor(Color.TRANSPARENT);
|
|
|
- }
|
|
|
- // 对于导航栏也可以这样设置
|
|
|
- // window.setNavigationBarColor(Color.TRANSPARENT);
|
|
|
- }
|
|
|
- }
|
|
|
@Override
|
|
|
public void initView() {
|
|
|
super.initView();
|
|
|
-
|
|
|
- // setStatusBarTransparent(); // 调用沉浸式状态栏方法
|
|
|
-// ImmersionBar.with(this)
|
|
|
-// .transparentStatusBar() //透明状态栏,不写默认透明色
|
|
|
-// .transparentNavigationBar() //透明导航栏,不写默认黑色(设置此方法,fullScreen()方法自动为true)
|
|
|
-// .transparentBar() //透明状态栏和导航栏,不写默认状态栏为透明色,导航栏为黑色(设置此方法,fullScreen()方法自动为true)
|
|
|
-// .statusBarColor(R.color.colorPrimary) //状态栏颜色,不写默认透明色
|
|
|
-// .navigationBarColor(R.color.colorPrimary) //导航栏颜色,不写默认黑色
|
|
|
-// .barColor(R.color.colorPrimary) //同时自定义状态栏和导航栏颜色,不写默认状态栏为透明色,导航栏为黑色
|
|
|
-// .statusBarAlpha(0.3f) //状态栏透明度,不写默认0.0f
|
|
|
-// .navigationBarAlpha(0.4f) //导航栏透明度,不写默认0.0F
|
|
|
-// .barAlpha(0.3f) //状态栏和导航栏透明度,不写默认0.0f
|
|
|
-// .statusBarDarkFont(true) //状态栏字体是深色,不写默认为亮色
|
|
|
-// .navigationBarDarkIcon(true) //导航栏图标是深色,不写默认为亮色
|
|
|
-// .autoDarkModeEnable(true) //自动状态栏字体和导航栏图标变色,必须指定状态栏颜色和导航栏颜色才可以自动变色哦
|
|
|
-// .autoStatusBarDarkModeEnable(true,0.2f) //自动状态栏字体变色,必须指定状态栏颜色才可以自动变色哦
|
|
|
-// .autoNavigationBarDarkModeEnable(true,0.2f) //自动导航栏图标变色,必须指定导航栏颜色才可以自动变色哦
|
|
|
-// .fullScreen(true) //有导航栏的情况下,activity全屏显示,也就是activity最下面被导航栏覆盖,不写默认非全屏
|
|
|
-// .hideBar(BarHide.FLAG_HIDE_BAR) //隐藏状态栏或导航栏或两者,不写默认不隐藏
|
|
|
-// .fitsSystemWindows(true) //解决状态栏和布局重叠问题,任选其一,默认为false,当为true时一定要指定statusBarColor(),不然状态栏为透明色,还有一些重载方法
|
|
|
-// .supportActionBar(true) //支持ActionBar使用
|
|
|
-// .removeSupportAllView() //移除全部view支持
|
|
|
-// .navigationBarEnable(true) //是否可以修改导航栏颜色,默认为true
|
|
|
-// .navigationBarWithKitkatEnable(true) //是否可以修改安卓4.4和emui3.x手机导航栏颜色,默认为true
|
|
|
-// .navigationBarWithEMUI3Enable(true) //是否可以修改emui3.x手机导航栏颜色,默认为true
|
|
|
-// .keyboardEnable(true) //解决软键盘与底部输入框冲突问题,默认为false,还有一个重载方法,可以指定软键盘mode
|
|
|
-// .keyboardMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE) //单独指定软键盘模式
|
|
|
-// .setOnKeyboardListener(new OnKeyboardListener() { //软键盘监听回调,keyboardEnable为true才会回调此方法
|
|
|
-// @Override
|
|
|
-// public void onKeyboardChange(boolean isPopup, int keyboardHeight) {
|
|
|
-// }
|
|
|
-// })
|
|
|
-// .addTag("tag") //给以上设置的参数打标记
|
|
|
-// .getTag("tag") //根据tag获得沉浸式参数
|
|
|
-// .reset() //重置所以沉浸式参数
|
|
|
-// .init(); //必须调用方可应用以上所配置的参数
|
|
|
-
|
|
|
fragmentArrayList.add(eventFragment);
|
|
|
fragmentArrayList.add(mainFragment);
|
|
|
fragmentArrayList.add(mineFragment);
|
|
|
pagerAdapter = new ViewPagerAdapter(MainActivity.this.getSupportFragmentManager(), fragmentArrayList);
|
|
|
binding.viewPager.setAdapter(pagerAdapter);
|
|
|
-
|
|
|
binding.viewPager.setCurrentItem(1);
|
|
|
- binding.mNavigation.setCurrentItem(1);
|
|
|
- binding.mNavigation.enableAnimation(false);
|
|
|
- binding.mNavigation.enableShiftingMode(false);
|
|
|
- binding.mNavigation.enableItemShiftingMode(false);
|
|
|
- binding.mNavigation.setTextVisibility(false);
|
|
|
+
|
|
|
+// binding.mNavigation.enableAnimation(false);
|
|
|
+// binding.mNavigation.enableShiftingMode(false);
|
|
|
+// binding.mNavigation.enableItemShiftingMode(false);
|
|
|
+// binding.mNavigation.setTextVisibility(true);
|
|
|
+ binding.mNavigation.setData(NavigationDateUtils.createDefaultData());
|
|
|
+ binding.mNavigation.setSelectPosition(1);
|
|
|
binding.viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
|
|
|
@Override
|
|
|
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
|
|
@@ -141,8 +96,9 @@ public class MainActivity extends BaseActivity {
|
|
|
|
|
|
@Override
|
|
|
public void onPageSelected(int position) {
|
|
|
- binding.mNavigation.setCurrentItem(position);
|
|
|
- binding.mNavigation.getMenu().getItem(position).setChecked(true);
|
|
|
+ //binding.mNavigation.setCurrentItem(position);
|
|
|
+ //binding.mNavigation.getMenu().getItem(position).setChecked(true);
|
|
|
+ binding.mNavigation.setSelectPosition(position);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -150,30 +106,47 @@ public class MainActivity extends BaseActivity {
|
|
|
|
|
|
}
|
|
|
});
|
|
|
+ //设置监听
|
|
|
+ binding.mNavigation.setOnMyItemClickListener((view, position) -> {
|
|
|
+ switch (position) {
|
|
|
+ case 0:
|
|
|
+ binding.mNavigation.setSelectPosition(0);
|
|
|
+ binding.viewPager.setCurrentItem(0);
|
|
|
+ break;
|
|
|
+ case 1:
|
|
|
+ binding.mNavigation.setSelectPosition(1);
|
|
|
+ binding.viewPager.setCurrentItem(1);
|
|
|
+ break;
|
|
|
+ case 2:
|
|
|
+ binding.mNavigation.setSelectPosition(2);
|
|
|
+ binding.viewPager.setCurrentItem(2);
|
|
|
+ break;
|
|
|
|
|
|
- binding.mNavigation.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
|
|
|
-
|
|
|
- @Override
|
|
|
- public boolean onNavigationItemSelected(@NonNull MenuItem item) {
|
|
|
- switch (item.getItemId()) {
|
|
|
- //通榆/四平
|
|
|
- case R.id.action_event:
|
|
|
- binding.viewPager.setCurrentItem(0);
|
|
|
- break;
|
|
|
- case R.id.action_main:
|
|
|
- binding.viewPager.setCurrentItem(1);
|
|
|
- break;
|
|
|
-
|
|
|
- case R.id.action_mine:
|
|
|
- binding.viewPager.setCurrentItem(2);
|
|
|
- break;
|
|
|
- default:
|
|
|
- break;
|
|
|
- }
|
|
|
-
|
|
|
- return false;
|
|
|
}
|
|
|
});
|
|
|
+// binding.mNavigation.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
|
|
|
+//
|
|
|
+// @Override
|
|
|
+// public boolean onNavigationItemSelected(@NonNull MenuItem item) {
|
|
|
+// switch (item.getItemId()) {
|
|
|
+// //通榆/四平
|
|
|
+// case R.id.action_event:
|
|
|
+// binding.viewPager.setCurrentItem(0);
|
|
|
+// break;
|
|
|
+// case R.id.action_main:
|
|
|
+// binding.viewPager.setCurrentItem(1);
|
|
|
+// break;
|
|
|
+//
|
|
|
+// case R.id.action_mine:
|
|
|
+// binding.viewPager.setCurrentItem(2);
|
|
|
+// break;
|
|
|
+// default:
|
|
|
+// break;
|
|
|
+// }
|
|
|
+//
|
|
|
+// return false;
|
|
|
+// }
|
|
|
+// });
|
|
|
|
|
|
|
|
|
// AppTools.initLink(this);
|
|
@@ -182,22 +155,22 @@ public class MainActivity extends BaseActivity {
|
|
|
@Override
|
|
|
public void loadData() {
|
|
|
// //版本信息校验
|
|
|
-// VersionUtils versionUtils = new VersionUtils(AppManager.getAppManager().currentActivity());
|
|
|
-// versionUtils.checkVersion(BuildConfig.VERSION_NAME, BuildConfig.VERSION_CODE, new VersionUtils.CallBack() {
|
|
|
-// @Override
|
|
|
-// public void onError(String msg) {
|
|
|
-// ToastUtils.show(msg + "");
|
|
|
-// }
|
|
|
-//
|
|
|
-// @Override
|
|
|
-// public void onSuccess() {
|
|
|
-// }
|
|
|
-//
|
|
|
-// @Override
|
|
|
-// public void onNewest() {
|
|
|
-// ToastUtils.show("当前版本为最新版本");
|
|
|
-// }
|
|
|
-// });
|
|
|
+ VersionUtils versionUtils = new VersionUtils(AppManager.getAppManager().currentActivity());
|
|
|
+ versionUtils.checkVersion(BuildConfig.VERSION_NAME, BuildConfig.VERSION_CODE, new VersionUtils.CallBack() {
|
|
|
+ @Override
|
|
|
+ public void onError(String msg) {
|
|
|
+ ToastUtils.show(msg + "");
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onSuccess() {
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onNewest() {
|
|
|
+ ToastUtils.show("当前版本为最新版本");
|
|
|
+ }
|
|
|
+ });
|
|
|
// DhUtils.getInstance().initServiceInfo();
|
|
|
}
|
|
|
|