RTL布局支持
来源:互联网 发布:网络电视是什么信号源 编辑:程序博客网 时间:2024/06/03 17:07
RTL布局支持
Android现在提供了一些API,使您可以构建更优雅的变换布局方向的用户界面。这些界面将支持由右到左(RTL)的语言和阅读方向。比如阿拉伯语和希伯来语。
为了使您的应用支持RTL布局,需要在manifest文件中设置元素的android:supportsRtl属性为“true”。一旦启用,该系统将启用各种RTL API来用RTL布局显示您的应用。举例来说,在操作栏中将操作按钮显示在左侧,而把图标和标题显示在右侧。所有您用框架提供的View类所构建的布局也会以相反的方向显示。
如果您需要在显示RTL布局时进一步优化您应用的外观,有两个基本层面的优化:
将左——右方向的布局属性转变为开始——结束方向的布局属性。
例如,用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。或者,使用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)以格式化数字。
最近遇到个问题,阿拉伯语下全英文会靠左显示,在对应TextView 中加android:textDirection="rtl"这个属性就会跟阿拉伯文一样都显示在右边,并且不会影响阿拉伯文的显示。跟大家分享下,攒人品,哈哈 :)
如果想要调整文字
转自:http://article.yeeyan.org/view/37503/335086
- RTL布局支持
- android RTL布局支持说明
- RTL布局
- android的RTL支持
- 实现GridLayoutManager支持RTL
- Android从右到左布局(RTL Layout)
- 从右往左的布局( RTL layout )
- 从右到左布局(RTL Layout)
- 从右到左布局(RTL Layout)
- bidi(双向文字)与RTL布局总结
- bidi(双向文字)与RTL布局总结
- Android支持RTL(从右向左)语言
- Android布局--相对布局,RTL,用代码实现布局
- Android布局小记:从右到左布局(RTL Layout)
- 8.4.6 从右到左布局(RTL Layout)
- Android 开发之布局细节对比:RTL模式
- Android从右到左的布局(RTL Layout)
- Android 4.2 支持原生RTL(由右到左显示)
- Listener 三个常用的
- hadoop 断电宕机处理
- POJ 2234 Matches Game (nim博弈裸题)
- Unity-Editor 编辑Inspector面板数据保存问题
- Linux kill, killall, kill -9
- RTL布局支持
- monkey&monkeyrunner学习笔记
- 信号完整性分析-传播速度
- 相对优先排序和绝对优先排序的效率比较
- Linux与安卓手机利用FTP互连
- 访问的网页自动打开QQ对话
- 【读书札记】《北大授课》中华文化四十七讲 余秋雨
- 深入理解Java虚拟机
- 五绝.天门山