Right to left menu items Android

雨燕双飞 提交于 2020-04-10 15:13:10

问题


I have an Slide menu as picture one. And i need to align its items title to be right to left like slide two . I tried gravity=right but didn't work.

Here is my code :

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

    <group android:checkableBehavior="single"
        android:layout_gravity="end"
        android:gravity="end">

        <item
            android:id="@+id/nav_1"
            android:icon="@drawable/ic_keyboard_arrow_left_24dp"
            android:gravity="end"
            android:layout_gravity="end"
            android:title="آگهی خود را ثبت کنید"/>

</menu>

The desired menu will be :


回答1:


To create right to left menu you just need to add android:layoutDirection="rtl" to the menu tag


android:layoutDirection="rtl"


<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:gravity="end"
    android:layoutDirection="rtl"
    android:layout_gravity="end">

    <group android:checkableBehavior="single"
        android:layout_gravity="end"
        android:gravity="end">

        <item
            android:id="@+id/nav_1"
            android:icon="@drawable/ic_keyboard_arrow_left_24dp"
            android:gravity="end"
            android:layout_gravity="end"
            android:title="آگهی خود را ثبت کنید"/>
    </group>
</menu>

you can see here the source:

http://developer.android.com/reference/android/util/LayoutDirection.html#LTR

api 17 and above




回答2:


The layoutDirection attribute should be added to the parent activity layout XML:

android:layoutDirection="rtl"



回答3:


if you are going to change your Menu direction which is inside a DrawerLayout just add

android:layoutDirection="rtl"

to your NavigationView element. output should be like:

<android.support.design.widget.NavigationView
    android:id="@+id/nav_view"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_gravity="right"
    android:fitsSystemWindows="true"
    android:layoutDirection="rtl"
    app:headerLayout="@layout/nav_header_main"
    app:menu="@menu/activity_main_drawer" />


来源:https://stackoverflow.com/questions/36517082/right-to-left-menu-items-android

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!