当前位置:主页 > 移动开发 > Android代码 >

基于Android MarginLeft与MarginStart的区别(详解)

时间:2021-12-21 10:10:21 | 栏目:Android代码 | 点击:

我们在写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,这样应用可以在正常的屏幕和由右到左显示文字的屏幕上都保持一致的用户体验。

<RelativeLayout 
  android:layout_width="match_parent" 
  android:layout_height="wrap_content"> 
 
  <Button 
   android:onClick="cancle" 
   android:id="@+id/cancel" 
   style="@style/common_button_style" 
   android:layout_width="100dp" 
   android:layout_height="wrap_content" 
   android:layout_alignParentStart="true" 
   android:layout_alignParentTop="true" 
   android:layout_marginStart="75dp" 
   android:text="取消" /> 
 
  <Button 
   android:onClick="query" 
   android:id="@+id/query" 
   style="@style/common_button_style" 
   android:layout_width="100dp" 
   android:layout_height="wrap_content" 
   android:layout_alignParentEnd="true" 
   android:layout_alignParentTop="true" 
   android:layout_marginEnd="49dp" 
   android:text="确定" /> 
 </RelativeLayout> 

您可能感兴趣的文章:

相关文章