Android TabLayout静态创建多个Fragment(复制即用,阅读即懂)

来源:互联网 发布:数据分析发展史 编辑:程序博客网 时间:2024/06/07 03:57

使用TabLayout需要导入库文件


主布局(activity_main)

<?xml version="1.0" encoding="utf-8"?><RelativeLayout 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"    tools:context="com.bwie.tf.MainActivity">    <android.support.design.widget.TabLayout        android:id="@+id/myTab"        android:layout_width="match_parent"        android:layout_height="50dp"        android:layout_marginTop="10dp"        app:tabGravity="fill"        app:tabIndicatorColor="@color/colorAccent"        app:tabMode="fixed"        app:tabSelectedTextColor="@color/colorPrimaryDark"        app:tabTextColor="@color/colorPrimary"></android.support.design.widget.TabLayout>    <android.support.v4.view.ViewPager        android:id="@+id/viewPage"        android:layout_width="match_parent"        android:layout_height="match_parent"        android:layout_below="@id/myTab"></android.support.v4.view.ViewPager></RelativeLayout>
java代码(MainActivity)

package com.bwie.tf;import android.os.Bundle;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 com.bwie.tf.fragments.FragmentFirst;import com.bwie.tf.fragments.FragmentSecond;import com.bwie.tf.fragments.FragmentThrid;import java.util.ArrayList;public class MainActivity extends AppCompatActivity {    /**     * 使用数组添加     */    private String[] myTitle = {"商品", "详情", "评论"};//标题数组    //三个Fragment添加到数组    private Fragment[] myFragment = {new FragmentFirst(), new FragmentSecond(), new FragmentThrid()};    //创建集合    private ArrayList<String> titleList = new ArrayList<>();//标题集合    private ArrayList<Fragment> fragmentList = new ArrayList<>();//fragment集合    private TabLayout myTab;    private ViewPager viewPage;    private myAdapter adapter;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        initView();//初始化视图        initData();//初始化数据        adapter = new myAdapter(getSupportFragmentManager());        viewPage.setAdapter(adapter);        myTab.setupWithViewPager(viewPage);    }    /**     * 使用集合添加     */    private void initData() {        titleList.add("首页");        titleList.add("详情");        titleList.add("评论");        /**         * 三个Fragment         */        fragmentList.add(new FragmentFirst());        fragmentList.add(new FragmentSecond());        fragmentList.add(new FragmentThrid());    }    private void initView() {        myTab = (TabLayout) findViewById(R.id.myTab);        viewPage = (ViewPager) findViewById(R.id.viewPage);    }    //自定义内部适配器    class myAdapter extends FragmentPagerAdapter {        public myAdapter(FragmentManager fm) {            super(fm);        }        @Override        public CharSequence getPageTitle(int position) {            return myTitle[position];        }        @Override        public Fragment getItem(int position) {            return myFragment[position];        }        @Override        public int getCount() {            return myTitle.length;        }    }}





原创粉丝点击