10 - 布局Layout:FrameLayout帧布局以及FrameLayout在切换屏幕效果的使用

转载注明出处: http://blog.csdn.net/eana_don/article/details/8332778

资料参考:官网API

FrameLayout是一种比较简单的布局。他的原理就是,整个界面就是一个空白区域,当有新元素要添加时就全部放在这个空白区域的左上角,一个个叠上去,有点类似于卡片一张叠一张的作用。这样后面放的元素全部直接覆盖在之前放的元素上面。虽然我们不可以指定元素摆放的位置,但却可以指定控件摆放的gravity。

一、使用方法

xml写法:没有gravity时:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >
    <Button 
        android:text="按钮1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>
    <!-- gravity设置的是控件内容相对与控件的位置,layout_gravity设置的是控件自身相对于父控件的位置 -->
    <Button 
        android:text="按钮2在这里"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>
    <Button 
        android:text="按钮3在按钮2的底下"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>
</FrameLayout>

有gravity时:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >
    <Button 
        android:text="按钮1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>
    <!-- gravity设置的是控件内容相对与控件的位置,layout_gravity设置的是控件自身相对于父控件的位置 -->

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical|center_horizontal"
        android:text="按钮2在这里" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom|right"
        android:text="按钮3在按钮2的底下" />

</FrameLayout>



运行结果:


1.没有设置控件位置
2.设置了空间位置

二、运用

很多时候觉得,FrameLayout很少用到,但是当然,FrameLayout的存在必定是有他的用处的。根据它的特性,可以用来制成切换的功能,比如多个屏幕切换效果。下面有两个比较简单的运用。第一个是比较基础的,能够展示下原理。第二个,则是加
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值