Android中Activity组件实例介绍

目录
  • Activity 概述
  • 启动 Activity 的两种情况
  • 关闭 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组件内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Android Activity生命周期调用的理解

    目录 状态 启动模式 操作APP时生命周期调用 Activity异常生命周期 总结 状态 活动存放在一个叫返回栈的一个集合,当重新打开一个Activity时,它就会出现在栈顶.当要销毁该活动时,调用finish()或back,栈顶的活动就会出栈. 运行状态:一个活动处于栈顶时 暂停状态:不处于栈顶,但仍然可见.(失去焦点,非全屏或透明的activity放置在栈顶) 停止状态:不处于栈顶,也不可见,但还是会为它保留一些变量的相关数据.(被覆盖) 销毁状态:在栈中移除(killed状态) 启动模式

  • Android activity实现延时跳转功能

    什么是Activity Activity是一个Android的应用组件,它提供屏幕进行交互.每个Activity都会获得一个用于绘制其用户界面的窗口,窗口可以充满哦屏幕也可以小于屏幕并浮动在其他窗口之上. 一个应用通常是由多个彼此松散联系的Activity组成,一般会指定应用中的某个Activity为主活动,也就是说首次启动应用时给用户呈现的Activity.将Activity设为主活动的方法,如下面代码所示需要在AndroidManifest文件中添加以下内容 <application> .

  • Kotlin-Android之Activity使用详解

    目录 Activity中Toast的使用 Activity中不使用findViewById()获取控件ID Activity中使用菜单Menu Activity中intent的使用 intent显式 intent隐式 intent数据的传递 传递数据 返回数据 扩展 参考 Activity中Toast的使用 Toast.makeText(this,"ADD",Toast.LENGTH_SHORT).show() // Toast.makeText(Activity,提醒字符,lengt

  • Android四大组件之Activity详细介绍

    目录 理论概述 Activity的理解 Activity的定义 Activity的作用 类比Activity与Servlet Intent的理解 Intent的分类 Intent的使用 IntentFilter的理解 相关的API 设置点击监听 Activity中添加监听 layout中添加监听 设置长按监听 Activity的开发 开发流程 Activity的使用  总结 理论概述 Activity的理解 Activity的定义 Activity,字面翻译为活动,他是Android定义的四大应

  • Android中Activity组件实例介绍

    目录 Activity 概述 启动 Activity 的两种情况 关闭 Activity 总结 Activity 概述 在 Android 应用中,提供了 4 大基本组件,分别是 Activity.Service.BroadcastReceiver 和 ContentProvider.而 Activity 是 Android 应用最常见的组件之一.Activity 的中文意思是活动.在 Android 中,Activity 代表手机或者平板电脑中的一屏,它提供了和用户交互的可视化界面.在一个 A

  • Android中activity从创建到显示的基本介绍

    前言 说道Android中的Activity,如果你做过iOS开发的话,Activity类似于iOS中的ViewController(视图控制器).在应用中能看到的东西都是放在活动中的.活动是安卓开发比较重要的东西,是用户交互和数据的入口.本篇博客要介绍的内容是活动的创建,活动的跳转与值的透传. iOS中的ViewController也是有自己的生命周期的,了解Activity或者ViewController的生命周期是很有必要的,本文将详细的给大家介绍关于Android中activity从创建

  • 简单介绍Android中Activity的四种启动模式

    在Android中每个界面都是一个Activity,切换界面操作其实是多个不同Activity之间的实例化操作.在Android中Activity的启动模式决定了Activity的启动运行方式. Activity有四种启动模式: 1. standard,默认的启动模式,只要激活Activity,就会创建一个新的实例,并放入任务栈中,这样任务栈中可能同时有一个Activity的多个实例. 2. singleTop,激活Activity时,如果栈顶是这个Activity,就不会创建新的实例:如果栈顶

  • Android中Activity过渡动画的实例讲解

    目录 前言 分解动画 效果视频 解析 滑动动画 效果视频 解析 淡出动画 效果视频 解析 共享元素 共享单个元素 解析 共享多个元素 效果视频 全部代码 总结 前言 以前Activty之间得跳转非常生硬,自Android.5X后,Google对Activity的切换设计更多丰富的动画效果. Android 5.X提供了三种Transition类型,具体如下: ✧进入:一个进人的过渡动画决定Activity中的所有的视图怎么进入屏幕. ✧退出:一个退出的过渡动画决定-个Activity 中的所有视

  • Android中PopupMenu组件的使用实例

    最近学习研究了一下Android中PopupMenu组件的使用,发现很实用,所以留个笔记留作日后查询 估计很多人遇到过这种场景: 要求弹出的PopupWindow里面是一个列表,我们使用时都是在里面套个ListView或RecyclerView ,现在我们不需要在做这样繁琐的工作了. 在官方android.support.v7.widget 包下提供的 PopupMenu 组件,已经被越来越多的项目所采用.我们先看一下几个 app 的效果: 这是一个非常轻量化的上下文菜单组件,简洁.使用方便.

  • Android中Activity的四种启动模式和onNewIntent()

    写在前面 Activity是Android四大组件之一,用于直接跟用户进行交互,本篇文章将介绍Activity的启动流程.用户启动Activity的方式大致有两种:一种是在桌面点击应用程序的图标,进入应用程序的主界面:另一种是在应用程序中,进入一个新的Activity.前者,桌面其实是系统应用launcher的界面,点击应用程序图标,会进行应用程序的主界面,实质是从一个应用的Activity进入另一个应用Activity. 因此,不管是从桌面进入应用主界面,还是在应用里进入一个新的Activit

  • Java中的instanceof关键字在Android中的用法实例详解

    在下面介绍Android中如何使用instanceof关键字开发更方便时,先来温习一下java中instanceof的概念. instanceof大部分的概念是这样定义的:instanceof是Java的一个二元操作符,和==,>,<是同一类东西.由于它是由字母组成的,所以也是Java的保留关键字.它的作用是测试它左边的对象是否是它右边的类的实例,返回boolean类型的数据.举个栗子: String s = "I AM an Object!"; boolean isObj

  • Android中Binder IPC机制介绍

    目录 前言 一.Binder是什么? 二.为什么要使用Binder 三.IPC机制原理 传统IPC机制如何实现跨进程通信 Binder IPC机制原理 小结 前言 记得刚开始做Andorid那会,面试时最怕被问到Binder,就感觉战战兢兢不知道从什么地方说起,导致后来一直有一种恐惧感.当然现在没有这种感觉了,但是这块知识点一直模模糊糊的,最近在学Andorid framework课程,借此机会简单总结下其中Binder相关知识点. 一.Binder是什么? Binder是Android中一种进

  • Android中的xml解析介绍

    目录 XML - 元素 XML - 解析 例子 总结 XML 代表可扩展标记语言.XML 是一种非常流行的格式,通常用于在 Internet 上共享数据.本章说明如何解析 XML 文件并从中提取必要的信息. Android 提供了三种类型的 XML 解析器,它们是DOM.SAX 和 XMLPullParser.其中android推荐XMLPullParser,因为它高效且易于使用.所以我们将使用 XMLPullParser 来解析 XML. 第一步是确定您感兴趣的 XML 数据中的字段.例如.在

  • Android中FlowLayout组件实现瀑布流效果

    目录 FlowLayout实现关键步骤: 1.创建一个view继承自ViewGroup 2.重写并实现onMeasure方法 3.重写并实现onLayout方法 总结 纸上得来终觉浅,绝知此事要躬行. 动手实践是学习的最好的方式,对于自定义View来说,听和看只能是过一遍流程,能掌握个30%.40%就不错了,而且很快就会遗忘,想变成自己的东西必须动手来写几遍,细细体会其中的细节和系统API的奥秘.真谛. 进入主题,今天来手写一个瀑布流组件FlowLayout,温习下自定义view的流程和关键点,

随机推荐