框架布局管理器是Android布局管理器之一,之前并没有接触过。简单来说,框架布局管理器是将组件都放在屏幕的左上角,所有的组件是层叠显示的。首先来看一下FrameLayout的文档:
那么它的继承结构为:
java.lang.Object
↳ android.view.View
↳ android.view.ViewGroup
↳ android.widget.FrameLayout
这和LinearLayout是类似的。下面我们创建一个项目来看看FrameLayout:
这里需要注意的就是之前使用的LinearLayout,现在需要改为FrameLayout,也就是我们使用的框架布局管理器。其中放置三个组件,这都是我们很熟悉的内容了,不用过多解释,下面直接运行程序来看一下效果:
正如我们之前所说的,所有组件均在左上角叠加显示了。
和LinearLayout类似,要在程序中控制FrameLayout就会涉及到FrameLayout类和FrameLayout.LayoutParams类,我们就可以通过这两个类来对框架布局管理器进行控制了。下面还是先来看一下FrameLayout.LayoutParams的文档:
这也是一个静态类,其继承结构为:
java.lang.Object
↳ android.view.ViewGroup.LayoutParams
↳ android.view.ViewGroup.MarginLayoutParams
↳ android.widget.FrameLayout.LayoutParams
下面我们通过代码来控制FrameLayout:
可以看出,这和LinearLayout的操作方式是类似的。下面来执行一下程序:
可以看到,这和我们使用XML布局文件的显示效果是一致的。
那么它的继承结构为:
java.lang.Object
↳ android.view.View
↳ android.view.ViewGroup
↳ android.widget.FrameLayout
这和LinearLayout是类似的。下面我们创建一个项目来看看FrameLayout:
- <?xml version="1.0" encoding="utf-8"?>
- <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:orientation="vertical" >
- <ImageView
- android:id="@+id/img"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:contentDescription="这是一个图片"
- android:src="@drawable/ic_launcher" />
- <TextView
- android:id="@+id/text"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="这是提示文字" />
- <Button android:id="@+id/btn"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="这是按钮"/>
- </FrameLayout>
这里需要注意的就是之前使用的LinearLayout,现在需要改为FrameLayout,也就是我们使用的框架布局管理器。其中放置三个组件,这都是我们很熟悉的内容了,不用过多解释,下面直接运行程序来看一下效果:
正如我们之前所说的,所有组件均在左上角叠加显示了。
和LinearLayout类似,要在程序中控制FrameLayout就会涉及到FrameLayout类和FrameLayout.LayoutParams类,我们就可以通过这两个类来对框架布局管理器进行控制了。下面还是先来看一下FrameLayout.LayoutParams的文档:
这也是一个静态类,其继承结构为:
java.lang.Object
↳ android.view.ViewGroup.LayoutParams
↳ android.view.ViewGroup.MarginLayoutParams
↳ android.widget.FrameLayout.LayoutParams
下面我们通过代码来控制FrameLayout:
- 这也是一个静态类,其继承结构为:
- ava.lang.Object
- ↳ android.view.ViewGroup.LayoutParams
- ↳ android.view.ViewGroup.MarginLayoutParams
- ↳ android.widget.FrameLayout.LayoutParams
- 下面我们通过代码来控制FrameLayout:
可以看出,这和LinearLayout的操作方式是类似的。下面来执行一下程序:
可以看到,这和我们使用XML布局文件的显示效果是一致的。