ActionBarDrawerToggle位于右侧

3

我正在使用ActionBarDrawerToggle(导航抽屉),但我无法将其设置在右上角(用于波斯语)。

这是我的activity_main.xml代码:

<android.support.v4.widget.DrawerLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <!-- Framelayout to display Fragments -->
    <FrameLayout   
        android:id="@+id/frame_container"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />  

    <!-- Listview to display slider menu -->
    <ListView
        android:id="@+id/list_slidermenu"
        android:layout_width="240dp"
        android:layout_height="match_parent"  
        android:layout_gravity="start"
        android:choiceMode="singleChoice"
        android:divider="@color/list_divider"
        android:dividerHeight="1dp"        
        android:listSelector="@drawable/list_selector"
        android:background="@color/list_background" />

</android.support.v4.widget.DrawerLayout>

这是我活动类中相关的代码:

这是我活动类中相关的代码:

mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout,
    R.drawable.ic_drawer, //nav menu toggle icon
    R.string.app_name, // nav drawer open - description for accessibility
    R.string.app_name // nav drawer close - description for accessibility) {
        public void onDrawerClosed(View view) {
            getActionBar().setTitle(mTitle);
            // calling onPrepareOptionsMenu() to show action bar icons
            invalidateOptionsMenu();
        }

        public void onDrawerOpened(View drawerView) {
            getActionBar().setTitle(mDrawerTitle);
            // calling onPrepareOptionsMenu() to hide action bar icons
            invalidateOptionsMenu();
        }          
}; 

我查阅了相关资料,发现应该使用gravity属性,但在xml中它无法正常工作。

它无法工作是因为“start”根据您使用的语言类型而工作。如果您的语言是从右到左的,则抽屉将出现在右侧。我认为您应该检查您的语言模式,然后再试一次。 - Aradhna
我使用了'end'和'right',但仍然无法工作。 - Nima.S-H
1
请查看此链接-> https://dev59.com/MGMl5IYBdhLWcg3wP1LE - Aradhna
非常感谢,它可以工作。 - Nima.S-H
1
很高兴它有帮助。 :) - Aradhna
2个回答

3
toolbar.setNavigationOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
    if (Drawer.isDrawerOpen(Gravity.RIGHT)) {
        Drawer.closeDrawer(Gravity.RIGHT);
    } else {
        Drawer.openDrawer(Gravity.RIGHT);
    }
}});

-2
尝试将此行添加到Android清单文件中:
android:supportsRtl="true"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接