Android Tab(TabLayout+Fragment)

来源:互联网 发布:数据漫游用打开吗 编辑:程序博客网 时间:2024/06/06 03:19


layout文件:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    xmlns:app="http://schemas.android.com/apk/res-auto"    android:orientation="vertical">     <android.support.design.widget.TabLayout        android:id="@+id/tabLayout"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:background="@color/colorPrimary"        app:tabIndicatorColor="@color/white"        app:tabSelectedTextColor="@color/gray"        app:tabTextColor="@color/white"        />    <android.support.v4.view.ViewPager        android:id="@+id/container"        android:layout_width="fill_parent"        android:layout_height="0dp"        android:layout_weight="1"        /></LinearLayout>



Activity源码:
package com.gamoos.hellotabwidget;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 android.os.Bundle;public class MainActivity extends AppCompatActivity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        Fragment tabFrames[] = new Fragment[]{new AFragment(), new BFragment(), new CFragment()};        String tabTitles[] = new String[]{"主页", "新闻", "论坛"};        TabLayout tabLayout = (TabLayout) findViewById(R.id.tabLayout);        TabFragmetPagerAdapter fAdapter = new TabFragmetPagerAdapter(getSupportFragmentManager(), tabTitles, tabFrames);        for (int i = 0; i < tabTitles.length; i++) {            tabLayout.addTab(tabLayout.newTab().setText(tabTitles[i]));        }        ViewPager viewPaper = (ViewPager) findViewById(R.id.container);        //viewpager加载adapter        viewPaper.setAdapter(fAdapter);        //TabLayout加载viewpager        tabLayout.setupWithViewPager(viewPaper);    }    public class TabFragmetPagerAdapter extends FragmentPagerAdapter {        public  Fragment tabFrames[];// = new Fragment[]{new AFragment(), new BFragment(), new CFragment()};        public String titles[];// = new String[]{"主页", "新闻", "论坛"};        public TabFragmetPagerAdapter(FragmentManager fm, String[] titles, Fragment[] tabFrames) {            super(fm);            this.titles = titles;            this.tabFrames = tabFrames;        }        @Override        public Fragment getItem(int position) {            return tabFrames[position];        }        @Override        public int getCount() {            return titles.length;        }        @Override        public CharSequence getPageTitle(int position) {            return titles[position];        }    }}

源码下载地址:

http://download.csdn.net/detail/lanhy999/9412634


1 0
原创粉丝点击