安卓中如何實現滑動導航

導航是移動應用最重要的方面之一,對用戶體驗是良好仍是糟糕起着相當重要的做用。好的導航可讓一款應用更加易用而且讓用戶快速上手。相反,糟糕的應用導航很容易讓人討厭,並遭到用戶的拋棄。爲了打造流暢的用戶導航體驗,咱們不得不依賴智能手機最多見的一個功能:觸摸。ide

觸摸改變應用程序的視圖是如今最流行一種導航設計。在本博客中,咱們將通過必要的幾步來實現應用內的橫向滑動導航。佈局

本文毫無遲疑地使用了代碼優先的方法 。讓咱們看一下滑動導航須要完成的主要代碼片斷。spa

<span style="font-family:Arial;font-size:14px;">public class MainActivity extends Activity {
 
    SectionsPagerAdapter mSectionsPagerAdapter;
    ViewPager mViewPager;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        mSectionsPagerAdapter = new SectionsPagerAdapter(getFragmentManager());
        mViewPager = (ViewPager) findViewById(R.id.pager);
        mViewPager.setAdapter(mSectionsPagerAdapter);
    }
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
 
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        int id = item.getItemId();
        if (id == R.id.action_settings) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }
 
    public class SectionsPagerAdapter extends FragmentPagerAdapter {
 
        public SectionsPagerAdapter(FragmentManager fm) {
            super(fm);
        }
 
        @Override
        public Fragment getItem(int position) {
            switch (position) {
                case 0:
                    return new MoviesFragment();
                case 1:
                    return new TVShowsFragment();
                case 2:
                    return new SongsFragment();
            }
            return null;
        }
 
        @Override
        public int getCount() {
            // Show 3 total pages.
            return 3;
        }
    }
}</span>

咱們的Main Activity包含了ViewPager組件,它封裝了幾個不一樣的菜單屏,每一屏有一個不一樣的fragment。咱們要作的第一件事就是聲明一個FragmentPagerAdapter,用它在不用的菜單fragment間切換。正如你在上面代碼中看到的,咱們聲明瞭一個SectionsPagerAdapter,它繼承自FragmentPagerAdaper類。而後在onCreate方法中將它實例化.設計

對於SectionsPagerAdapter類,須要重寫兩個方法。第一個方法是getCount()方法,它返回導航的的fragment數量。第二個也是最中的getItem()方法,它用來實例化並返回相關的fragment,它的顯示基於它在菜單中的位置。code

這些不一樣的菜單fragment必須繼承fragment類,而後填充本身的佈局,讓咱們看下其中的一個類:orm

<span style="font-family:Arial;font-size:14px;">public class MoviesFragment extends Fragment {
 
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View rootView = inflater.inflate(R.layout.movies_fragment, container, false);
        return rootView;
    }
}</span>

把這些放到一塊兒就爲咱們的安卓應用程序建立了一個很是直觀的滑動的導航。咱們辛苦完成的Native Ads在不影響用戶體驗的前提下能夠很好的讓應用程序盈利。快速集成原生、In-stream和可定製的廣告單元,這兒能夠檢出Native Ads的SDK,blog

這兒能夠獲得這篇教程中完整的源代碼:SwipeNavigationExample繼承

相關文章
相關標籤/搜索