package com.duqing.missions.ui.main.hall;
|
|
import androidx.annotation.NonNull;
|
import androidx.viewpager2.widget.ViewPager2;
|
|
import com.duqing.missions.base.FragmentAdapter;
|
import com.duqing.missions.base.fragments.BaseFragment;
|
import com.duqing.missions.base.fragments.BaseTabFragment;
|
import com.duqing.missions.databinding.FragmentHallBinding;
|
import com.google.android.material.tabs.TabLayout;
|
import com.google.android.material.tabs.TabLayoutMediator;
|
|
import java.util.ArrayList;
|
import java.util.Arrays;
|
import java.util.List;
|
|
public class HallFragment extends BaseTabFragment<FragmentHallBinding,HallViewModel> {
|
|
|
@Override
|
public void initViews() {
|
super.initViews();
|
final String[] titles = new String[]{"全部","人气","简单","高价"};
|
final FragmentAdapter fragmentAdapter = new FragmentAdapter(activity);
|
fragmentAdapter.addFragment(new SubHallFragment());
|
fragmentAdapter.addFragment(new SubHallFragment());
|
fragmentAdapter.addFragment(new SubHallFragment());
|
fragmentAdapter.addFragment(new SubHallFragment());
|
//设置当前可见Item左右可见page数,次范围内不会被销毁
|
//禁用预加载
|
binding.viewPager2.setOffscreenPageLimit(ViewPager2.OFFSCREEN_PAGE_LIMIT_DEFAULT);
|
binding.viewPager2.setAdapter(fragmentAdapter);
|
binding.viewPager2.setCurrentItem(0);
|
binding.viewPager2.setUserInputEnabled(false); //true:滑动,false:禁止滑动
|
TabLayoutMediator mediator = new TabLayoutMediator(binding.tabLayout, binding.viewPager2, new TabLayoutMediator.TabConfigurationStrategy() {
|
@Override
|
public void onConfigureTab(@NonNull TabLayout.Tab tab, int position) {
|
tab.setText(titles[position]);
|
}
|
});
|
mediator.attach();
|
|
|
}
|
|
@Override
|
protected List<String> initTabTitles() {
|
return new ArrayList<>(Arrays.asList(new String[]{"全部","人气","简单","高价"}));
|
}
|
|
@Override
|
protected List<BaseFragment> initFragments() {
|
List<BaseFragment> list = new ArrayList<>();
|
list.add(new SubHallFragment());
|
list.add(new SubHallFragment());
|
list.add(new SubHallFragment());
|
list.add(new SubHallFragment());
|
return list;
|
}
|
}
|