3

I am using ActionBarDrawerToggle (Navigation Drawer), but I can't set it on the right corner (for persian language).

Here is my activity_main.xml code:

<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>

And this is relevant code from my activity class:

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

I searched about this, I should use gravity, but it it is not working in xml.

Darwind
  • 7,165
  • 3
  • 46
  • 47
Nima.S-H
  • 767
  • 1
  • 9
  • 19

2 Answers2

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);
    }
}});
SadeQ digitALLife
  • 1,291
  • 4
  • 13
  • 19
-2

Try adding this line to android manifest file:

android:supportsRtl="true"
Tyler
  • 16,759
  • 10
  • 49
  • 87
n.b
  • 5
  • 2