gpt4 book ai didi

抽屉导航 fragment 中的 Android 操作栏选项卡

转载 作者:太空狗 更新时间:2023-10-29 13:23:16 25 4
gpt4 key购买 nike

我有带 fragment 的抽屉导航。是否有任何可能的方法在一个 fragment 中实现操作栏选项卡,同时具有抽屉导航,就像在 Google I/O 2014 应用程序中一样?:

http://cdn.slashgear.com/wp-content/uploads/2014/06/google-io-2014-app-4.png

我的意思是我需要它至少看起来像操作栏选项卡(带有滑动手势)。因为默认的 viewPagerTabStrip 真的很糟糕。

提前致谢;)

最佳答案

是的..我已经在我的应用程序中实现了相同的功能。我也用过 ViewPager .

<android.support.v4.view.ViewPager
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/pager"
android:layout_width="match_parent"
android:background="@android:color/white"
android:layout_height="match_parent">
</android.support.v4.view.ViewPager>

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_fragment);

viewPager = (ViewPager) findViewById(R.id.pager);
viewPager.setAdapter(new MyAdapter(getSupportFragmentManager(), ActionBarActivity.this));
viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int i, float v, int i2) {
}
@Override
public void onPageSelected(int i) {
actionBar.setSelectedNavigationItem(i);
}
@Override
public void onPageScrollStateChanged(int i) {
}
});

actionBar = getActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
actionBar.setDisplayShowHomeEnabled(true);

ActionBar.Tab tab1 = actionBar.newTab();
tab1.setText("Client");
tab1.setTabListener(this);

ActionBar.Tab tab2 = actionBar.newTab();
tab2.setText("Supplier");
tab2.setTabListener(this);

ActionBar.Tab tab3 = actionBar.newTab();
tab3.setText("Driver");
tab3.setTabListener(this);

ActionBar.Tab tab4 = actionBar.newTab();
tab4.setText("Owner");
tab4.setTabListener(this);

actionBar.addTab(tab1);
actionBar.addTab(tab2);
actionBar.addTab(tab3);
actionBar.addTab(tab4);

public void onTabSelected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) {
viewPager.setCurrentItem(tab.getPosition());
}

@Override
public void onTabUnselected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) {

}

@Override
public void onTabReselected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) {
}

}

同时使用 fragment 适配器

    class MyAdapter extends FragmentPagerAdapter{

Context context;
public MyAdapter(FragmentManager fragmentManager, Context context){
super(fragmentManager);
this.context = context;
}

@Override
public Fragment getItem(int i) {

Fragment fragment = null;
if(i == 0){
fragment = new FragmentClass1(context);
}else if(i == 1) {
fragment = new FragmentClass2(context);
}else if(i == 2){
fragment = new FragmentClass3(context);
}else {
fragment = new FragmentClass4(context);
}
return fragment;
}

@Override
public int getCount() {
return 4;
}
}

对于抽屉,使用这个

<android.support.v4.widget.DrawerLayout>//你的代码 </android.support.v4.widget.DrawerLayout>

关于抽屉导航 fragment 中的 Android 操作栏选项卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25440328/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com