从右到左对齐工具栏图标?

时间:2015-03-28 12:23:52

标签: android android-toolbar

在我的应用程序中,我实现了一些语言,包括从右到左开始的阿拉伯语。我想将工具栏中的所有图标对齐为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"/>

这就是我想要的:


2 个答案:

答案 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"