tablelayout 实现横向滑动

tablelayout 依赖

implementation 'com.android.support:design:27.1.1'

package com.example.dell.tablayout;

import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.design.widget.TabLayout;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;

import java.util.ArrayList;

public class MainActivity extends AppCompatActivity {

    private TabLayout tabLayout;
    private ViewPager vp;
    private String [] title = {"条目一","条目二","条目三","条目四","条目五","条目六","条目七","条目八","条目九","条目十","条目十一"};
    private ArrayList<Fragment> fragment = new ArrayList<Fragment>(  );
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate( savedInstanceState );
        setContentView( R.layout.activity_main );
        tabLayout = (TabLayout) findViewById( R.id.tabLayout );
//循环添加fragment
        for (int i = 0; i<title.length;i++){
            fragment.add( new Demo_Fragment() );
        }

        vp = (ViewPager) findViewById( R.id.viewPager );
//Adapter传入getSupportFragmentManager管理器
        MyAdapter myAdapter = new MyAdapter(getSupportFragmentManager());
        vp.setAdapter( myAdapter );
        tabLayout.setTabMode( TabLayout.MODE_SCROLLABLE );
        tabLayout.setupWithViewPager( vp );
    }
//创建适配器
    private class MyAdapter extends FragmentPagerAdapter{

        public MyAdapter(FragmentManager fm) {
            super( fm );
        }

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

        @Override
        public int getCount() {
            return fragment.size();
        }
//写出getPagertitle方法
        @Nullable
        @Override
        public CharSequence getPageTitle(int position) {
            return title[position];
        }
    }
}

猜你喜欢

转载自blog.csdn.net/qq_42250299/article/details/82704908