Android 框架布局
框架布局设计用于在屏幕上屏蔽一个区域以显示单个项目。 通常,应该使用 FrameLayout 来保存单个子视图,因为很难以一种可缩放到不同屏幕尺寸的方式来组织子视图,而不会使子视图相互重叠。
但是,您可以使用 android:layout_gravity 属性将多个子项添加到 FrameLayout 并通过为每个子项分配重力来控制它们在 FrameLayout 中的位置。
框架布局
FrameLayout 框架布局属性
以下是 FrameLayout 特有的重要属性 −
序号 | 属性 & 描述 |
---|---|
1 | android:id 这是唯一标识布局的 ID。 |
2 | android:foreground 这定义了绘制内容的可绘制对象,可能的值可以是颜色值,形式为"#rgb"、"#argb"、"#rrggbb" 或 "#aarrggbb"。 |
3 | android:foregroundGravity 定义要应用于前景可绘制对象的重力。 重力默认为填充。 可能的值是 top、bottom、left、right、center、center_vertical、center_horizontal 等。 |
4 | android:measureAllChildren 确定在测量时是测量所有孩子还是仅测量处于可见或不可见状态的孩子。 默认为假。 |
示例
这个例子将带您通过简单的步骤来展示如何使用框架布局创建您自己的 Android 应用程序。 按照以下步骤修改我们在 Hello World 示例章节中创建的 Android 应用程序 −
步骤 | 描述 |
---|---|
1 | 您将使用 Android Studio IDE 创建一个 Android 应用程序,并将其命名为 demo,位于包 com.example.demo 下,如 Hello World 示例 一章所述。 |
2 | 修改 res/layout/activity_main.xml 文件的默认内容以在框架布局中包含一些小部件。 |
3 | 无需更改 string.xml,android 会处理默认常量 |
4 | 运行应用程序以启动 Android 模拟器并验证应用程序中所做更改的结果。 |
以下是修改后的主活动文件 src/com.example.demo/MainActivity.java 的内容。 该文件可以包含每个基本生命周期方法。
package com.example.demo; import android.os.Bundle; import android.app.Activity; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } }
以下是 res/layout/activity_main.xml 文件的内容 −
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent"> <ImageView android:src="@drawable/ic_launcher" android:scaleType="fitCenter" android:layout_height="250px" android:layout_width="250px"/> <TextView android:text="Frame Demo" android:textSize="30px" android:textStyle="bold" android:layout_height="fill_parent" android:layout_width="fill_parent" android:gravity="center"/> </FrameLayout>
以下将是 res/values/strings.xml 的内容来定义两个新常量 −
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name">demo</string> <string name="action_settings">Settings</string> </resources>
让我们尝试运行我们刚刚修改的 Hello World! 应用程序。假设您在进行环境设置时已经创建了 AVD。 要从 Android Studio 运行应用程序,请打开项目的活动文件之一,然后单击工具栏中的 Run 图标。 Android Studio 在您的 AVD 上安装应用程序并启动它,如果您的设置和应用程序一切正常,它将显示以下 Emulator 窗口 −