Frame Layout 旨在遮挡屏幕上的某个区域以显示单个项目,通常,应使用FrameLayout来保存单个子视图,因为在子视图彼此不重叠的情况下,难以以可扩展到不同屏幕尺寸的方式组织子视图。
不过,您可以使用android:layout_gravity属性将多个子项添加到FrameLayout并通过将gravity分配给每个子项来控制它们在FrameLayout中的位置。
Frame Layout - 属性
以下是特定于FrameLayout的重要属性-
Sr.No | Attribute & 描述 |
---|---|
1 | android:id 这是唯一标识布局的ID。 |
2 | android:foreground 这定义了绘制内容的可绘制对象,可能的值可以是颜色值,形式为" #rgb","#argb","#rrggbb"或" #aarrggbb"。 |
3 | android:foregroundGravity 定义要应用于前景可绘制对象的位置,默认为fill。可能的值是top,bottom,left,right,center,center_vertical,center_horizontal等。 |
4 | android:measureAllChildren 测量所有子组件还是仅测量可见或不可见状态的子组件。默认为false。 |
Frame Layout - 示例
本示例将带您完成简单的步骤,以展示如何使用框架布局创建自己的Android应用程序。
以下是修改后的主要Activity文件 src/com.example.demo/MainActivity.java 的内容。该文件可以包括每个基本生命周期方法。
package com.example.demo;import android.os.Bundle; import android.app.Activity;public class MainActivity extends Activity {@Overrideprotected 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"/><TextViewandroid: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运行该应用程序,请打开您项目的Activity文件之一,然后单击运行工具栏。 Android Studio将应用程序安装在您的AVD上并启动它,如果您的设置和应用程序一切正常,它将显示在"Emulator"窗口下面-
Android 中的 Frame Layout函数 - 无涯教程网无涯教程网提供Frame Layout 旨在遮挡屏幕上的某个区域以显示单个项目,通常,应使用FrameLayout来保...https://www.learnfk.com/android/android-frame-layout.html