对不起,我的英语不好。 我在某些活动中有一个导航抽屉,我希望将每个导航视图项目的图标放置在该项目文本的右侧,并且整个项目都具有正确的重力。 因为我只在应用程序中使用波斯语,所以我无法在代码中使用“ supportsRtl”,如果使用,当我将设备语言设置为任何rtl语言时,它看起来会很奇怪。
我认为我可以通过为导航视图设置自定义布局来解决此问题,但我正在寻找一种更简单的方法。这是我的NavigationView XML代码:
<android.support.design.widget.NavigationView
android:layout_width="match_parent"
android:layout_height="match_parent"
app:menu="@menu/menu"
android:layout_gravity="end" />
已编辑:
layoutDirection是一个很好的答案,但我使用了
drawerLayout.openDrawer(GravityCompat.START);
用于打开导航抽屉。现在,如果设备语言是rtl语言,则会使应用崩溃。
答案 0 :(得分:2)
使supportsRtl为true,并在导航视图上将布局方向设置为RTL,在其他布局中将布局方向设置为LTR
答案 1 :(得分:0)
只需将android:layoutDirection="rtl"
添加到您的NavigationView
中,如下所示:
<android.support.design.widget.NavigationView
android:layout_width="match_parent"
android:layout_height="match_parent"
app:menu="@menu/menu"
android:layoutDirection="rtl"
android:layout_gravity="end" />