<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                在做谷歌電子市場的時候用的是DrawerLayout實現的抽屜效果,在新聞客戶端的時候用的是開源框架SlidingMenu來實現的,總的來說,各有個的優點,側滑(開源框架)實現的效果更好,但是DrawerLayout直接寫布局文件就好了,不過我還是比較喜歡用開源框架的這個![安靜](https://box.kancloud.cn/2016-01-25_56a5a36706237.gif) 。下面分別來說說如何實現: **一、SlidingMenu** ?首先要引入SlidingMenu的庫文件的類庫,不能直接導入jar包。然后 Activity繼承SlidingFragmentActivity。其次,將onCreate方法改為public。 在主界面中添加如下代碼: ~~~ //調用api setBehindContentView(R.layout.left_menu);// 設置側邊欄布局 SlidingMenu slidingMenu = getSlidingMenu();// 獲取側邊欄對象 slidingMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);// 設置全屏觸摸 slidingMenu.setSecondaryMenu(R.layout.right_menu);// 設置右側邊欄 slidingMenu.setMode(SlidingMenu.LEFT_RIGHT);// 設置展現模式 slidingMenu.setBehindOffset(100);// 設置預留屏幕的寬度 ~~~ 在BasePager.java中添加如下代碼。 ~~~ /** * 切換SlidingMenu的狀態 * * @param b */ protected void toggleSlidingMenu() { MainActivity mainUi = (MainActivity) mActivity; SlidingMenu slidingMenu = mainUi.getSlidingMenu(); slidingMenu.toggle();// 切換狀態, 顯示時隱藏, 隱藏時顯示 } /** * 初始化數據 */ public void initData() { } /** * 設置側邊欄開啟或關閉 * * @param enable */ public void setSlidingMenuEnable(boolean enable) { MainActivity mainUi = (MainActivity) mActivity; SlidingMenu slidingMenu = mainUi.getSlidingMenu(); if (enable) { slidingMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN); } else { slidingMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_NONE); } } ~~~ 每個子界面都可以用到如下的代碼: ~~~ public class SettingPager extends BasePager { public SettingPager(Activity activity) { super(activity); } @Override public void initData() { //System.out.println("初始化設置數據...."); tvTitle.setText("設置"); btnMenu.setVisibility(View.GONE);// 隱藏菜單按鈕 setSlidingMenuEnable(false);// 關閉側邊欄 TextView text = new TextView(mActivity); text.setText("設置"); text.setTextColor(Color.RED); text.setTextSize(25); text.setGravity(Gravity.CENTER); // 向FrameLayout中動態添加布局 flContent.addView(text); } } ~~~ ![](https://box.kancloud.cn/2016-03-14_56e65d6c204ac.jpg) **二、DrawerLayout** 直接在布局文件中這樣寫: ~~~ <android.support.v4.widget.DrawerLayout 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" tools:context=".MainActivity" android:id="@+id/dl"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_centerHorizontal="true" android:layout_centerVertical="true" /> <FrameLayout android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/bg_tab" android:layout_gravity="left"> </FrameLayout> </android.support.v4.widget.DrawerLayout> ~~~ 然后再主頁面中添加: 控制抽屜的開關, 顯示在actionBar 上面? ~~~ public class MainActivity extends BaseActivity implements OnQueryTextListener { private DrawerLayout mDrawerLayout; private ActionBarDrawerToggle drawerToggle; private ViewPager mViewPager; private PagerTabStrip pager_tab_strip; private String[] tab_names; // 標簽的名字 @Override protected void initActionBar() { ActionBar actionBar = getSupportActionBar(); actionBar.setDisplayHomeAsUpEnabled(true); actionBar.setHomeButtonEnabled(true); /* * 1)顯示Navigation Drawer的 Activity 對象 2) DrawerLayout 對象 3)一個用來指示Navigation Drawer的 drawable資源 4)一個用來描述打開Navigation Drawer的文本 (用于支持可訪問性)。 5)一個用來描述關閉Navigation Drawer的文本(用于支持可訪問性). */ drawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout, R.drawable.ic_drawer_am, R.string.open_drawer, R.string.close_drawer){ @Override public void onDrawerClosed(View drawerView) { super.onDrawerClosed(drawerView); Toast.makeText(getApplicationContext(), "抽屜關閉了", 0).show(); } @Override public void onDrawerOpened(View drawerView) { super.onDrawerOpened(drawerView); Toast.makeText(getApplicationContext(), "抽屜打開了", 0).show(); } }; mDrawerLayout.setDrawerListener(drawerToggle); // 讓開關和actionbar建立關系 drawerToggle.syncState(); } } ~~~ ![](https://box.kancloud.cn/2016-03-14_56e65d6c377ae.jpg)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看