Search code examples
androidnavigation-drawerright-to-left

Change Postion icon in Navigation Drawer


in my NavigationDrawer i add icon to my list but i cant change position to left .

my NavigationDrawer xml :

<menu xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android">

<item android:title="صفحه اصلی"
      android:id="@+id/menuitem1"
    app:showAsAction="never"/>

<item android:title="درباره ما"
      android:id="@+id/menuitem2"
    app:showAsAction="never"
    android:icon="@drawable/newclassicon2"/></menu>

my NavigationView xml :

    <android.support.design.widget.NavigationView
    android:id="@+id/navigation_view"
    android:layout_width="250dp"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    app:menu="@menu/navigation_menu"
    app:headerLayout="@layout/navigation_header"
    tools:layout_editor_absoluteY="8dp"
    tools:layout_editor_absoluteX="0dp">
</android.support.design.widget.NavigationView>

enter image description here


Solution

  • Here first get a Locale and set in preference and create layout-ar folder in drawable folder and create a four same file of one layout and put two file in simple layout and rest two put in layout-ar folder mentioned below.

    Adapter of nevigation drawer:-

     mainSettinglanguage = AppPreference.getStringPref(context, AppPreference.PREF_MAIN_SETTING_LANGUAGE, AppPreference.PREF_KEY.MAIN_SETTING_LANGUAGE);
            if (mainSettinglanguage != null && mainSettinglanguage.equals("ar")) {
                view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.section_list_item_ar, viewGroup, false);
            } else {
                view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.section_list_item, viewGroup, false);
            }
    

    layout--> item.xml

     <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:paddingLeft="2dp"
        android:paddingRight="2dp">
    
        <RelativeLayout
            android:id="@+id/ll_section_check"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:paddingLeft="5dp"
            android:paddingRight="5dp">
    
            <CheckBox
                android:id="@+id/chk_section"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingLeft="10dp" />
    
    
            <TextView
                android:id="@+id/tv_section_name"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerInParent="true"
                android:layout_toRightOf="@+id/chk_section"
                android:gravity="center_vertical"
                android:text="AAA"
                android:textColor="@color/black"
                android:textSize="16dp" />
    
        </RelativeLayout>
    
        <View
            android:layout_width="match_parent"
            android:layout_height="1dp"
            android:background="@color/view_color" />
    </LinearLayout>
    

    layout-ar --> item.xml

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:paddingLeft="2dp"
        android:paddingRight="2dp">
    
    
        <RelativeLayout
            android:id="@+id/ll_section_check"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:paddingLeft="5dp"
            android:paddingRight="5dp">
    
            <CheckBox
                android:id="@+id/chk_section"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:gravity="right|center_vertical" />
    
            <TextView
                android:id="@+id/tv_section_name"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_centerInParent="true"
                android:layout_toLeftOf="@+id/chk_section"
                android:gravity="right|center_vertical"
                android:text="AAA"
                android:textColor="@color/black"
                android:textSize="16dp" />
        </RelativeLayout>
    
        <View
            android:layout_width="match_parent"
            android:layout_height="1dp"
            android:background="@color/view_color" />
    </LinearLayout>
    

    layout --> view.xml

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:paddingLeft="2dp"
        android:paddingRight="2dp">
    
    
        <RelativeLayout
            android:id="@+id/ll_section_check"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:paddingLeft="5dp"
            android:paddingRight="5dp">
    
            <CheckBox
                android:id="@+id/chk_section"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:gravity="right|center_vertical" />
    
            <TextView
                android:id="@+id/tv_section_name"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_centerInParent="true"
                android:layout_toRightOf="@+id/chk_section"
                android:gravity="left|center_vertical"
                android:text="AAA"
                android:textColor="@color/black"
                android:textSize="16dp" />
        </RelativeLayout>
    
        <View
            android:layout_width="match_parent"
            android:layout_height="1dp"
            android:background="@color/view_color" />
    </LinearLayout>
    

    layout-ar --> view.xml

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:paddingLeft="2dp"
        android:paddingRight="2dp">
    
        <RelativeLayout
            android:id="@+id/ll_section_check"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:paddingLeft="5dp"
            android:paddingRight="5dp">
    
            <CheckBox
                android:id="@+id/chk_section"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingLeft="10dp" />
    
    
            <TextView
                android:id="@+id/tv_section_name"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerInParent="true"
                android:layout_toLeftOf="@+id/chk_section"
                android:gravity="center_vertical"
                android:text="AAA"
                android:textColor="@color/black"
                android:textSize="16dp" />
    
        </RelativeLayout>
    
        <View
            android:layout_width="match_parent"
            android:layout_height="1dp"
            android:background="@color/view_color" />
    </LinearLayout>
    

    Hope this may helps you.