Android 布局文件Layout XML属性

 更新时间:2016年07月14日 08:59:08   投稿:lqh  
本文主要介绍Android Layout XML 一些属性,在Android开发过程中布局文件大家肯定都会用到,在这里对Layout XML 进行详解,希望能对大家有所帮助

Layout对于迅速的搭建界面和提高界面在不同分辨率的屏幕上的适应性具有很大的作用。这里简要介绍Android的Layout和研究

一下它的实现。

Android有Layout:FrameLayout,LinearLayout,TableLayout,RelativeLayout,AbsoluteLayout。

放入Layout中进行排布的View的XML属性:

几种Layout中Item所共有的XML属性:

 (1)layout_width

 (2)layout_height

 注: (1)和(2)用来确定放入Layout中的View的宽度和高度:它们的可能取值为fill_parent,wrap_content或者固定的像素值。

(3)layout_marginLeft         --->paddingLeft

(4)layout_marginTop         --->paddingTop

(5)layout_marginRight       --->paddingRight

(6)layout_marginBottom    --->paddingBottom

 (补)layout_margin              --->padding

 注:(3)(4)(5)(6)是放入Layout中的View期望它能够和Layout的边界或者其他View之间能够相距一段距离。

 (7)layout_gravity

注:(7)用来确定View在Layout中的停靠位置。

FrameLayout是最简单的Layout,就只具有这些属性。

LinearLayout还会有:

 (8)layout_weight

注: (8)用于在LinearLayout中把所有子View排布之后的剩余空间按照它们的layout_weight分配给各个拥有这个属性的View。

TableLayout的行TableRow是一个横向的(horizontal)的LinearLayout

RelativeLayout有16个align相关的XML属性:

(9 )layout_alignParentBottom    当前控件低端与父控件的低端对齐(重合)

(10)layout_alignParentLeft        当前控件左端与父控件的左端对齐(重合)

(11)layout_alignParentRight      当前控件右端与父控件的右端对齐(重合)

(12)layout_alignParentTop        当前控件上端与父控件的上端对齐(重合)

(13)layout_centerHorizontal      当前控件位于父控件的横向中间位置(水平方向上的中间)

(14)layout_centerInParent        当前控件位于父控件的纵横向中间位置(垂直方向上的中间)

(15)layout_centerVertical          当前控件位于父控件的纵向中间位置(平面上的正中间)

(16)layout_above             使当前控件位于给出id控件的上方

(17)layout_below             使当前控件位于给出id控件的下方

(18)layout_toLeftOf          使当前控件位于给出id控件的左侧

(19)layout_toRightOf        使当前控件位于给出id控件的右侧

(20)layout_alignBottom     使当前控件与给出id控件的底部部重合(注意可用和给出id控件来对齐)

(21)layout_alignLeft          使当前控件与给出id控件的左边重合

(22)layout_alignRight        使当前控件与给出id控件的右边重合

(23)layout_alignTop          使当前控件与给出id控件的顶部重合

(24)layout_alignBaseline    使当前控件的BaseLine与给出id控件t的BaseLine重合,这个主要用于Label或者其他包含文本的widgets。

注:(9)到(24)用来确定RelativeLayout中的View相对于Layout或者Layout中的其他View的位置。

根据Android的文档,Android会对Layou和View嵌套组成的这棵树进行2次遍历,一次是measure调用,用来确定Layout或者View的大小;一次是layout调用,用来确定Layout或者view的位置。当然后来我自己的山寨实现把这2次调用合并到了一起。那就是Layout在排布之前都对自己进行measure一次,然后对View递归调用Layout方法。这样子的大小肯定是确定了的。然后用确定了的大小来使用gravity或者align属性来定位,使用margin来调整位置。

补充:

 1.android:paddingLeft与android:layout_marginLeft的区别:

 padding margin都是边距的含义,关键问题得明白是什么相对什么的边距.    

padding是控件的内容相对控件的边缘的边距.   

 layout_margin是控件边缘相对父空间的边距.

 2.android gravity和layout_gravity区别

 android:gravity 属性是对该view 内容的限定.比如一个button 上面的text.  你可以设置该text 在view的靠左,靠右等位置.该属性就干了这个.

 android:layout_gravity是用来设置该view相对与起父view 的位置.比如一个button 在linearlayout里,你想把该button放在靠左靠右等位置就可以通过该属性设置.

 这样就解释了,有什么我们弄个最外布局,然后里面包了几个布局,如果要使这几个布局都靠底,就可以在最外布局的属性里设置androi:gravity="botton"  因为gravity是对里面的内容起作用.

 以上就是对Android Layout XML 属性的整理,后续会继续补充,谢谢支持。

相关文章

  • 详解Android v1、v2、v3签名(小结)

    详解Android v1、v2、v3签名(小结)

    这篇文章主要介绍了详解Android v1、v2、v3签名(小结),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • Android中使用adb命令通过IP地址连接手机

    Android中使用adb命令通过IP地址连接手机

    这篇文章主要介绍了Android中使用adb命令通过IP地址连接手机的方法,本文给大家分享两种解决方法 ,需要的朋友可以参考下
    2018-07-07
  • Android App 如何防止抓包方法及分析

    Android App 如何防止抓包方法及分析

    这篇文章主要为大家介绍了Android App如何防止抓包的方法及分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • Android编程实现WebView全屏播放的方法(附源码)

    Android编程实现WebView全屏播放的方法(附源码)

    这篇文章主要介绍了Android编程实现WebView全屏播放的方法,结合实例形式较为详细的分析了Android实现WebView全屏播放的布局与功能相关技巧,需要的朋友可以参考下
    2015-11-11
  • 三款Android炫酷Loading动画组件推荐

    三款Android炫酷Loading动画组件推荐

    这篇文章主要介绍了三款Android炫酷Loading动画组件推荐,本文介绍了CircleProgress、android-shapeLoadingView、WaitingDots等三款Loading组件,并给出了运行效果图,需要的朋友可以参考下
    2015-05-05
  • 深入分析Android NFC技术 android nfc开发

    深入分析Android NFC技术 android nfc开发

    本篇文章我们对android开发中nfc技术做了全面的原理分析以及实现过程,需要的读者们一起参考一下吧。
    2017-11-11
  • Windows下Flutter+Idea环境搭建及配置

    Windows下Flutter+Idea环境搭建及配置

    这篇文章介绍了Windows下Flutter+Idea环境搭建及配置的方法,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-12-12
  • Android实现粒子漩涡动画

    Android实现粒子漩涡动画

    粒子动画经常用于大画幅的渲染效果,实际上难度并不高,但是在使用粒子动画时,必须要遵循的一些要素,起点,矢量速度和符合运动学公式等,文中有详细的代码示例供大家参考,具有一定的参考价值,需要的朋友可以参考下
    2024-01-01
  • Android自定义dialog可选择展示年月日时间选择栏

    Android自定义dialog可选择展示年月日时间选择栏

    这篇文章主要介绍了Android自定义dialog可选择展示年月日时间选择栏,非常不错,具有参考借鉴价值,需要的的朋友参考下
    2017-03-03
  • Android实现自由拖动并显示文字的悬浮框

    Android实现自由拖动并显示文字的悬浮框

    这篇文章主要为大家详细介绍了Android实现自由拖动并显示文字的悬浮框,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-01-01

最新评论