TabLayout

gradle中添加依赖

*compile'com.android.support:design:26+'

/**
 * 1--写tablayout
 * 2--- 写viewPager
 * 3-- 写viewPagerAdapter
 * 4-- 让TabLayout和Viewpager关联;
 */

布局文件代码
	
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.bwie.tablayoutdemo2.MainActivity">

    <android.support.design.widget.TabLayout
        android:id="@+id/tabLayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <android.support.v4.view.ViewPager
        android:id="@+id/viewPager"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1" />


</LinearLayout>

---------------------------------------
MainActivity代码,  注意FragmentPagerAdapt中要重写getPageTitle方法;

package
com.bawie.zhengenru.monthdemo2.Fragment; 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.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import com.bawie.zhengenru.monthdemo2.R; import java.util.ArrayList; /** * author:Created by WangZhiQiang on 2018/3/3. */ public class MessageFragment extends android.support.v4.app.Fragment { private TabLayout tablayout; private ViewPager view_pager; ArrayList<String> titlelist = new ArrayList<>(); ArrayList<Fragment> fragmentList = new ArrayList<>(); @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View inflate = inflater.inflate(R.layout. message, container, false); tablayout = inflate.findViewById(R.id. tl); view_pager = inflate.findViewById(R.id. view_pager); initData(); //设置适配器 MyPagerAdapter adapter = new MyPagerAdapter(getChildFragmentManager()); view_pager.setAdapter(adapter); //设置模式 tablayout.setTabMode(TabLayout. MODE_SCROLLABLE); //让标题与ViewPager有关联 tablayout.setupWithViewPager( view_pager); return inflate; } private void initData() { titlelist.add( "泸深"); fragmentList.add( new HuShenFragment()); titlelist.add( "板块"); fragmentList.add( new HuShenFragment()); titlelist.add( "指数"); fragmentList.add( new HuShenFragment()); titlelist.add( "港股"); fragmentList.add( new HuShenFragment()); titlelist.add( "新三板"); fragmentList.add( new HuShenFragment()); titlelist.add( "商品"); fragmentList.add( new HuShenFragment()); titlelist.add( "更新"); fragmentList.add( new HuShenFragment()); titlelist.add( "体育"); fragmentList.add( new HuShenFragment()) 或者(new BlankFragment()); } private class MyPagerAdapter extends FragmentPagerAdapter{ public MyPagerAdapter(FragmentManager fm) { super(fm); } @Override public Fragment getItem( int position) { return fragmentList.get(position); } @Override public int getCount() { return titlelist.size(); } @Override public CharSequence getPageTitle( int position) { return titlelist.get(position); } }}

**************************************
Fragment代码,Fragment用的都是V4包里的;
public class BlankFragment extends Fragment {

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        TextView textView = new TextView(getActivity());
        double random = Math.random();
        textView.setText("xxxxxxxxxxx"+random);
        return textView;
    }
}
 

猜你喜欢

转载自blog.csdn.net/grace_er/article/details/79444130