阿拉伯语系处理方法

1,在Androidmanifest.xml文件中的application标签内加上 android: supportsRtl="true"属性;

2. 某一个对象需要支持rtl,需要增加这个android: layoutDirection ="rtl";
2,对于布局问题,一个窗口界面没有右对齐,需要在res目录下增加layout-ldrtl目录,把布局文件重新在这个目录下书写;如果不采用该方法,需要在原来的布局文件中修改以下内容:
    layout_marginLeft 修改为 layout_marginStart
    layout_marginRight 修改为 layout_marginEnd
     layout_alignParentLeft 修改为 layout_alignParentStart
     layout_alignParentRight 修改为 layout_alignParentEnd
     android:layout_toLeftOf 修改为 android:layout_toStartOf
     android:layout_toRigntOf 修改为 android:layout_toEndOf
3,对于字符串方向问题,阿拉伯字串是有两个方向的,字串中有英文的,方向就会自动左到右显示。例如:一串英语后加阿拉伯,波斯语,方向以英语为准,就会左到右显示,这样就会产生方向性bug;需要在该
   字串前加一个方向符\u200f;这个是一个空白的阿拉伯区域的unicode;加入这个字符后方向就会右到左;
4,对于一些界面的阿拉伯数字1,2,3等,如果需要修改为阿拉伯语的数字形式?, ?, ?,需要在代码初使用String.format("%d", int)方法来转换;


EditText中添加属性android:textDirection="locale"就可以自动根据语言适配对齐方式

android: supportsRtl="true"属性不起作用:
   原因在于  Androidmanifest.xml中对最小SDK版本号和目标版本号做了要求:

             <uses-sdk android:minSdkVersion="11"
                android:targetSdkVersion="21" />

   而使用android:supportsRtl="true"要求最低SDK版本号为17,再将上面那两句直接删除或者是改动为>=17的版本号就可以。

你可能感兴趣的:(阿拉伯语系处理方法)