From f7d36b0f2c254a048905ae27c9e421427eb0f2c8 Mon Sep 17 00:00:00 2001
From: Administrator <123>
Date: Thu, 04 Nov 2021 02:04:19 +0000
Subject: [PATCH] tablayout 框架   分页加载框架

---
 app/src/main/java/com/duqing/missions/MainActivity.java |   54 ++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 36 insertions(+), 18 deletions(-)

diff --git a/app/src/main/java/com/duqing/missions/MainActivity.java b/app/src/main/java/com/duqing/missions/MainActivity.java
index 6c2f39a..09a3b32 100644
--- a/app/src/main/java/com/duqing/missions/MainActivity.java
+++ b/app/src/main/java/com/duqing/missions/MainActivity.java
@@ -1,30 +1,48 @@
 package com.duqing.missions;
 
-import android.os.Bundle;
+import androidx.viewpager2.widget.ViewPager2;
 
-import androidx.navigation.NavController;
-import androidx.navigation.Navigation;
-import androidx.navigation.ui.AppBarConfiguration;
-import androidx.navigation.ui.NavigationUI;
-
-import com.duqing.missions.base.BaseActivity;
+import com.duqing.missions.base.FragmentAdapter;
+import com.duqing.missions.base.activities.BaseActivity;
 import com.duqing.missions.databinding.ActivityMainBinding;
+import com.duqing.missions.ui.main.hall.HallFragment;
+import com.duqing.missions.ui.main.home.HomeFragment;
+import com.duqing.missions.ui.main.mine.MineFragment;
 
 public class MainActivity extends BaseActivity<ActivityMainBinding> {
 
 
     @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-
-        // Passing each menu ID as a set of Ids because each
-        // menu should be considered as top level destinations.
-        AppBarConfiguration appBarConfiguration = new AppBarConfiguration.Builder(
-                R.id.navigation_home, R.id.navigation_dashboard, R.id.navigation_notifications)
-                .build();
-        NavController navController = Navigation.findNavController(this, R.id.nav_host_fragment_activity_main);
-        NavigationUI.setupActionBarWithNavController(this, navController, appBarConfiguration);
-        NavigationUI.setupWithNavController(binding.navView, navController);
+    public void initViews() {
+        setStatusBarBgColor(R.color.red);
+        setStatusBarTextColor(false);
+        binding.navView.setOnItemSelectedListener(item -> {
+            for(int i = 0 ; i < binding.navView.getMenu().size() ; i ++){
+                if(item.getItemId() == binding.navView.getMenu().getItem(i).getItemId()){
+                    binding.viewPager2.setCurrentItem(i);
+                    return true;
+                }
+            }
+            return false;
+        });
+        final FragmentAdapter fragmentAdapter = new FragmentAdapter(this);
+        fragmentAdapter.addFragment(new HomeFragment());
+        fragmentAdapter.addFragment(new HallFragment());
+        fragmentAdapter.addFragment(new MineFragment());
+        //设置当前可见Item左右可见page数,次范围内不会被销毁
+        //禁用预加载
+        binding.viewPager2.setOffscreenPageLimit(ViewPager2.OFFSCREEN_PAGE_LIMIT_DEFAULT);
+        binding.viewPager2.setAdapter(fragmentAdapter);
+        binding.viewPager2.setCurrentItem(0);
+        binding.viewPager2.setUserInputEnabled(false); //true:滑动,false:禁止滑动
+        binding.viewPager2.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback() {
+            @Override
+            public void onPageSelected(int position) {
+                binding.navView.getMenu().getItem(position).setChecked(true);
+            }
+        });
+        binding.viewPager2.setCurrentItem(0);//设置默认第
     }
 
+
 }
\ No newline at end of file

--
Gitblit v1.9.1