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

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

这是我想要的:

解决方法

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

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...