android rtl布局支持,Android 布局之 RTL
Android 布局之 RTL
中东国家地区须要适配 RTL的布局,顾名思义支持从右至左布局android
前提:在AndroidManifest.xml文件中
android:supportsRtl=true ,表示应用支持RTL布局此外TargetSdkVersion>=17,若不设置中东语言可开启开发者选项中强制使用从右至左布局布局
支持RTL布局时,布局参数要尽可能避免使用left 或rightui
1.问题描述:
设置项,美颜图标不支持RTL布局,spa
查询在AndroidManifest.xml 文件 android:supportsRtl= true
开发者选项开启强制使用从左至右布局,设置项,美颜图标仍不支持RTL
2.缘由:
查询对应组件的布局参数.net
美颜图标 布局参数使用 “left”,“right”
android:layout_alignParentRight code
android:layout_marginRight xml
(2)设置项子viewblog
自定义控件布局onLayOut时判断是不是RTL开发
部分layout并未使用start/end标记,而是使用的left/right标记;2.自定控件未作反向处理 将Layout中left/right的属性换成start/end标记;
在自定义控件中检查当前是不是RTL反向类型,若是是就反向遍历添加子View
3.源码解读:
判断当前的布局方向
public static final int LAYOUT_DIRECTION_LTR = LayoutDirection.LTR;
public static final int LAYOUT_DIRECTION_RTL = LayoutDirection.RTL;
View.LAYOUT_DIRECTION_LTR
View.LAYOUT_DIRECTION_RTL
public int getLayoutDirection() {
final int targetSdkVersion = getContext().getApplicationInfo().targetSdkVersion;
if (targetSdkVersion < Build.VERSION_CODES.JELLY_BEAN_MR1) {
mPrivateFlags2 |= PFLAG2_LAYOUT_DIRECTION_RESOLVED;
return LAYOUT_DIRECTION_RESOLVED_DEFAULT;
}
return((mPrivateFlags2 & PFLAG2_LAYOUT_DIRECTION_RESOLVED_RTL) ==
PFLAG2_LAYOUT_DIRECTION_RESOLVED_RTL) ? LAYOUT_DIRECTION_RTL : LAYOUT_DIRECTION_LTR;
}
注意:计算子View之间的间距,子View和父布局之间的距离,根据是否支持RTL,从新计算起始子View的布局参数
4.问题
设置系统语言或者直接打开开发者选项的强制RTL 影响布局方向的机制??
科普参考:
(1)https://blog.csdn.net/lj19851227/article/details/12027321?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522160566488919724842901184%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=160566488919724842901184&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-2-12027321.pc_first_rank_v2_rank_v28&utm_term=Android+RTL&spm=1018.2118.3001.4449
(2)https://codegg.blog.csdn.net/article/details/46564025?utm_medium=distribute.pc_relevant.none-task-blog-OPENSEARCH-8.edu_weight&depth_1-utm_source=distribute.pc_relevant.none-task-blog-OPENSEARCH-8.edu_weight
android rtl布局支持,Android 布局之 RTL相关推荐
- android ratingbar 版本支持,Android用来替代RatingBar的自定义ImageRatingView
项目地址:https://github.com/qingtenglv/ImageRatingView 因为android自带的RatingBar用起来不是很方便,于是决定自己写一个替代品.欢迎大家去g ...
- Android12系统上支持Android手机的usb网络共享
Android系统需要支持Android手机通过usb共享过来的网络需要修改以下代码 1.修改内核,添加这几项内核驱动,kernel驱动默认有源码,我们只需配置上就行 +CONFIG_USB_USBN ...
- Android百分比布局支持和垂直TextView
In this tutorial, we'll discuss and implement Android Percent Layout Support Library. Furthermore, w ...
- android relativelayout 比例,百分比布局支持库:RelativeLayout 和 FrameLayout 的尺寸用 % 来表示...
虽然有很多的布局可以在 Android 应用程序开发的世界供我们使用,但我们总是只用这三种布局:LinearLayout, RelativeLayout and FrameLayout. 不管怎么说在 ...
- android 布局回弹,Android仿IOS回弹效果 支持任何控件
本文实例为大家分享了Android仿IOS回弹效果的具体代码,供大家参考,具体内容如下 效果图: 导入依赖: dependencies { // ... compile 'me.everything: ...
- android对象申明,一行代码配置缺省页, Android最强缺省页框架, 支持代码/布局声明/视图对象回调/全局/单例配置/数据传递...
StateLayout Android上最强大的缺省页(状态页面)工具 特点 全局配置 单例配置 生命周期(可以加载动画或者处理事件) 刷新回调 获取当前缺省页状态 Loading缺省页支持进度回调 ...
- Android 百分比布局(支持AndroidX)
Android 百分比布局 添加依赖 代码使用 添加依赖 implementation 'com.android.support:percent:25.2.0' 我的项目是AndroidX的,依然用这 ...
- 【Android】自定义FlowLayout,支持多种布局优化--android-flowlayout
前言 flow layout, 流式布局, 这个概念在移动端或者前端开发中很常见,特别是在多标签的展示中, 往往起到了关键的作用.然而Android 官方, 并没有为开发者提供这样一个布局, 于是有很 ...
- android自动标齐,自定义FlowLayout,支持多种布局优化--android-flowlayout
前言 flow layout, 流式布局, 这个概念在移动端或者前端开发中很常见,特别是在多标签的展示中, 往往起到了关键的作用.然而Android 官方, 并没有为开发者提供这样一个布局, 于是有很 ...
最新文章
- 划分子网和构造超网的学习
- python —skleran分类示例(全流程)
- iview给radio按钮组件加点击事件
- 开通此博客的目的主要用于发布一些技术方面的文章
- wordpress提高访问速度
- BZOJ1027[JSOI2007] 合金
- ArcGIS API 4.x 加载高德底图
- 计算机设计大赛学生现场,我校学生在2019计算机设计大赛全国总决赛中再创佳绩...
- 科学计算机怎么用10次方,一个数怎么用计算器开10次方
- new_picview_PicView图片浏览器
- 固态硬盘能不能提高计算机速度,固态硬盘掉速如何解决?几招轻松提升SSD速度方法 (全文)...
- SQL Server查看是企业版还是个人版
- Windows10 快捷键
- 平板手写笔有必要买吗?开学季便宜又好用电容笔推荐
- Lingo 简单的背包问题
- 计算机视觉论文-2021-07-29
- RocketMQ 之 Broker Server
- Hadoop认识初体验
- 机器人视觉引导定位介绍
- ps笔记(从基础开始)