android RTL布局支持说明

第一步:首先要在AndroidManifest中的Application中添加属性android:supportsRtl=true”

第二步:<uses-sdk adnroid:minSdkVersion="17">

第三步:切换到阿拉伯语,查看显示不正确的布局,按照下面的方法具体调整了


RTL布局支持

Android现在提供了一些API,使您可以构建更优雅的变换布局方向的用户界面。这些界面将支持由右到左(RTL)的语言和阅读方向。比如阿拉伯语和希伯来语。

为了使您的应用支持RTL布局,需要在manifest文件中设置元素的android:supportsRtl属性为“true”。一旦启用,该系统将启用各种RTL API来用RTL布局显示您的应用。举例来说,在操作栏中将操作按钮显示在左侧,而把图标和标题显示在右侧。所有您用框架提供的View类所构建的布局也会以相反的方向显示。

如果您需要在显示RTL布局时进一步优化您应用的外观,有两个基本层面的优化:

  1. 将左——右方向的布局属性转变为开始——结束方向的布局属性。 
    例如,用android:layout_marginStart替换android:layout_marginLeft,用android:layout_marginEnd替换android:layout_marginRight。 
    RelativeLayout类也提供了相应的布局属性,来替换左/右位置,如:android:layout_alignParentStart替换android:layout_alignParentLeft,用android:layout_toStartOf替换android:layout_toLeftOf。

  2. 或者,使用ldrtl资源限定词(ldrtl意味着布局方向由右至左)资源提供完整的针对RTL布局优化过的布局文件。例如,您可以在res/layout/目录保存您默认的配置文件,而在res/layout-ldrtl/目录下保存您针对RTL优化过的布局。 
    ldrtl限定词对drawable资源也很适用,这样您就可以提供与阅读方向相同的图片了。

框架中还有各种其它的支持RTL布局的API,比如,在View类中,您可以在定制的view中实现适当的行为;在Configuration类中,可以查询当前的布局方向。

注意:如果您用SQLite而表名或列名使用了“仅允许数字”特性。请小心:当您的设备设置为阿拉伯地区,使用String.format(String, Object...) 方法时会因为数字转换成对应的阿拉伯文而导致错误。您必须使用String.format(Locale,String,Object...),以确保数字以ASCII的编码保存。还可以使用String.format("%d", int)来取代String.valueOf(int)以格式化数字。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值