我想有兩個選項卡在片段之間導航,我用舊方法做了它,但現在使用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. 滑動菜單選項卡
- 2. 滑動選項卡主機
- 3. 滑動選項卡 - NullPointerException - Toolbar.getTitle()
- 4. 在選項卡式活動中禁用滑動(Android Studio)
- 5. 滑動時Android選項卡式活動丟失數據
- 6. iOS的滑動效果ViewControllers - Instagram的活動選項卡
- 7. 將工作活動放入滑動選項卡視圖
- 8. Android +如何在選項卡之間滑動活動?
- 9. jquery選項卡自動滑動
- 10. 活動鏈接選項卡
- 11. 選項卡活動崩潰
- 12. Android選項卡活動
- 13. Javascript選項卡 - 活動類
- 14. 動態更改活動選項卡索引jQuery UI選項卡
- 15. 滑動切換選項卡選擇
- 16. Jquery移動選項卡不活動
- 17. 動態android選項卡活動
- 18. 選項卡視圖活動滾動
- 19. 使用選項卡式活動刷卡
- 20. 使用CSS指向非活動選項卡的活動選項卡?
- 21. ANDROID:API 21 Action Bars選項卡
- 22. 引導滑動選項卡(不是選項卡內容)
- 23. 選擇活動選項卡按日期
- 24. 禁用滑動在一個滑動選項卡
- 25. 側滑動菜單選項卡
- 26. 頁腳選項卡滑動DIV
- 27. Bootstrap選項卡窗格向左滑動?
- 28. HTML選項卡表單滑動
- 29. 如何從android中的選項卡活動啓動fragement活動?
- 30. Android可滾動選項卡+滑動時刷卡狀態
它的作品,但方法已被棄用。 – BlueMango 2014-12-02 20:50:33
我實現了它,沒有任何棄用在我身邊。請明確說明。 – shkschneider 2014-12-03 09:06:18
我嘗試使用ViewPager,但setNavigationMode已棄用。 – BlueMango 2014-12-03 14:56:44