Android RTL布局适配
最近公司有海外项目需求,因为有多语言适配,布局就需要LTR以及RTL布局方式,特此记录一下简单适配过程。
- 开发语言 kotlin
- 布局使用xml结合 viewbinding
- 最低 Api Level 21
RTL
- RTL 是 Right-to-left 的缩写,其意为阅读和书写的习惯,是从右向左延伸的。再对比一下我国人自身的使用习惯,都是 LTR 的,也就是从左向右。
- RTL 可以简单理解是 LTR 的镜像,当需要适配 RTL 的时候,除了翻译语言本身,还需要做到的就是 UI 布局,从中轴上镜像反转。
- RTL 不符合我们国人的使用习惯,但是全球范围内依然有一部分人保持着 RTL 的习惯,比较常见的就是阿拉伯语、希伯来语等。
- Android 4.2 开始,增加了对 RTL 镜像布局完全原生的支持。我这里使用最低Android5.0,所以完全支持。
- 在这些系统版本上,只要用户系统语言切换到「RTL 系语言」,首先系统 UI 会直接左右镜像切换,此时如果你的 App 支持 RTL 镜像布局时,也会自动切换布局方向。
支持
标签下添加 android:supportsRtl=“true” 即可。
布局的编写需要注意
1. xxxLeft/xxxRight "替换"为 xxxStart/xxxEnd 2. 使用约束布局 Left/Right 都需要变换为 Start/End 3. 如果不想某些控件镜像,使用Left/Right即可,使用后不会被镜像
一些细节
适配 RTL 的过程中,无法避免的就是有一些属性必须要设置,比如常用的TextView
android:gravity="start" android:textDirection="locale"将这些属性在 style.xml 中全局为 TextView 设置 <style name="TextViewStyle.Alignment" parent="@android:style/Widget.TextView"><item name="android:gravity">start</item><item name="android:textDirection">locale</item> </style>
RTL 的资源适配
res/mipmap-xhdpi/b.png mipmap-ldrtl-xhdpi/b.png layout/main.xml // 默认布局layout-ar/main.xml // 阿拉伯语布局layout-ldrtl/main.xml // RTL 布局
小结
按照以上操作完成后,对照UI仔细检查每个页面以及资源,根据需求调整即可。
Android RTL布局适配相关推荐
- android rtl布局支持,Android 布局之 RTL
Android 布局之 RTL 中东国家地区须要适配 RTL的布局,顾名思义支持从右至左布局android 前提:在AndroidManifest.xml文件中 android:supportsRtl ...
- android ui布局适配,Android适配全面总结(一)----屏幕适配
前言 Android适配是一个老生常谈的问题,很多程序员觉得很恶心,不愿意做适配,但是又不得不做.然后老板说,这位兄弟,做好了,今天晚饭给你加个鸡腿,然后程序员开始找各种资料,忙活起来了,最终在苦逼的 ...
- android ui布局适配,Android设备的界面适配设计
Android设备App设计中有一个问题可能会被设计师忽略,在各种分辨率各种尺寸"杂屏"的界面适配.可能产出的界面稿在常用的720*1280的分辨率中是完美,但一到各个不同分辨率不 ...
- android百分比布局适配,安卓屏幕适配-百分比布局
屏幕适配-百分比布局 原理:以父容器尺寸作为参考,在View的加载过程,根据当前父容器实际尺寸换算出目标尺寸,在作用在View上. 百分比布局实际是对容器的一中扩展,扩展的是宽高等比例的设置. 1.自 ...
- android 布局适配虚拟键适配
今天,看到关于虚拟键盘的内容,于是记录一下. 如果是控件,可以直接使用Android:fitsSystemWindows="true"),但是如果是popwindow,那就必须获取 ...
- android 多套布局适配,Android屏幕适配 重点盘点
引子 屏幕适配是 android 开发/面试 绕不开的一个问题.本文 将屏幕适配的知识要点完整展现给各位读者. 正文大纲 android需要做屏幕适配的原因 基础知识点(很重要) 屏幕适配攻略 正文 ...
- Android 系统(226)---Android 阿拉伯语适配
Android 阿拉伯语适配 RTL 语言由来 RTL 是 Right-to-left(从右向左) 的缩写.其意为人们书写阅读习惯是从右向左,朝左继续的,常见的 RTL 语言有阿拉伯语,希伯来语等. ...
- Android RLT布局兼容注意事项
引 近期公司项目需要开拓阿拉伯市场,故需要在APP端兼容阿拉伯语. 阿拉伯语与其他多语言不同之处在于其布局是由右到左排布的,与我们常见的从左到右的布局不同.故需要修改部分代码的写法以兼容右到左布局. ...
- 关于Android语言本地化适配的问题和记录
最近在项目中接触到了应用多语言适配的一些问题.海外市场这几年大概率也会是国内企业的进军方向.既然遇到了这方面的问题那就记录一下好了. 1.本地化设置 本地化的设置有很多,但最重要的应该是语言了适配.一 ...
最新文章
- 树莓派.系统.官方下载中NOOBS和Raspbian的区别
- 是什么牌子_水晶项链什么牌子好
- (王道408考研数据结构)第六章图-第四节2:最小生成树之克鲁斯卡尔算法(思想、代码、演示、答题规范)
- 还没使用过Web Worker? 推荐一款开源工具Workerize-Loader,让你在webpack项目中轻松使用Web Worker
- python中transform用法_Python Wand transform()用法及代码示例
- Python花式编程案例锦集(1)
- 阿里华为百度三足鼎立,5G 资费高,操作系统 Linux 称王 | 中国物联网开发者真实现状报告...
- Linux 命令缩写
- CCF201312试题
- js 连mysql 延后_详解MySQL 主从同步延迟
- 【DFS】LeetCode 77. Combinations
- scala function从入门到理解
- 使用OWA无法撰写邮件内容的解决法
- 2022年山东省安全员C证特种作业证考试题库及答案
- 使用CamlBuilder生成CAML查询语句
- 数字调制解调技术:第7章-COSATAS环载波频率参数设计问题
- PTA 7-114 用if-else语句编程百分制成绩转换为五分制成绩
- 2021年全球无水氢氟酸收入大约3120.8百万美元,预计2028年达到3634.6百万美元
- 无源波分和彩光模块_无源组网向半有源组网改造的5G前传无源WDM方案
- springboot基础学习笔记
热门文章
- 定期“肌断食” 让肌肤的完美升级
- 火山引擎联合中国信通院发布《边缘云总体技术与测试要求》
- 三相LCL型并网逆变器电流闭环虚拟阻尼控制Simulink仿真
- 计算时区函数gmt2local(time_t t)
- 微软Silverlight简介
- 网络安全形势严峻进入“红色警报”阶段
- 在线计算过往日期天数,计算活了多少天
- Flume监控软件——Ganglia安装与部署
- java.io.IOException: unexpected end of stream on https://xxx.xxx.xxx.xxx:84/
- 外媒:欧盟推出超级计算机 计划追赶中国