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!
推薦閱讀:
- Android實現老虎機小遊戲代碼示例
- Android移動應用開發指南之六種佈局詳解
- Android使用kotlin實現多行文本上下滾動播放
- Android生成隨機數的方法實例
- Android采集傳感器數據並顯示的方法