科特林 Android 帧布局
原文:https://www . geesforgeks . org/Android-frame layout-in-kot Lin/
安卓框架布局是一个 ViewGroup 子类,用于指定多个视图放置在彼此顶部的位置,以表示单个视图屏幕。
一般来说,我们可以说 FrameLayout 只是在屏幕上的某个特定区域进行块化,以显示单个视图。这里,所有子视图或元素都是以堆栈格式添加的,这意味着最近添加的子视图将显示在屏幕顶部。
但是,我们可以添加多个子视图,并且仅通过在 FrameLayout 中使用重力属性来控制它们的位置。
可以使用下面的代码定义框架布局:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
// Add items or widgets here
</FrameLayout>
activity_main.xml 文件
在这个文件中,我们声明了框架布局,并开始添加多个视图,如文本视图、编辑文本和按钮等。所有的视图都放在一起,但我们根据自己的要求进行了替换。
首先,我们在背景中添加一个图像,并在顶部添加其他小部件。在屏幕上,我们可以看到漂亮的登录页面,背景中有一个图像。
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="5dp">
<ImageView
android:id="@+id/imgvw1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop"
android:src="@drawable/img" />
<TextView
android:id="@+id/txtvw1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:background="#286F24"
android:padding="10dp"
android:text="Login Details"
android:textColor="#FFFFFF"
android:textSize="20sp"
android:layout_marginLeft="100dp"/>
<EditText
android:id="@+id/editText1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="80dp"
android:background="#ECEEE8"
android:padding="10dp"
android:hint="Enter your email" />
<EditText
android:id="@+id/editText2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="150dp"
android:background="#ECEEE8"
android:padding="10dp"
android:hint="Enter password"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text= "Submit"
android:layout_marginTop="240dp"
android:layout_marginLeft="110dp"/>
</FrameLayout>
MainActivity.kt 公司
创建布局后,我们需要从活动 onCreate() 回调方法中加载 XML 布局资源,并使用findwiewbyid从 XML 中访问 UI 元素。
package com.geeksforgeeks.myfirstKotlinapp
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
// finding the UI elements
}
}
帧布局输出:
我们需要使用安卓虚拟设备(AVD)运行才能看到输出。