ActionBar与ViewPager的整合

来源:互联网 发布:协同过滤推荐算法分类 编辑:程序博客网 时间:2024/06/05 06:41

现在需要这样的效果,当我点击ActionBar中的条目之时,ViewPager切换到相应位置的视图.当我切换ViewPager的视图之时,Actionbar也会切换到相应的条目中,那么如何实现:

分别编写代码展现ViewPager与ActionBar.
然后分别注册相应的监听事件:

ActionBar注册监听事件:

public void onTabReselected(Tab arg0, FragmentTransaction arg1) {    // TODO Auto-generated method stub}@Overridepublic void onTabSelected(Tab arg0, FragmentTransaction arg1) {    ViewPager.setCurrentItem(arg0.getPosition());}@Overridepublic void onTabUnselected(Tab arg0, FragmentTransaction arg1) {    // TODO Auto-generated method stub}

ViewPager注册监听事件:

    ViewPager.setOnPageChangeListener(new OnPageChangeListener() {        @Override        public void onPageSelected(int arg0) {            bar.selectTab(bar.getTabAt(arg0));        }        @Override        public void onPageScrolled(int arg0, float arg1, int arg2) {        }        @Override        public void onPageScrollStateChanged(int arg0) {        }    });

在使用ActionBar的时候,我们采用v7包中的类库来获取ActionBar.

如何将v7包中的类库导入所在工程:
1在所在工程的properties–>android–>Library搜索下载好的v7包工程.
2 将原工程中的v4 jar包删除.(因为v7包中也含有v4包的支持,同时拥有会报错)

将当前的Activity 继承自:

  android.support.v7.app.ActionBarActivity

通过

    bar=this.getSupportActionBar();   获取ActionBar对象.

然后操作与上面相同.(只是获取ActionBar的方式不同,应用于android不同版本)

此时运行工程,logcat会报错,提示添加xx主题.
于是我们在所在的Activity中添加:

   android:theme="@style/Theme.AppCompat.Light"

运行工程.

0 0
原创粉丝点击