【Android】 LinearLayout和RelativeLayout

转自: http://blog.csdn.net/renzhe333/article/details/12970565

1、 首先我们来看一下LinearLayout与RelativeLayout布局属性对比:

       共有属性:

控件名称    

android:id=”@+id/btn1″

控件宽度

android:layout_width=”80px” //”80dip”或”80dp” 

android:layout_width =“wrap_content”

android:layout_width =“match_parent” 

控件高度

android:layout_height=”80px” //”80dip”或”80dp”

android:layout_height =“wrap_content”

android:layout_height =“match_parent”

控件排布

android:orientation=”horizontal”

android:orientation=”vertical“

控件间距

android:layout_marginLeft=”5dip” //距离左边 

android:layout_marginRight=”5dip” //距离右边

android:layout_marginTop=”5dip” //距离上面

android:layout_marginRight=”5dip” //距离下面

android:paddingLeft=”5dip” 控件显示位置

android:gravity=”center” //left,right, top, bottom 

android:gravity=”center_horizontal”

android:layout_gravity是本元素对父元素的重力方向。

android:layout_gravity属性则设置控件本身相对于父控件的显示位置

android:gravity是本元素所有子元素的重力方向。

android:layout_gravity=”center_vertical”

android:layout_gravity=”left”

android:layout_gravity=”left|bottom”

TextView中文本字体

android:text=”@String/text1″ //在string.xml中定义text1的值 

android:textSize=”20sp” android:textColor=”#ff123456”

android:textStyle=”bold” //普通(normal), 斜体(italic),粗斜体(bold_italic)

TextView中,控制其以…结束

android:ellipsize=”end”

只有一行

android:singleLine=”true”

定义控件是否可见

android:visibility=”visible” //可见 

android:visibility=”invisible”  //不可见,但是在布局中占用的位置还在

android:visibility=”gone”   //不可见,完全从布局中消失

定义背景图片

android:background=”@drawable/img_bg” //img_bg为drawable下的一张图片

seekbar控件背景图片及最大值

android:progressDrawable=”@drawable/seekbar_img” 

android:thumb=”@drawable/thumb” 

android:max = “60″

android:layout_alignWithParentIfMissing=”true”

仅在RelativeLayout中有效:

在父亲布局的相对位置

android:layout_alignParentLeft=”true” //在布局左边 

android:layout_alignParentRight=”true” //在布局右边 

android:layout_alignParentTop=”true” //在布局上面 

android:layout_alignParentBottom=”true “ //在布局的下面

在某个控件的相对位置

android:layout_toRightOf=”@id/button1″ //在控件button1的右边,不仅仅是紧靠着 

android:layout_toLeftOf=”@id/button1″ //在控件button2的左边,不仅仅是紧靠着 

android:layout_below=”@id/button1 “ //在控件button1下面,不仅仅是正下方 

android:layout_above=“@id/button1” //在控件button1下面,不仅仅是正下方

定义和某控件对奇

android:layout_alignTop=”@id/button1” //和控件button1上对齐 

android:layout_alignBottom=”@id/button1” //和控件button1下对齐 

android:layout_alignLeft=”@id/button1” //和控件button1左对齐 

android:layout_alignRight=”@id/button1” //和控件button2右对齐

android:layout_centerHorizontal=”true” //水平居中 

android:layout_centerVertical=”true”

android:layout_centerInParent=”true” 

仅在LinearLayout中有效

设置控件在一排或一列中所占比例值

android:layout_weight=”1″

2、如何理解Android中LinearLayout和RelativeLayout几个概念:

padding margin都是边距的含义,关键问题得明白是什么相对什么的边距
padding是控件的内容相对控件的边缘的边距
margin是控件边缘相对父控件的边距

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

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

            3、RelativeLayout重要的属性(转载其它博文)

第一类:属性值为true或false

    android:layout_centerHrizontal                                           水平居中

    android:layout_centerVertical                                            垂直居中

    android:layout_centerInparent                                           相对于父元素完全居中

    android:layout_alignParentBottom                                     贴紧父元素的下边缘

    android:layout_alignParentLeft                                          贴紧父元素的左边缘

    android:layout_alignParentRight                                        贴紧父元素的右边缘

    android:layout_alignParentTop                                          贴紧父元素的上边缘

    android:layout_alignWithParentIfMissing                            如果对应的兄弟元素找不到的话就以父元素做参照物

第二类:属性值必须为id的引用名“@id/id-name”

    android:layout_below                          在某元素的下方

    android:layout_above                          在某元素的的上方

    android:layout_toLeftOf                       在某元素的左边

    android:layout_toRightOf                     在某元素的右边

    android:layout_alignTop                      本元素的上边缘和某元素的的上边缘对齐

    android:layout_alignLeft                      本元素的左边缘和某元素的的左边缘对齐

   android:layout_alignBottom                 本元素的下边缘和某元素的的下边缘对齐

   android:layout_alignRight                    本元素的右边缘和某元素的的右边缘对齐

第三类:属性值为具体的像素值,如30dip,40px

    android:layout_marginBottom              离某元素底边缘的距离

    android:layout_marginLeft                   离某元素左边缘的距离

    android:layout_marginRight                 离某元素右边缘的距离

    android:layout_marginTop                   离某元素上边缘的距离

