在右下角设置ActionBarDrawerToggle

我怎样才能在右上角设置ActionBarDrawerToggle? 因为我设置了listview引力

机器人:layout_gravity = “结束”

所以我想ActionBarDrawerToggle在正确的,我怎么做?

这是我的代码

getActionBar().setDisplayHomeAsUpEnabled(true);
        getActionBar().setHomeButtonEnabled(true);
        mDrawerToggle = new ActionBarDrawerToggle(this,mDrawerLayout,R.drawable.ic_drawer,R.string.drawer_open,R.string.drawer_close)
        {
            public void onDrawerClosed(View view) {
                getActionBar().setTitle(mTitle);
                invalidateOptionsMenu();
            }
            public void onDrawerOpened(View drawerView) {
                getActionBar().setTitle(mDrawerTitle);
                invalidateOptionsMenu(); 
                }
        };

我不能使用点击“家”图标来做到这一点,我认为这不会很好,因为抽屉会出现在右侧。 但是,作为@runamok,我希望在右侧有一个选项菜单项(而不是替换通常执行“返回”功能的“主页”图标),从而触发抽屉从右侧进入/退出。

除了使用android:layout_gravity =“right”之外,还可以使用选项菜单项来执行打开/关闭动作。

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {

        switch (item.getItemId()) {
        case R.id.my_menu_item:
            if(!mDrawerLayout.isDrawerOpen(Gravity.RIGHT))
                mDrawerLayout.openDrawer(Gravity.RIGHT);
            else
                mDrawerLayout.closeDrawer(Gravity.RIGHT);

            return true;

        default:
            break;
        }

        return super.onOptionsItemSelected(item);
    }

回答

@Override
public boolean onOptionsItemSelected(MenuItem item) {

    switch (item.getItemId()) {
    case R.id.my_menu_item:
        if(!mDrawerLayout.isDrawerOpen(GravityCompat.END))
            mDrawerLayout.openDrawer(GravityCompat.END);
        else
            mDrawerLayout.closeDrawer(GravityCompat.END);

        return true;

    default:
        break;
    }

    return super.onOptionsItemSelected(item);
}

尝试将此行添加到Android清单文件中:

android:supportsRtl="true"
链接地址: http://www.djcxy.com/p/72953.html

上一篇: set ActionBarDrawerToggle at right corner

下一篇: recommended way to extend classes in Paper.js