问答详情
源自:3-3 Drawerlayout使用讲解2

ActionBarDrawerToggle第三个参数代表的是什么

new ActionBarDrawerToggle对象那个时,第三个参数代表的是什么

提问者:tskxc 2017-03-23 20:36

个回答

  • 自由的气息
    2017-03-24 14:47:55

    ActionBarDrawerToggle  是 DrawerLayout.DrawerListener实现。

    和 NavigationDrawer 搭配使用,推荐用这个方法,符合Android design规范。

    作用:

    1.改变android.R.id.home返回图标。

    2.Drawer拉出、隐藏,带有android.R.id.home动画效果。

    3.监听Drawer拉出、隐藏;


    做法,参照 NagatitionDrawer Demo。

    重点在于:


    /**

      * When using the ActionBarDrawerToggle, you must call it during

      * onPostCreate() and onConfigurationChanged()...

      */

     @Override

     protected void onPostCreate(Bundle savedInstanceState)

     {

      super.onPostCreate(savedInstanceState);

      // Sync the toggle state after onRestoreInstanceState has occurred.

      mDrawerToggle.syncState();

     }

     @Override

     public void onConfigurationChanged(Configuration newConfig)

     {

      super.onConfigurationChanged(newConfig);

      // Pass any configuration change to the drawer toggls

      mDrawerToggle.onConfigurationChanged(newConfig);

     }


    以及 mDrawerToggle 的初始构造方法

    mDrawerToggle = new ActionBarDrawerToggle(this, /* host Activity */

      mDrawerLayout, /* DrawerLayout object */

      R.drawable.ic_drawer, /* nav drawer image to replace 'Up' caret */

      R.string.drawer_open, /* "open drawer" description for accessibility */

      R.string.drawer_close /* "close drawer" description for accessibility */

      )

    最后不要忘了

    mDrawerLayout.setDrawerListener(mDrawerToggle);