package com.example.actionbar_viewpager;
import java.util.ArrayList;
import java.util.List;
import android.app.ActionBar;
import android.app.ActionBar.Tab;
import android.app.ActionBar.TabListener;
import android.app.FragmentTransaction;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.view.ViewPager;
import android.support.v4.view.ViewPager.OnPageChangeListener;
/**
* ActionBar Tab导航与ViewPager结合使用
*
* @author Administrator
*
*/
public class MainActivity extends FragmentActivity implements TabListener,OnPageChangeListener{
private ViewPager vp;
private MyAdapter adapter;
private List<Fragment> l_vp;
private ActionBar bar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
vp=(ViewPager)findViewById(R.id.vp);
l_vp=new ArrayList<Fragment>();
l_vp.add(new MyFragment1());
l_vp.add(new MyFragment2());
l_vp.add(new MyFragment3());
adapter=new MyAdapter(getSupportFragmentManager(), l_vp);
vp.setOnPageChangeListener(this);
vp.setAdapter(adapter);
/设置ActionBar导航/
bar=getActionBar();
bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
bar.addTab(bar.newTab().setText("鸣人").setTabListener(this));
bar.addTab(bar.newTab().setText("佐助").setTabListener(this));
bar.addTab(bar.newTab().setText("小樱").setTabListener(this));
}
/*******************ActionBar Tab导航监听*****************************************/
@Override
public void onTabSelected(Tab tab, FragmentTransaction ft) {
//tab改变时,改变ViewPager的页面
vp.setCurrentItem(tab.getPosition());
}
@Override
public void onTabUnselected(Tab tab, FragmentTransaction ft) {
}
@Override
public void onTabReselected(Tab tab, FragmentTransaction ft) {
}
/*******************ViewPager页面切换的监听*******************************/
@Override
public void onPageScrollStateChanged(int arg0) {
// TODO 自动生成的方法存根
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
// TODO 自动生成的方法存根
}
@Override
public void onPageSelected(int arg0) {
//viewPage页面改变时,改变ActionBar tab标签位置
bar.setSelectedNavigationItem(arg0);
}
}
ViewPager与ActionBar结合实现导航
最新推荐文章于 2017-02-17 16:24:56 发布