时间: 2024-12-31 11:38:57

【Android】 LinearLayout和RelativeLayout的相关文章

android LinearLayout和RelativeLayout实现精确布局

先明确几个概念的区别: padding margin:都是边距的含义,关键问题得明白是什么相对什么的边距 padding:是 控件的内容相对控件的边缘的边距. margin  :是控件边缘相对父空间的边距 android:gravity是 对该view 内容的限定. 比如一个button 上面的text. 你可以设置该text 在view的靠左,靠右等位置.该属性就干了这 个. android:layout_gravity 是用来设置该view中的子view相对于父view的位置. 比如一个bu

用android LinearLayout和RelativeLayout实现精确布局(转)

先明确几个概念的区别: padding margin都是边距的含义,关键问题得明白是什么相对什么的边距. padding是控件的内容相对控件的边缘的边距. margin是控件边缘相对父控件的边距.    android:gravity 属性是对该view 内容的限定.比如一个button 上面的text. 你可以设置该text 在view的靠左,靠右等位置.该属性就干了这个. android:layout_gravity是用来设置该view中的子view相对于父view的位置.比如一个butto

android LinearLayout和RelativeLayout组合实现精确布局方法介绍_Android

先明确几个概念的区别: padding margin都是边距的含义,关键问题得明白是什么相对什么的边距. padding是控件的内容相对控件的边缘的边距. margin是控件边缘相对父空间的边距.  android:gravity 属性是对该view 内容的限定.比如一个button 上面的text. 你可以设置该text 在view的靠左,靠右等位置.该属性就干了这个. android:layout_gravity是用来设置该view中的子view相对于父view的位置.比如一个button

Android常用布局(FrameLayout、LinearLayout、RelativeLayout)详解_Android

很多开发者一听说Android终端的屏幕尺寸五花八门,屏幕分辨率千奇百怪,就觉得Android开发在屏幕适配方面是必定是一件头疼的事情.因为在Android问世之前,广大开发者知道的UI解决方案大致分为两类: 1.在Web开发中的CSS,一层一层的去层叠样式. 2.在iOS开发中去计算每一个UIView的尺寸. 上面两种方案,无论哪种方案面对碎片化严重的Android终端,那都是一场噩梦.好在Android提供了另一套解决方案来应对严重的终端碎片化,这就是布局和9-patch. 这里想来说说布局

Android常用布局(FrameLayout、LinearLayout、RelativeLayout)详解

很多开发者一听说Android终端的屏幕尺寸五花八门,屏幕分辨率千奇百怪,就觉得Android开发在屏幕适配方面是必定是一件头疼的事情.因为在Android问世之前,广大开发者知道的UI解决方案大致分为两类: 1.在Web开发中的CSS,一层一层的去层叠样式. 2.在iOS开发中去计算每一个UIView的尺寸. 上面两种方案,无论哪种方案面对碎片化严重的Android终端,那都是一场噩梦.好在Android提供了另一套解决方案来应对严重的终端碎片化,这就是布局和9-patch. 这里想来说说布局

Android布局(RelativeLayout、TableLayout等)使用方法_Android

 本文介绍 Android 界面开发中最基本的四种布局LinearLayout.RelativeLayout.FrameLayout.TableLayout 的使用方法及这四种布局中常用的属性. LinearLayout 线性布局,布局中空间呈线性排列 RelativeLayout 相对布局,通过相对定位的方式,控制控件位置 FrameLayout 帧布局,最简单的布局,所有控件放置左上角 TableLayout 表格布局,以行列方式控制控件位置 四种布局示例 1.LinearLayout <L

android LinearLayout 布局实例代码

先明确几个概念的区别: padding margin都是边距的含义,关键问题得明白是什么相对什么的边距. padding是控件的内容相对控件的边缘的边距. margin是控件边缘相对父控件的边距. android:gravity 属性是对该view 内容的限定.比如一个button 上面的text. 你可以设置该text 在view的靠左,靠右等位置.该属性就干了这个. android:layout_gravity是用来设置该view中的子view相对于父view的位置.比如一个button 在

Android布局(RelativeLayout、TableLayout等)使用方法

本文介绍 Android 界面开发中最基本的四种布局LinearLayout.RelativeLayout.FrameLayout.TableLayout 的使用方法及这四种布局中常用的属性. LinearLayout 线性布局,布局中空间呈线性排列 RelativeLayout 相对布局,通过相对定位的方式,控制控件位置 FrameLayout 帧布局,最简单的布局,所有控件放置左上角 TableLayout 表格布局,以行列方式控制控件位置 四种布局示例 1.LinearLayout <Li

Android AbsoluteLayout和RelativeLayout布局详解_Android

Android 线性布局: AbsoluteLayout布局和RelativeLayout布局.  1.绝对布局 AbsoluteLayout 绝对定位AbsoluteLayout,又可以叫做坐标布局,可以直接指定子元素的绝对位置,这种布局简单直接,直观性强,但是由于手机屏幕尺寸差别比较大,使用绝对定位的适应性会比较差. 下面我们举一个例子看看:例子里的机器人图片大小是250X250,可以看到我们使用android:layout_x和android:layout_y来指定子元素的纵横坐标. <?