ViewPager与ActionBar结合实现导航

来源:互联网 发布:淘宝怎么申请二次售后 编辑:程序博客网 时间:2024/05/16 16:31
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);    }}
0 0
原创粉丝点击