Android中Activity組件實例介紹

Activity 概述

在 Android 應用中,提供瞭 4 大基本組件,分別是 Activity、Service、BroadcastReceiver 和 ContentProvider。而 Activity 是 Android 應用最常見的組件之一。Activity 的中文意思是活動。在 Android 中,Activity 代表手機或者平板電腦中的一屏,它提供瞭和用戶交互的可視化界面。在一個 Activity 中,可以添加很多組件,這些組件負責具體的功能。
在一個 Android 應用中,可以有多個 Activity。這些 Activity 組成瞭 Activity 棧(Stack),當前活動的 Activity 位於棧頂,之前的 Activity 被壓入下面,成為非活動 Activity,等待是否可能被恢復為活動狀態。

啟動 Activity 的兩種情況

①、在一個 Android 應用中,隻有一個 Activity 時,那麼隻需要在 AndroidManifest.xml 文件中對其進行備註,並且將其設置為程序的入口。這樣,當運行時,將自動啟動該 Activity。
②、在一個 Android 應用中,存在多個 Activity 時,需要應用 startActivity() 方法來啟動需要的 Activity。

關閉 Activity

在 Android 中,如果想要關閉當前的 Activity,可以使用 Activity 類提供的 finish()方法。

舉例說明:啟動和關閉 Activity
核心代碼如下

// MainActivity
public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);

        TextView password = (TextView) findViewById(R.id.wang_mima);
        password.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //創建 Intent 對象
                Intent intent = new Intent(MainActivity.this,PasswordActivity.class);
                //啟動 PasswordActivity
                startActivity(intent);
            }
        });
    }
}
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity"
    android:background="#CCCC99"
    android:stretchColumns="0,3">

    <!-- 第一行 -->
    <TableRow
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:paddingTop="200dp"
        >
        <TextView />
        <TextView
            android:text="賬號:"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="center_horizontal"
            android:textSize="15dp"
            />
        <EditText
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="15dp"
            android:hint="郵箱或手機號"
            />
        <TextView/>
    </TableRow>

    <!-- 第二行 -->
    <TableRow
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:paddingTop="2dp">
        <TextView />
            <TextView
                android:layout_height="wrap_content"
                android:layout_width="wrap_content"
                android:textSize="15dp"
                android:text="密碼"
                android:gravity="center_horizontal"
                />
            <EditText
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:hint="輸入 6-16 位數字或字母"
                android:textSize="15dp"
                />
        <TextView/>
    </TableRow>

    <!-- 第三行 -->
    <TableRow
        android:layout_height="wrap_content"
        android:layout_width="wrap_content">
        <TextView/>
            <Button
                android:layout_height="wrap_content"
                android:layout_width="wrap_content"
                android:text="註冊"
                />
            <Button
                android:layout_width="15dp"
                android:layout_height="wrap_content"
                android:text="登錄"
                />
        <TextView/>
    </TableRow>

    <!-- 第四行 -->
    <TableRow
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:paddingTop="15dp"
        >
        <TextView />
        <TextView />
        <TextView
            android:id="@+id/wang_mima"
            android:text="忘記密碼?"
            android:textColor="#FF4500"
            android:gravity="right"
            />
    </TableRow>

</TableLayout>

所得 主界面

結果

//創建新活動 PasswordActivity
package com.example.example61;

import androidx.appcompat.app.AppCompatActivity;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageButton;

public class PasswordActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_password);
        //獲得佈局文件中的關閉按鈕
        ImageButton close = (ImageButton) findViewById(R.id.close);
        close.setOnClickListener(new View.OnClickListener(){
            @Override
            //關閉當前 Activity
            public void onClick(View v) {
                finish();
            }
        });
    }
}
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".PasswordActivity"
    android:background="#CCCC99">

    <ImageButton
        android:id="@+id/close"
        android:layout_width="60dp"
        android:layout_height="40dp"
        android:layout_alignParentLeft="true"
        android:background="#0099CC"
        android:padding="5dp"
        android:scaleType="centerInside"
        android:src="@drawable/a" />

    <TextView
        android:id="@+id/t1"
        android:layout_width="350dp"
        android:layout_height="40dp"
        android:layout_alignBottom="@+id/close"
        android:layout_alignParentRight="true"
        android:background="#0099CC"
        android:paddingHorizontal="120dp"
        android:text="找回密碼"
        android:textSize="25dp" />

    <TextView
        android:id="@+id/textview"
        android:layout_below="@+id/close"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="100dp"
        android:layout_marginLeft="20dp"
        android:textSize="25dp"
        android:text="郵箱或手機號"
        />

    <EditText
        android:id="@+id/edittext"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/textview"
        android:layout_marginTop="20dp"
        android:layout_marginLeft="20dp"
        android:hint="請輸入郵箱或手機號"/>

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/edittext"
        android:layout_marginLeft="20dp"
        android:layout_marginTop="20dp"
        android:background="#0099C"
        android:text="提交" />


</RelativeLayout>

單擊找回密碼所得界面

結果

總結

到此這篇關於Android中Activity組件實例介紹的文章就介紹到這瞭,更多相關Android Activity組件內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: