如何使用ActionBarSherlock、ViewPagerIndicator和SlidingMenu?

3
我该如何为使用ActionBarSherlock, ViewPagerIndicatorSlidingMenu(在IntelliJ中)的项目设置依赖项?这是我的设置:
- 我已将ActionBarSherlock添加为ViewPagerIndicator的依赖项。 - 将ViewPagerIndicator添加为我的项目的依赖项。
一切都很好。我想将SlidingMenu(注意:ActionBarSherlock是SlidingMenu的依赖项)作为我的项目的依赖项。我该如何做到这一点?[我认为我的问题在于我不知道如何在这种情况下设置所有依赖项]
编辑: 我想要ViewPagerIndicator来实现此结果:

OK


如果您同时使用ActionBarSherlock和Sliding menu,我认为不需要使用viewpageIndicator。 - Kalpesh Lakhani
2
在我的项目中,我已经在Intellij IDEA中将这两个库的依赖关系添加到了我的主项目中。 - Kalpesh Lakhani
1个回答

2

我可以使用(需要添加Android兼容库):

public class MainActivity extends SlidingFragmentActivity  {
        private ViewPager viewPager;
        private RelativeLayout root;            
        @Override
        public void onCreate(Bundle savedState) {
                super.onCreate(savedState);
                root = (RelativeLayout) getLayoutInflater().inflate(R.layout.activity_main, null);
                setBehindContentView(root);

                (...)

                viewPager = (ViewPager) getLayoutInflater().inflate(R.layout.viewPager, null);
                setContentView(vPager);

                viewPager.setOnPageChangeListener(new OnPageChangeListener() {
                    @Override
                    public void onPageSelected(int id) {                                
                        switch (id) {
                        case 0:             
                            getSlidingMenu().setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN); //on first page, you can get slidingmenu by swipping the entire screen
                            break;               
                        default:
                            getSlidingMenu().setTouchModeAbove(SlidingMenu.TOUCHMODE_MARGIN); //on others page, you can get slidingmenu by swipping the half screen
                            break;
                        }                

                    }
                    @Override
                    public void onPageScrolled(int arg0, float arg1, int arg2) {

                    }
                    @Override
                    public void onPageScrollStateChanged(int arg0) {

                    }
                });
        }

}

在您的FragmentPageAdapter上,覆盖重写此方法。
   @Override
    public CharSequence getPageTitle(int position) {
        return "your page title for position"
    }

-> activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/layoutFull"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#66ffffff"
    android:baselineAligned="true"
    android:orientation="vertical" >    

</RelativeLayout>

-> viewPager.xml

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.view.ViewPager xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/viewPagert"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <android.support.v4.view.PagerTabStrip
        android:id="@+id/pager_title_strip"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="top"
        android:background="#fff"
        android:paddingBottom="2dp"
        android:paddingTop="2dp"
        android:textColor="#000" />

</android.support.v4.view.ViewPager>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接