在写layout布局的时候,我们会发现有这样几个比較相似的属性:

MarginStart   MarginLeft

MarginEnd    MarginRight

这些属性的差别是什么?  依据api凝视。我们得知MarginStart指的是控件距离开头View部分的间距大小。MarginLeft则指的是控件距离左边View部分的间距大小,MarginEnd和MarginRight同理。

普通情况下,View開始部分就是左边。可是有的语言眼下为止还是依照从右往左的顺序来书写的,比如阿拉伯语,在Android  4.2系统之后。Google在Android中引入了RTL布局,更好了支持了由右到左文字布局的显示,为了更好的兼容RTL布局,google推荐使用MarginStart和MarginEnd来替代MarginLeft和MarginRight,这样应用能够在正常的屏幕和由右到左显示文字的屏幕上都保持一致的用户体验。



       下面内容摘自他人翻译的中文Android 4.2API:

    Android 4.2引入了由右到左文字的全面本地支持布局。在本地RTL支持下,您能够为全部用户带来完美的应用体验,不论他们的文字书写方向是由左至右还是由右至左。

当用户切换系统语言到由右至左书写方式时,系统提供自己主动的应用UI布局和全部可视组件的镜像,包含文字元素的显示和输入。

您的应用仅需极少改变就可以支持RTL布局镜像。假设您的应用支持这一特性,仅仅要在您应用的manifest文件里将全部的”left/right”布局属性改变为相应的”start/end”就可以。系统就会依据须要处理您UI了。
                

Android MarginLeft与MarginStart的差别的更多相关文章

  1. Android MarginEnd与MarginStart (RTL)

    Android MarginLeft与MarginStart的区别http://blog.csdn.net/zhufuing/article/details/40181815 在写layout布局的时 ...

  2. [Java][Android][Process] ProcessBuilder与Runtime差别

    在Android中想要进行Ping,在不Root机器的情况下似乎还仅仅能进行底层命调用才干实现. 由于在Java中要进行ICMP包发送须要Root权限. 于是仅仅能通过创建进程来攻克了.创建进程在Ja ...

  3. android CMWAP, CMNET有何差别

    什么是CMNET,什么是CMWAP? 答:CMWAP和CMNET仅仅是中国移动为其划分的两个GPRS接入方式.中国移动对CMWAP作了一定的限制,主要表如今CMWAP接入时仅仅能訪问GPRS网络内的I ...

  4. android:giavity和layout_gravity的差别

    android:gravity: 是对该view中内容的限定.比方一个button 上面的text. 你能够设置该text 相对于view的靠左,靠右等位置. android:layout_gravi ...

  5. Android Message和obtainMessage的差别

    前几天须要实现一个以太网功能就看了以太网的源代码部分,看见了源代码部分在消息处理时,发现有一些不同的地方:   平时我在处理消息时:   1.首先创建Handler对象:   private Hand ...

  6. Android Support库百分比布局

    之前写过一篇屏幕适配的文章Android 屏幕适配最佳实践,里面提到了类似百分比布局的东西,可是该方法缺点非常明显,就会添加非常多没用的数据,导致apk包变大. 而谷歌的support库中,添加了一个 ...

  7. Android Studio使用教程(一)(转)

    今年的Google全球开发者大会虽然没有新的Android系统和设备,但是还是推出了一些不错的产品,Android Studio就是其中之一.这个基于Intellij IDEA开发的Android I ...

  8. [Java][Android][Process] 暴力的服务能够解决一切,暴力的方式运行命令行语句

    不管是在Java或者Android中运行命令行语句殊途同归都是创建一个子进程运行调用可运行文件运行命令.类似于Windows中的CMD一样. 此时你有两种方式运行:ProcessBuilder与Run ...

  9. android开发launcher

    1. launcher是桌面应用程序 一. android.intent.category.LAUNCHER与android.intent.category.HOME的差别?      android ...

随机推荐

  1. pq

    pq 题目描述 小q 的女朋友送给小q nn个整数.但是这些数太大了,小q 的女朋友拿不动,于是拜托小q把这些数减少一些. 小q 每次可以选择其中的两个x,yx,y (不能同时选择同一个数) 变成x− ...

  2. python 小爬虫

    import reimport urllibdef getHtml(url): page=urllib.urlopen(url); html=page.read() return htmldef ge ...

  3. css 样式冲突问题

    CSS 样式冲突问题 问题: 当文件中样式名称相同时,易出现样式冲突问题,解决办法如下: 解决: 以 layer.js 中弹出层  .layui-layer-page .layui-layer-con ...

  4. Java EE 学习(6):IDEA + maven + spring 搭建 web(2)- 配置 Spring

    参考:https://my.oschina.net/gaussik/blog/513353 注:此文承接上一文:Java EE 学习(5):IDEA + maven + spring 搭建 web(1 ...

  5. 关于 react state的改变数据上面的一点问题

    在react当中 比如说 this.state = { loginInfo: { account: "...", password: "..." } } thi ...

  6. mybatis 关联查询时,从表只返回第一条记录解决办法

    如果两表联查,主表和明细表的主键都是id的话,明细表的多条只能查询出来第一条. 造成以上情况可能的原因: 1.级联查询的时候,主表和从表有一样的字段名的时候,在mysql上命令查询是没问题的.但在my ...

  7. [论文]A Link-Based Cluster Ensemble Approach for Categorical Data Clustering

    http://www.cnblogs.com/Azhu/p/4137131.html 这篇论文建议先看了上面这一遍,两篇作者是一样的,方法也一样,这一片论文与上面的不同点在于,使用的数据集是目录数据, ...

  8. Selenium2+python自动化1(环境安装)

    前言 目前selenium版本已经升级到3.0了,网上的大部分教程是基于2.0写的,所以在学习前先要弄清楚版本号,这点非常重要.本系列依然以selenium2为基础,目前selenium3坑比较多,暂 ...

  9. .NET CMS系统--pageAdmin 模板样式设置

    修改方法: 表单模型管理 - 数据表管理 - 模型管理 修改产品详情页

  10. hdu 4517(递推枚举统计)

    小小明系列故事——游戏的烦恼 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)To ...