[Android] RelativeLayout, LinearLayout,FrameLayout

Android RelativeLayout 属性

// 相对于给定ID控件

android:layout_above 将该控件的底部置于给定ID的控件之上;

android:layout_below 将该控件的底部置于给定ID的控件之下;

android:layout_toLeftOf    将该控件的右边缘与给定ID的控件左边缘对齐;

android:layout_toRightOf  将该控件的左边缘与给定ID的控件右边缘对齐;

android:layout_alignBaseline  将该控件的baseline与给定ID的baseline对齐;

android:layout_alignTop        将该控件的顶部边缘与给定ID的顶部边缘对齐;

android:layout_alignBottom   将该控件的底部边缘与给定ID的底部边缘对齐;

android:layout_alignLeft        将该控件的左边缘与给定ID的左边缘对齐;

android:layout_alignRight      将该控件的右边缘与给定ID的右边缘对齐;

// 相对于父组件

android:layout_alignParentTop      如果为true,将该控件的顶部与其父控件的顶部对齐;

android:layout_alignParentBottom 如果为true,将该控件的底部与其父控件的底部对齐;

android:layout_alignParentLeft      如果为true,将该控件的左部与其父控件的左部对齐;

android:layout_alignParentRight    如果为true,将该控件的右部与其父控件的右部对齐;

// 居中

android:layout_centerHorizontal 如果为true,将该控件的置于水平居中;

android:layout_centerVertical     如果为true,将该控件的置于垂直居中;

android:layout_centerInParent   如果为true,将该控件的置于父控件的中央;

// 指定移动像素

android:layout_marginTop      上偏移的值;

android:layout_marginBottom 下偏移的值;

android:layout_marginLeft   左偏移的值;

android:layout_marginRight   右偏移的值;

---------------------------------------------------------------------------------------------------------------

FrameLayout单帧布局,在单帧布局中整个界面被当成一块空白备用区域,所有的子元素都不能被指定放置的位置,它们统统放于这块区域的左上角,并且后面的子元素直接覆盖在前面的子元素之上,将前面的子元素部分和全部遮挡。

FrameLayout的大小由其所添加的所有子控件中尺寸最大的那个子控件来控制。如果子控件的大小都一样,同一时刻只能看到最上面的子控件,其他的则被其遮挡(在进行选项卡设计时会用到帧布局)。在FrameLayout中,子控件是通过栈来绘制的,所以后添加的子控件会被绘制在上层。

FrameLayout继承ViewGroup类,除了继承父类的属性和方法外,FrameLayout类中还包含了自己特有属性和方法:

android:foreground (setForeground(Drawable))设置绘制在所有子控件之上的内容。
android:foregroundGravity(setForegroundGravity(int))设置绘制在所有子控件之上内容的gravity属性 。

FrameLayout中的Item就具有这些属性。(少的可怜)
(1)layout_width
(2)layout_height
(3)layout_marginLeft
(4)layout_marginTop
(5)layout_marginRight
(6)layout_marginBottom
(7)layout_gravity

-----------------------------------------------------------------

下面介绍一下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-28 00:34:14

[Android] RelativeLayout, LinearLayout,FrameLayout的相关文章

android.widget.FrameLayout$LayoutParams cannot be cast to android.widget.LinearLayout$LayoutParams

java.lang.ClassCastException: android.widget.FrameLayout$LayoutParams cannot be cast to android.widg 时间 2013-09-23 22:36:41  傲慢的上校的专栏原文  http://blog.csdn.net/lilu_leo/article/details/11952717 有时候需要在在代码中设置LayoutParams,自己为一个FrameLayout设置LayoutParams的时候

Android RelativeLayout 实现左右中布局

效果图如下: 代码如下: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"

android RelativeLayout属性和布局实例

// 相对于给定ID控件 android:layout_above 将该控件的底部置于给定ID的控件之上; android:layout_below 将该控件的底部置于给定ID的控件之下; android:layout_toLeftOf 将该控件的右边缘与给定ID的控件左边缘对齐; android:layout_toRightOf 将该控件的左边缘与给定ID的控件右边缘对齐; android:layout_alignBaseline 将该控件的baseline与给定ID的baseline对齐;

Android 布局之FrameLayout

1 FrameLayout简介 对于FrameLayout,官方介绍是:FrameLayout is designed to block out an area on the screen to display a single item. Generally, FrameLayout should be used to hold a single child view, because it can be difficult to organize child views in a way t

Android UI之FrameLayout(帧布局)

Android UI之FrameLayout(帧布局) 说明:帧布局会为每个包含其中的组件开辟一个空白区域(称为帧),这些帧是一层层叠加在一起的,有点类似于一层层覆盖贴上去的海报,后面的组件会把前面的组件覆盖住. FrameLayout有两个比较特殊的常用属性需要注意: 1 android:foreground 对应方法:setForeground(Drawable) 说明:设置帧布局的前景图像,一般为布局添加pressed状态会用到这个属性来指定一个Drawable类型对象. 举个栗子: <F

Android突击:FrameLayout制作霓虹灯效果

1,FrameLayout的层叠嵌套,类似于Photoshop的图层.可以实现类似霓虹灯的效果. 代码大致如下: 首先是main.xml: 主要是几个TextView用来填充,使用的是FrameLayout的布局. <?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android&quo

android 06 LinearLayout

xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > 线性布局,垂直排列 <Button andro

Android RelativeLayout中实现控件平分屏幕

? 1 <!-- ? 1 RelativeLayout 达到平分效果 ? 1 --> ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 <br><RelativeLayout     android:layout_width="fill_parent"     android:layout_height="wrap_content">     <View<br&g

Android布局之FrameLayout

框架布局(帧布局)是最简单的布局形式.所有添加到这个布局中的视图都以层叠的方式显示.第一个添加的控件被放在最底层,最后一个添加到框架布局中的视图显示在最顶层,上一层的控件会覆盖下一层的控件.这种显示方式有些类似于堆栈. 示例代码 <?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/andr