在右上角设置ActionBarDrawerToggle

时间:2013-07-24 10:28:00

标签: android android-layout

如何在右角设置ActionBarDrawerToggle?因为我设置了listview gravity

  

机器人: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(); 
                }
        };

3 个答案:

答案 0 :(得分:2)

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

除了使用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);
    }

答案 1 :(得分:2)

ANSWER

@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);
}

答案 2 :(得分:0)

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

android:supportsRtl="true"