Tablayout+viewpager

来源:互联网 发布:手机上微页制作软件 编辑:程序博客网 时间:2024/05/18 02:11
1:tablayout依赖:

compile 'com.android.support:design:26.0.0-alpha1'

2:不是activity而是Fragmentactivity


3:xml设置条目填充

   <android.support.design.widget.TabLayout            android:id="@+id/tab"            app:tabTextAppearance="@android:style/TextAppearance.Holo.Large"            app:tabPaddingStart="10dp"            app:tabPaddingEnd="10dp"            android:layout_width="match_parent"            android:layout_height="wrap_content" />

代码部分

package test.bwie.com.yuekaolianxi;import android.os.Bundle;import android.support.design.widget.TabLayout;import android.support.v4.app.Fragment;import android.support.v4.app.FragmentActivity;import android.support.v4.app.FragmentManager;import android.support.v4.app.FragmentPagerAdapter;import android.support.v4.view.ViewPager;import java.util.ArrayList;import fg.Fg1;import fg.Fg2;import fg.Fg3;import fg.Fg4;public class ShouYe extends FragmentActivity {    private ViewPager vp;    private TabLayout tab;    private ArrayList<Fragment> list;    private ArrayList<String> li;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_shou_ye);        //获取控件        init();        sj();    }    private void sj() {        Fg1 f1=new Fg1();        Fg2 f2=new Fg2();        Fg3 f3=new Fg3();        Fg4 f4=new Fg4();        list = new ArrayList<>();        list.add(f1);        list.add(f2);        list.add(f3);        list.add(f4);        li = new ArrayList<>();        li.add("最新日报");        li.add("专栏");        li.add("热门");        li.add("主题日报");        for (int i = 0; i <li.size() ; i++) {            tab.addTab(tab.newTab().setText(li.get(i)));        }        tab.setTabMode(TabLayout.MODE_SCROLLABLE);        Myadapter myadapter= new Myadapter(getSupportFragmentManager());        vp.setAdapter(myadapter);        tab.setupWithViewPager(vp);        tab.setTabsFromPagerAdapter(myadapter);    }    class Myadapter extends FragmentPagerAdapter{        @Override        public CharSequence getPageTitle(int position) {            return  li.get(position);        }        public Myadapter(FragmentManager fm) {            super(fm);        }        @Override        public Fragment getItem(int position) {            return list.get(position);        }        @Override        public int getCount() {            return list.size();        }    }    private void init() {        tab = findViewById(R.id.tab);        vp = findViewById(R.id.vp);    }}