您的位置:首页 > 其它

TabLayout与ViewPager组合实现tab导航

2016-02-05 20:44 357 查看
因为TabLayout是在android.support.design包下面,所以需要引入android.support.design这个包ViewPager是在android.support.v4这个包下面,所以需要引入这个包。我在android studio 下面撸码。在写Viewpger的adapter的时候发现在android.app.Activity;这个包下面的Activtiy无法获得getSupportFragmentManager()而在
android.support.v7.app.AppCompatActivity;这个包下面可以获得getSupportFragmentManager()可以获得,
或者让Activity继承FragmentActivtiy也可以获得getSupportFragmentManager()这个方法。
package com.example.huang.lwy;

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

public class MainActivity extends AppCompatActivity {
private TabLayout tabLayout;
private ViewPager viewPager;
private String[] titles=new String[]{"title1","title2"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.content_main);
initView();

}

private void initView() {
tabLayout = (TabLayout) findViewById(R.id.id_tabLayout);
viewPager = (ViewPager) findViewById(R.id.id_viewPager);
viewPager.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) {
@Override
public Fragment getItem(int position) {
return new FestivalCategoryFragment();
}

@Override
public int getCount() {
return titles.length;
}

@Override
public CharSequence getPageTitle(int position) {//获得ViewPager标题
return titles[position];
}
});
tabLayout.setupWithViewPager(viewPager);//通过这个方法让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"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:context="com.example.huang.lwy.MainActivity"
android:orientation="vertical"
>
<android.support.design.widget.TabLayout
android:id="@+id/id_tabLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabGravity="fill"
android:background="#ffffff"
app:tabMode="fixed"
app:tabTextColor="#000000"
app:tabIndicatorColor="@color/main_color"
app:tabSelectedTextColor="@color/main_color"

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

></android.support.v4.view.ViewPager>
</LinearLayout>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: