初始化页面

public class MainActivity extends AppCompatActivity {

private TabLayout tblNews;
private ViewPager vpNews;
private List<String> titles;
private List<Fragment> fragmentList;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    initView();

    titles = new ArrayList<>();
    titles.add("热门");
    titles.add("推荐");
    titles.add("新闻");

    fragmentList = new ArrayList<>();

    for (String title : titles) {
        // 和ViewPager配合使用的时候不需要添加这句话,只需要重写ViewPager适配器的getPageTitle方法
        tblNews.addTab(tblNews.newTab().setText(title));

// NewsFragment newsFragment = NewsFragment.newInstance(title);
fragmentList.add(new NewsFragment());
}

    // 设置TabLayout的模式是超出屏幕可滑动,不超出就显示在左侧

// tblNews.setTabMode(TabLayout.MODE_SCROLLABLE);
// 设置固定模式,默认
tblNews.setTabMode(TabLayout.MODE_FIXED);
// 设置标签的文本颜色
tblNews.setTabTextColors(ColorStateList.valueOf(Color.BLACK));

    vpNews.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) {
        @Override
        public int getCount() {
            return fragmentList.size();
        }

        @Override
        public Fragment getItem(int position) {
            return fragmentList.get(position);
        }

        /**
         * TabLayout上显示的文字
         * @param position
         * @return
         */
        @Nullable
        @Override
        public CharSequence getPageTitle(int position) {
            return titles.get(position);
        }
    });

    tblNews.setupWithViewPager(vpNews);

}

private void initView() {
    tblNews = findViewById(R.id.tbl_news);
    vpNews = findViewById(R.id.vp_news);
}

猜你喜欢

转载自blog.csdn.net/qq_43169246/article/details/82728265