android如何在屏幕右侧创建抽屉布局

时间:2015-05-26 09:05:47

标签: java android drawerlayout

嗨我想在屏幕右侧创建一个抽屉布局,我想在顶部屏幕右侧放置一个按钮,当我点击它时我想打开一个抽屉,我试图使用ActionBarDrawerToggle但这可以打开一个抽屉使用应用程序的图标(这意味着在屏幕左侧)。![这就是我想要抽屉出现的方式

这是我的代码

mDrawerToggle = new ActionBarDrawerToggle(
        this,
        mDrawerLayout,
        R.drawable.ic_launcher, 
        R.string.drawer_open, 
        R.string.drawer_close 
        ) {
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        if (item != null && item.getItemId() == android.R.id.home) {
            if (mDrawerLayout.isDrawerOpen(Gravity.RIGHT)) {
                mDrawerLayout.closeDrawer(Gravity.RIGHT);
            } else {
                mDrawerLayout.openDrawer(Gravity.RIGHT);
            }
        }
        return false;
    }
    /** Called when a drawer has settled in a completely closed state. */
    public void onDrawerClosed(View view) {
        super.onDrawerClosed(view);
        getActionBar().setTitle(mTitle);
    }

    /** Called when a drawer has settled in a completely open state. */
    public void onDrawerOpened(View drawerView) {
        super.onDrawerOpened(drawerView);
        getActionBar().setTitle(mDrawerTitle);
    }
};

1 个答案:

答案 0 :(得分:2)

在您的主要布局中,将ListView引力设置为右:

android:layout_gravity="right" 

也在您的代码中:

mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout,
        R.drawable.ic_drawer, R.string.drawer_open,
        R.string.drawer_close) {

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        if (item != null && item.getItemId() == android.R.id.home) {
            if (mDrawerLayout.isDrawerOpen(Gravity.RIGHT)) {
                mDrawerLayout.closeDrawer(Gravity.RIGHT);
            } else {
                mDrawerLayout.openDrawer(Gravity.RIGHT);
            }
        }
        return false;
    }
};