我想有两个选项卡在片段之间导航,我用旧方法做了它,但现在使用API 21,所有方法都被弃用。我搜索了很多,但我没有找到任何教程或示例。我尝试了Google的SlidingTabs示例,但它不是为Eclipse构建的,因此我不知道如何将它集成到我的应用程序中。有人能帮我吗?也许给我一个链接到一个基本的教程?谢谢!API 21滑动选项卡活动
回答
如果你正在谈论,而不是一个NavigationDrawer
类型的事情ViewPager
,它继续在API-21很好地工作。
查看IOSched application's code查看“Google Play”,例如ViewPager指标。
EDIT
是setNavigationMode
被弃用的方法和作为UI/UX图案。
This method was deprecated in API level 21.
Action bar navigation modes are deprecated and not supported by inline toolbar action bars.
Consider using other common navigation patterns instead.
哪个环节common navigation patterns。
EDIT2
固定iosched应用程序代码链接。
的导航非常出色菜单只需导入那些2类:SlidingTabStrip和SlidingTabLayout在您的项目在你的应用程序选项卡。你可以看看示例项目,看看它是如何使用的。
非常简单易用。首先在你的项目和你的xml布局(my_layout.xml)中导入这两个类,添加SlidingTabLayout。我还添加了如果你想用ViewPager使用它viewPager:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingRight="@dimen/activity_horizontal_margin"
tools:context="MyActivity">
<SlidingTabLayout
android:id="@+id/sliding_tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<android.support.v4.view.ViewPager
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/my_pager" />
</LinearLayout>
在您的活动,
public class MyActivity extends ActionBarActivity {
private SlidingTabLayout slidingTabLayout;
private ViewPager viewPager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.my_layout);
viewPager = (ViewPager) findViewById(R.id.my_pager);
viewPager.setAdapter(new MyAdapter(getSupportFragmentManager()));
slidingTabLayout = (SlidingTabLayout)findViewById(R.id.sliding_tabs);
slidingTabLayout.setViewPager(viewPager);
}
}
然后你可以定义你的适配器,将添加到SlidingTabLayout。例如:
public static class MyAdapter extends FragmentPagerAdapter {
private static final int FRAGMENT_1 = 0;
private static final int FRAGMENT_2 = 1;
private static final int FRAGMENT_3 = 2;
public MyAdapter (FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int i) {
switch (i){
case FRAGMENT_1 : return new Fragment1();
case FRAGMENT_2 : return new Fragment2();
case FRAGMENT_3 : return new Fragment3();
}
return null;
}
@Override
public CharSequence getPageTitle(int position) {
switch (position){
case FRAGMENT_1 : return "Fragment 1 Title";
case FRAGMENT_2 : return "Fragment 2 title";
case FRAGMENT_3 : return "Fragment 3 Title";
}
return super.getPageTitle(position);
}
@Override
public int getCount() {
return 3;
}
}
我得到一个错误:Fragment1()无法解析...我必须做什么? btw感谢您的帮助! – BlueMango 2014-12-02 21:05:03
用您的应用程序片段替换片段1,2和3。他们在这里只是一个例子 – Dimitri 2014-12-02 22:16:24
我做到了,但是我的应用程序在启动时崩溃,这是错误:12-02 22:23:52.400:E/AndroidRuntime(15558):引起:android.view.InflateException:Binary XML文件行#7:错误膨胀类SlidingTabLayout – BlueMango 2014-12-02 22:22:59
- 1. 滑动选项卡 - NullPointerException - Toolbar.getTitle()
- 2. 滑动选项卡主机
- 3. 滑动时Android选项卡式活动丢失数据
- 4. iOS的滑动效果ViewControllers - Instagram的活动选项卡
- 5. jquery选项卡自动滑动
- 6. Android选项卡活动
- 7. 动态更改活动选项卡索引jQuery UI选项卡
- 8. 滑动切换选项卡选择
- 9. 选项卡视图活动滚动
- 10. 使用选项卡式活动刷卡
- 11. 使用CSS指向非活动选项卡的活动选项卡?
- 12. ANDROID:API 21 Action Bars选项卡
- 13. 选择活动选项卡按日期
- 14. 页脚选项卡滑动DIV
- 15. 卡住两个活动之间滑动
- 16. Android Studio选项卡式活动(滑动视图)查看传呼机检查选项卡式
- 17. 带有超过3个选项卡的选项卡式活动
- 18. 如何禁用Android中选项卡内活动的选项卡
- 19. 安卓选项卡活动转到上一个选项卡
- 20. jQuery UI选项卡,活动选项卡不会更改
- 21. 打开选项卡在活动选项卡旁边
- 22. UIB选项卡 - 设置第二个选项卡是活动的
- 23. 为AJAX选项卡控件设置活动选项卡
- 24. 突出显示活动选项卡 - CSS
- 25. Winapi设置活动选项卡控件
- 26. 使用Jinja2检测活动选项卡?
- 27. 离子选项卡活动颜色
- 28. 编程选项卡式活动内容
- 29. YouTube Player选项卡式活动
- 30. 选项卡式活动中的页脚
它的作品,但方法已被弃用。 – BlueMango 2014-12-02 20:50:33
我实现了它,没有任何弃用在我身边。请明确说明。 – shkschneider 2014-12-03 09:06:18
我尝试使用ViewPager,但setNavigationMode已弃用。 – BlueMango 2014-12-03 14:56:44