优化viewpager 主页的问题
This commit is contained in:
@@ -5,6 +5,7 @@ import android.util.Log;
|
|||||||
import androidx.fragment.app.Fragment;
|
import androidx.fragment.app.Fragment;
|
||||||
import androidx.fragment.app.FragmentManager;
|
import androidx.fragment.app.FragmentManager;
|
||||||
import androidx.lifecycle.Observer;
|
import androidx.lifecycle.Observer;
|
||||||
|
import androidx.viewpager.widget.ViewPager;
|
||||||
|
|
||||||
import com.tencent.mmkv.MMKV;
|
import com.tencent.mmkv.MMKV;
|
||||||
import com.ttstd.dialer.R;
|
import com.ttstd.dialer.R;
|
||||||
@@ -37,7 +38,8 @@ public class MainActivity extends BaseMvvmActivity<MainViewModel, ActivityMainBi
|
|||||||
private ContactFragment mContactFragment;
|
private ContactFragment mContactFragment;
|
||||||
private HomeFragment mHomeFragment;
|
private HomeFragment mHomeFragment;
|
||||||
|
|
||||||
private int mCurrentIndex = 0;
|
private int mDefaultIndex = 0;
|
||||||
|
private int mCurrentIndex = -1;
|
||||||
private int mFragmentSize = 0;
|
private int mFragmentSize = 0;
|
||||||
|
|
||||||
private int APK_PER_FRAGMENT = 9;
|
private int APK_PER_FRAGMENT = 9;
|
||||||
@@ -81,12 +83,12 @@ public class MainActivity extends BaseMvvmActivity<MainViewModel, ActivityMainBi
|
|||||||
mSettingsFragment = new SettingsFragment();
|
mSettingsFragment = new SettingsFragment();
|
||||||
mFragments.add(mSettingsFragment);
|
mFragments.add(mSettingsFragment);
|
||||||
mFragmentSize += 1;
|
mFragmentSize += 1;
|
||||||
mCurrentIndex += 1;
|
mDefaultIndex += 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean contactHome = mMMKV.decodeBool(CommonConfig.CONTACT_HOME_PAGE, false);
|
boolean contactHome = mMMKV.decodeBool(CommonConfig.CONTACT_HOME_PAGE, false);
|
||||||
if (!contactHome) {
|
if (!contactHome) {
|
||||||
mCurrentIndex += 1;
|
mDefaultIndex += 1;
|
||||||
}
|
}
|
||||||
if (mContactFragment == null) {
|
if (mContactFragment == null) {
|
||||||
mContactFragment = new ContactFragment();
|
mContactFragment = new ContactFragment();
|
||||||
@@ -114,13 +116,36 @@ public class MainActivity extends BaseMvvmActivity<MainViewModel, ActivityMainBi
|
|||||||
|
|
||||||
mViewDataBinding.viewPager.setAdapter(mApkPagerAdapter);
|
mViewDataBinding.viewPager.setAdapter(mApkPagerAdapter);
|
||||||
mViewDataBinding.viewPager.setOffscreenPageLimit(10);
|
mViewDataBinding.viewPager.setOffscreenPageLimit(10);
|
||||||
mViewDataBinding.viewPager.setCurrentItem(mCurrentIndex);
|
mViewDataBinding.viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
|
||||||
|
@Override
|
||||||
|
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
|
||||||
|
Log.e(TAG, "onPageScrolled: position = " + position);
|
||||||
|
if (mCurrentIndex == -1 && position == 0) {
|
||||||
|
mViewDataBinding.viewPager.setCurrentItem(mDefaultIndex);
|
||||||
|
mCurrentIndex = mDefaultIndex;
|
||||||
|
} else {
|
||||||
|
mCurrentIndex = position;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onPageSelected(int position) {
|
||||||
|
Log.e(TAG, "onPageSelected: position = " + position);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onPageScrollStateChanged(int state) {
|
||||||
|
Log.e(TAG, "onPageScrollStateChanged: state = " + state);
|
||||||
|
}
|
||||||
|
});
|
||||||
mViewDataBinding.magicIndicator.setNavigator(mScaleCircleNavigator);
|
mViewDataBinding.magicIndicator.setNavigator(mScaleCircleNavigator);
|
||||||
ViewPagerHelper.bind(mViewDataBinding.magicIndicator, mViewDataBinding.viewPager);
|
ViewPagerHelper.bind(mViewDataBinding.magicIndicator, mViewDataBinding.viewPager);
|
||||||
|
mViewDataBinding.viewPager.setCurrentItem(mDefaultIndex);
|
||||||
|
|
||||||
Log.e(TAG, "initView: mCurrentIndex = " + mCurrentIndex);
|
Log.e(TAG, "initView: mCurrentIndex = " + mCurrentIndex);
|
||||||
|
Log.e(TAG, "initView: mDefaultIndex = " + mDefaultIndex);
|
||||||
Log.e(TAG, "initView: mFragmentSize = " + mFragmentSize);
|
Log.e(TAG, "initView: mFragmentSize = " + mFragmentSize);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -169,6 +194,7 @@ public class MainActivity extends BaseMvvmActivity<MainViewModel, ActivityMainBi
|
|||||||
mScaleCircleNavigator.notifyDataSetChanged();
|
mScaleCircleNavigator.notifyDataSetChanged();
|
||||||
|
|
||||||
mApkPagerAdapter.setFragments(mFragments);
|
mApkPagerAdapter.setFragments(mFragments);
|
||||||
|
mViewDataBinding.viewPager.setCurrentItem(mCurrentIndex);
|
||||||
}
|
}
|
||||||
|
|
||||||
public class BtnClick {
|
public class BtnClick {
|
||||||
|
|||||||
Reference in New Issue
Block a user