目录

一、RTL介绍

二、举例


一、RTL介绍

从Android 4.2开始,Android SDK支持一种从右到左(RTL,Right-to-Left)UI布局的方式,不过在中国习惯的于都方式是从左至右LTR,不过在阿拉伯语、希伯来语等环境中的习惯是从右至左RTL。

为了布局支持快速变化,于是marginStart、marginEnd应运而生。

如果使用RTL布局,首先要在AndroidManifest.xml文件中将<application>标签的android:supportsRtl属性值设为"true",然后需要将相应视图标签的android:layoutDirection属性值设为"rtl"。

二、举例

举例:

布局代码:

1、默认布局

    <android.support.constraint.ConstraintLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"><Buttonandroid:id="@+id/btn1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="btn1"app:layout_constraintStart_toStartOf="parent"/><Buttonandroid:id="@+id/btn2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="btn2"app:layout_constraintEnd_toEndOf="parent"/></android.support.constraint.ConstraintLayout>

效果:

2、在根布局加入下面代码,其余不动

android:layoutDirection="rtl"

效果:

但如果引用的是marginLeft、marginRight,则是不受android:layoutDirection="rtl"属性影响

android 探究marginLeft、marginStart、marginRight、marginEnd相关推荐

  1. width、margin-left、margin-right使用auto

    CSS中框的水平格式编排的七个属性中,能够设置为auto的有三个属性,就是width.margin-left.margin-right.下面就其具体设置为auto时的一些情况予以说明: 1.三个属性均 ...

  2. margin-before: 1em; margin-after: 1em;margin-start:0px;margin-end: 0px;

    总的来说:这是CSS3.0的对于文章段P容器的定义方法语句!display:block这个样式,只定义了P容器为一个块;后面四句是CSS3中的样式定义方法:-webkit-margin-before: ...

  3. CSS - 浮动元素的margin-left和margin-right

    marigin-left和margin-right理解 margin-left:"盒子"元素的左外边距,当属性值增大,元素表现为向右移动,该属性值减少,元素表现为向左移动. mar ...

  4. 块级元素的margin-left和margin-right的用法注意

    此时是有效果显示的 因为html文档流默认是从上往下,从左往右进行显示的,所以此时是有效果的. 那如果此时把#son的块元素的margin-right:20px;  是没有效果的 此时是没有效果的,如 ...

  5. ANDROID 探究oom内幕

    从早期G1的192MB RAM开始,到现在动辄1G -2G RAM的设备,为单个App分配的内存从16MB到48MB甚至更多,但OOM从不曾离我们远去.这是因为大部分App中图片内容占据了50%甚至7 ...

  6. Android 探究 LayoutInflater setFactory

    1.概述 对于LayoutInflater setFactory,平时我们很少用到这个API,但是这个API我觉得还是有学习的必要的,能够很多意象不到的问题,准备围绕这方面编写一系列的文章. 本篇包含 ...

  7. Android国际化,阿语RTL适配总结

    语言切换 语言种类 例如: /*** 英国(英语)*/EN("en"),/*** 西班牙(西班牙语)*/ES("es"),/*** 西班牙(葡萄牙语)*/PT( ...

  8. Android MarginLeft与MarginStart的区别

    在写layout布局的时候,我们会发现有这样几个比较相似的属性: MarginStart   MarginLeft MarginEnd    MarginRight  这些属性的区别是什么?  根据a ...

  9. Android MarginLeft与MarginStart的差别

    在写layout布局的时候,我们会发现有这样几个比較相似的属性: MarginStart   MarginLeft MarginEnd    MarginRight 这些属性的差别是什么?  依据ap ...

最新文章

  1. mysql 修改上传文件大小限制吗_修改PHP上传文件大小限制的方法(转)
  2. LINUX下UDP实现消息镜像通信,linux环境下基于udp socket简单聊天通信
  3. 流畅的验证组件:FluentValidation
  4. 6.2.2 二叉树的创建
  5. pageSet还没完count就执行了
  6. html在线编辑器 asp.net,ASP.NET网站使用Kindeditor富文本编辑器配置步骤
  7. すぬけ君の地下鉄旅行 / Snuke's Subway Trip(AtCoder-2069)
  8. NB-IOT(1)---NB-IoT移远BC95调试
  9. silverlight实现图片局部放大效果
  10. Arduino控制微小的六足3D打印机器人
  11. sql语句 两表关联查询计算数量
  12. 给 Android 开发者的 Gradle 入门指南
  13. [网易]2018校园招聘编程题真题集合
  14. jadx反编译程序未响应
  15. [BZOJ3238] [AHOI2013] 差异 - 后缀自动机
  16. 什么是项目生命周期?如何划分项目阶段?有什么意义?
  17. Pandas学习-Day3
  18. #边学边记 必修4 高项:对事的管理 第5章 项目成本管理 之 制订成本管理计划
  19. 使用PfamScan的API对蛋白结构域进行注释
  20. 云计算迁移流程,主要分为哪几步?

热门文章

  1. 返回一张可以随意拉伸不变形的图片
  2. 在线生成ascii字符画的网站
  3. docker出现ip冲突现象
  4. 2019年做跨境电商亚马逊值得收藏的一篇文章!
  5. 操作系统的内存释放原理
  6. Rational Rose建立对象图
  7. Python实现不同交互界面跳转(创建子界面)
  8. 最新最全caffe2在win10下安装与在vs2015下编译(包括cuda、cmake、anaconda)
  9. 浅谈工作型PPT之提高篇
  10. openwrt网络唤醒计算机,OpenWrt实现WOL(Wake-on-LAN)网络唤醒