Android 框架布局(FrameLayout)

  • Android 绝对布局

    Android FrameLayout旨在遮挡屏幕上的某个区域以显示单个项目。通常,应使用FrameLayout来保存单个子视图,因为在子视图彼此不重叠的情况下,难以以可扩展到不同屏幕尺寸的方式组织子视图。
    不过,您可以使用android:layout_gravity属性将多个子项添加到FrameLayout并通过将重力分配给每个子项来控制它们在FrameLayout中的位置。
  • FrameLayout 属性

    以下是FrameLayout的重要属性-
    属性 说明
    android:id 这是唯一标识布局的ID。
    android:foreground 这定义了绘制内容的可绘制对象,可能的值可以是颜色值,形式为“ #rgb”,“#argb”,“#rrggbb”或“ #aarrggbb”。
    android:foregroundGravity 定义要应用于前景可绘制对象的重力。重力默认填充。可能的值是top, bottom, left, right, center,center_vertical,center_horizo​​ntal等。
    android:measureAllChildren 确定在测量时是测量所有孩子还是仅测量处于可见或不可见状态的孩子。默认为false。
  • 示例:

    本示例将带您完成简单的步骤,以展示如何使用框架布局创建自己的Android应用程序。请按照以下步骤修改我们在“Hello World示例”一章中创建的Android应用程序-
    1. 您将使用Android Studio创建一个Android应用程序,并将其命名为Demo,位于com.jc2182.demo包下,如Hello World示例一章中所述。
    2. 修改res/layout/activity_main.xml文件的默认内容,以在绝对布局中包含几个按钮。
    3. 运行该应用程序以启动Android模拟器并验证在该应用程序中所做更改的结果。
    以下是修改后的主要活动文件src/com.jc2182.demo/MainActivity.java的内容。该文件可以包括每个基本生命周期方法。
    
    package com.jc2182.demo;
    
    import android.app.Activity;
    import android.os.Bundle;
    
    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:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:gravity="center"
            android:text="Frame Demo"
            android:textSize="50px"
            android:textStyle="bold" />
    </FrameLayout>
    
    让我们尝试运行刚刚修改的应用程序。我假设您在进行环境设置时已创建了AVD。要从Android Studio运行该应用,请打开您项目的活动文件之一,然后工具栏中单击“运行”图标。Android studio将应用程序安装在您的AVD上并启动它,如果设置和应用程序一切正常,它将显示在“模拟器”窗口下面-