首页 > 其他分享 >29. Activity组件

29. Activity组件

时间:2022-09-19 08:34:44浏览次数:47  
标签:layout dingjiaxiong void 29 Activity 组件 import android

29. Activity组件
29.1 认识Activity
应用画面 → Activity

Activity是一个应用程序组件,提供一个屏幕,用户可以用来交互为了完成某项任务。

Activity中所有操作都与用户密切相关,是一个负责与用户交互的组件,可以通过setContentView(View)来显示指定控件。

在一个android应用中,一个Activity通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听并处理用户的事件做出响应。Activity之间通过Intent进行通信。

29.2 Activity的跳转
创建新项目

在这里插入图片描述

在这里插入图片描述

新建一个Activity

在这里插入图片描述

在这里插入图片描述

添加一个按钮,设置点击事件为跳转到Activity2

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
    android:orientation="vertical"
    tools:context=".MainActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="我是第一个Activity!"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />


    <Button
        android:id="@+id/btn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="跳转到Activity2"
        android:onClick="startActivity2"
        />

</LinearLayout>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package com.dingjiaxiong.myactivitytiaozhuan;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

//默认的activity
public class MainActivity extends AppCompatActivity {

    private Button button;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    public void startActivity2(View view) {
        startActivity(new Intent(this,MainActivity2.class));
    }
}

运行

在这里插入图片描述

29.3 Activity生命周期

在这里插入图片描述

代码体验

package com.dingjiaxiong.myactivitytiaozhuan;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;

//默认的activity
public class MainActivity extends AppCompatActivity {

    private Button button;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Log.e("dingjiaxiong", "onCreate: ");

    }

    @Override
    protected void onRestart() {
        super.onRestart();
        Log.e("dingjiaxiong", "onRestart: ");

    }

    @Override
    protected void onStart() {
        super.onStart();
        Log.e("dingjiaxiong", "onStart: " );
    }

    @Override
    protected void onResume() {
        super.onResume();
        Log.e("dingjiaxiong", "onResume: " );
    }

    @Override
    protected void onPause() {
        super.onPause();
        Log.e("dingjiaxiong", "onPause: " );
    }

    @Override
    protected void onStop() {
        super.onStop();
        Log.e("dingjiaxiong", "onStop: " );
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        Log.e("dingjiaxiong", "onDestroy: " );
    }

    public void startActivity2(View view) {
        startActivity(new Intent(this,MainActivity2.class));
    }
}

默认启动

在这里插入图片描述

onResume():卡片渲染已经完成。

此时回到桌面

在这里插入图片描述

从任务中再次打开

在这里插入图片描述

重新渲染。

跳转到另一个Activity时,

在这里插入图片描述

在该界面中按返回键

在这里插入图片描述

销毁。

onResume() / onPause():卡片可见和不可见。

标签:layout,dingjiaxiong,void,29,Activity,组件,import,android
From: https://www.cnblogs.com/55zjc/p/16706501.html

相关文章

  • 30. Service组件
    30.Service组件30.1认识Service服务在后台默默地运行,是不可见的。30.2startService与生命周期新建一个Activity在清单文件中设置Activity3默认启动MyService.j......
  • 31. Receiver组件
    31.Receiver组件31.1认识Receiver广播:分为系统广播与用户自定义广播系统广播:开机广播、网络状态广播、蓝牙…31.2静态注册接收广播定义一个广播接收者package......
  • 25. Activity与Fragment通信
    25.Activity与Fragment通信25.1Activity与Fragment通信原生方案:Bundle如何让Activity和BlankFragment1完成通信Activity中://定义一个bundleBundlebundle=newB......
  • 【C#】组件发布:MessageTip,轻快型消息提示窗
    【C#】组件发布:MessageTip,轻快型消息提示窗 -------------201610212046更新-------------更新至2.0版,基本完全重写,重点:改为基于原生LayeredWindow窗体和UpdateLayered......
  • 2022-9-18 #29 愿灰飞烟灭 我的每个昨天
    CSP-S初赛,新赛季第一战。打的一般吧,虽说检查了很多遍但还是出了很多计算错误。。。大端小端是什么......
  • 【Azure 应用服务】Azure Durable Function(持久函数)在执行Activity Function时候,因
    问题描述在使用AzureDurableFunction函数,调用函数链模式来调用多个ActivityFunction。函数链:https://docs.azure.cn/zh-cn/azure-functions/durable/durable-function......
  • 使用 Refs 反应功能组件
    使用Refs反应功能组件—带有forwardRef和useImperativeHandle的示例逆境中成长—growinadversity我一直不清楚参考和前向引用,在做了一些研究之后,我想写......
  • Vue-多层组件传值
    在不用状态管理vuex的时候,如何让GrandFather与Son通信,我们可以用可以emit一层一层的传递:会显得冗余。vue2.4之后,提出$attrs、$listeners,可以实现跨级组件通信。$liste......
  • Vue-用$emit实现子组件向父组件传值
    上一个随笔提到属性传值是单向的,意思就是只能父组件向子组件传值,那么想要子组件向父组件传值的话就要用到$emit来触发事件   ......
  • Vue2:父组件传子组件-属性传值
    通过在子组件中用props["属性1","属性2","属性3"]接收父组件的值;语法:exportdefault{props:[],//接收父组件传的属性methods:{},data(){}......