赞
踩
先看看效果:点击button1
跳转视图
将创建好的项目中的
MainActivity类中写上:
- package com.example.reactest;
-
- import androidx.appcompat.app.AppCompatActivity;
-
- import android.content.Intent;
- import android.os.Bundle;
- import android.view.View;
- import android.widget.Button;
- import android.widget.Toast;
-
- public class MainActivity extends AppCompatActivity {
- // 向下兼容的Activity 其中AppCompatActivity是Activity的子类 Activity是Android系统提供的一个活动基类
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
-
- setContentView(R.layout.activity_main);
-
- Button button_Panel = (Button)findViewById(R.id.buttonPanel);
- /*
- * 右键com.example.reactest 然后New 选择Activity 再选Gallery
- * 选择Empty Activity 输入 second_Activity 勾选 Generate layout File 再输入:second_layout 不要勾选 Launcher Activity 即可.
- * 勾选和不勾选 Generate layout File 的区别: 编写出来的程序放置的位置不一样,一个是以“project folder”为根目录,另外一个是创建一个完全独立的文件夹。
- * 说明一: Launcher 是系统启动后第一个启动的程序,是其他应用程序的入口,也是我们的手机程序的桌面程序。
- *
- * 说明二: 每次创建一个活动(Activity)都会在AndroidManifest.xml中注册一个活动.
- * 打开AndroidManifest.xml可以看到里边有这句话: <activity android:name=".SecondActivity"></activity>
- * 由于SecondActivity不是主活动,所以不用配置<intent-filter>
- * 课前知识补充: Intent负责各个组件之间交互,指明当前组件想要执行的动作,可以在不同组件之间传递数据
- * Intent:有显式和隐式两种 Intent有多个构造函数重载
- * 知识巩固:同一范围中声明几个功能类似的同名函数,但是这些同名函数的形式参数(指参数的个数、类型或者顺序)必须不同,也就是说用同一个函数完成不同的功能。这就是重载函数。
- *
- * 构造函数一: Intent(Context packageContext,Class<?>cls); 参数一[Context要求提供一个启动活动的上下文] 第二个参数[Class指定想要启动的目标活动]
- * 启动活动: startActivity() 传入写好的Intent内容即可
- * */
- button_Panel.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- /*
- * 传入MainActivity.this作为上下文,SecondActivity.class作为目标活动
- * 我们的意图此刻非常明显了,就是通过MainActivity活动的基础上打开:SecondActivity活动
- * 然后通过startActivity();执行intent
- * 因为这个意图非常明显,所以我们称为:显式Intent
- * */
- Intent intent = new Intent(MainActivity.this,SecondActivity.class);
- startActivity(intent);
- }
- });
-
- }
- }

第一个界面为:activity_main.xml
- <?xml version="1.0" encoding="utf-8"?>
- <androidx.constraintlayout.widget.ConstraintLayout 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">
-
- <!-- 只要创建任何资源都会在R文件中生成一个资源id
- 在引用布局的时候会调用R.layout.(Activity)可以得到XXXX.xml布局中的id,然后将这个值传到setContentVies()方法即可-->
-
- <!-- wrap_content 当前宽度只要刚好包含里边的内容就行-->
- <!-- match_parent 当前元素和父元素一样宽 相配,相称 -->
-
- <Button
- android:id="@+id/buttonPanel"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:text="1"
- tools:ignore="MissingConstraints" />
-
- <!-- 通过button触发Toast 通过onCreate方法中添加代码-->
-
-
- </androidx.constraintlayout.widget.ConstraintLayout>

第二个活动:secondActivity 创建之后什么都不用理会。
- package com.example.reactest;
-
- import androidx.appcompat.app.AppCompatActivity;
-
- import android.content.Intent;
- import android.os.Bundle;
- import android.view.View;
- import android.widget.Button;
-
-
- public class SecondActivity extends AppCompatActivity {
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.second_layout);
-
- }
- }

给第二个活动视图添加一个button就行了,为了区分main视图,我将第二个视图加上了 内容:第二个视图 .
second_layout.xml 代码如下:
- <?xml version="1.0" encoding="utf-8"?>
- <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
- android:orientation="vertical"
- android:layout_width="match_parent"
- android:layout_height="match_parent">
-
- <!--添加一个button orientation 方向 vertical垂直的 -->
-
- <Button
- android:id="@+id/buttonPanel_2"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:text="第二个视图"
- tools:ignore="MissingConstraints" />
-
- </androidx.constraintlayout.widget.ConstraintLayout>

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。