您的位置:首页 > 移动开发 > Android开发

android开发步步为营之86:关于对阿拉伯语页面文字从右往左的支持

2015-12-09 21:42 399 查看
最近项目需要对阿拉伯语做支持,之前GP上都被阿拉伯人差评,一度不再支持阿拉伯语,因为语言习惯不符合人家的,人家喜欢从右往左读的。这次老板说阿拉伯人有钱,很多是土豪,我们的APP必须支持阿拉伯语,所以了,这里总结一下,我们项目是如何支持阿拉伯语的。

第一步:AndroidManifest.xml添加从右往左supportsRtl的排版

<application
android:name="com.figo.study"
android:allowBackup="true"
android:hardwareAccelerated="true"
android:icon="@drawable/ic_launcher"
android:label="@string/product_name"
android:largeHeap="true"
android:supportsRtl="true"
tools:replace="android:icon,android:label">


第二步:布局文件中有Left就要有Start,有Right就要有End,这样保证了兼容低版本

就像这样:

android:layout_marginLeft="2dp"
android:layout_marginStart="2dp"
android:layout_marginRight="2dp"
android:layout_marginEnd="2dp"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:paddingLeft="2dp"
android:paddingStart="2dp"

另外对于EditText需要从右往左输入,改动如下:[/code]
<EditText
android:id="@+id/et_content"
android:layout_width="match_parent"
android:layout_height="138.5dp"
android:layout_below="@+id/layout_title"
android:layout_marginLeft="2dp"
android:layout_marginStart="2dp"
android:layout_marginRight="2dp"
android:layout_marginEnd="2dp"
android:background="@null"
android:gravity="left|top"
android:hint="@string/lbl_enter_feedback"
android:inputType="textMultiLine"
android:minLines="6"
android:singleLine="false"
android:textCursorDrawable="@drawable/cursor_color" />
android:gravity="left|top"表示光标在左上角,那么这个属性需要在java文件中根据语言环境动态修改成光标在右上角。如下:[/code]
etContent = (EditText) findViewById(R.id.et_content);
etContent.setHintTextColor(getResources().getColor(R.color.light2gray));
Locale locale = getResources().getConfiguration().locale;
String language = locale.getLanguage();
if (language.endsWith("ar"))
{
etContent.setGravity(Gravity.RIGHT|Gravity.TOP);
}


[/code]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: