在我的应用程序中,我实现了一些语言,包括从右到左开始的阿拉伯语。我想将工具栏中的所有图标对齐为RIGHT_TO_LEFT
。
我尝试了layout_gravity="right"
和gravity="right"
但没有发生任何事情。
我的工具栏代码:
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/primary_color"
app:popupTheme="@style/Theme.AppCompat.Light"/>
这就是我想要的:
答案 0 :(得分:20)
Android 4.2(API级别17)引入了官方的从右到左的支持,因此只有在最低SDK级别为17时才会有效:
1)将android:supportsRtl="true"
属性放在AndroidManifest文件中,以支持从右到左的布局方向。
2)其次将此代码放入您的活动中onCreate()方法:
if (getWindow().getDecorView().getLayoutDirection() == View.LAYOUT_DIRECTION_LTR){
getWindow().getDecorView().setLayoutDirection(View.LAYOUT_DIRECTION_RTL);
}
如果系统使用相应语言,这将使您的所有内容从右向左放置。还要确保在设置填充时使用开始/结束而不是左/右,以确保所有元素都正确对齐。
有关官方支持公告的更多信息:http://android-developers.blogspot.be/2013/03/native-rtl-support-in-android-42.html
答案 1 :(得分:1)
将android:supportsRtl =“ true”属性放入AndroidManifest文件中。 之后,将以下行添加到工具栏标签:
android:layoutDirection="rtl"