我想有兩個選項卡在片段之間導航,我用舊方法做了它,但現在使用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