Android中Activity组件实例介绍
程序员文章站
2022-03-02 15:48:19
目录activity 概述启动 activity 的两种情况关闭 activity总结activity 概述在 android 应用中,提供了 4 大基本组件,分别是 activity、service...
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组件内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
推荐阅读
-
Android Tween动画之RotateAnimation实现图片不停旋转效果实例介绍
-
两分钟让你彻底明白Android Activity生命周期的详解(图文介绍)
-
Android自定义View设定到FrameLayout布局中实现多组件显示的方法 分享
-
Android中Notification用法实例总结
-
Android中ViewFlipper的使用及设置动画效果实例详解
-
Android学习之Intent中显示意图和隐式意图的用法实例分析
-
Android中Matrix用法实例分析
-
Android中数据库常见操作实例分析
-
Android中搜索图标和文字居中的EditText实例
-
Android开发中DatePicker日期与时间控件实例代码