案例演示:

首先有MainActivity与LoginActivity两个Activity

MainActivity.java

public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}

MainActivity.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<Button
android:layout_marginTop="50dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/Logon"
android:text="登录"/>
</LinearLayout>

LoginActivity.java

public class LoginActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
}
}

LoginActivity.xml

<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView android:text="请登录..."/>
</LinearLayout>

有了上面的代码我们可以在MainActivity.java中onCreate方法中添加Button事件

Button ButtonLogon = findViewById(R.id.Logon);
ButtonLogon.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//按钮点击事件
}
});

那正题来了,我们怎么把MainActivity跳转至LoginActivity呢?

我们需要startActivity()与new Intent(),用法:

Intent intent = new Intent(this, LoginActivity.class);//跳转的地址
startActivity(intent);//页面跳转
finish();//清除页面

所以MainActivity.java的代码是:

public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); Intent intent = new Intent(this, LoginActivity.class);//跳转的地址
Button ButtonLogon = findViewById(R.id.Logon);//获取按钮
ButtonLogon.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//按钮点击事件
startActivity(intent);//页面跳转
finish();//清除页面
}
});
}
}

额外补充:

/**
*为特定组件创建意图。所有其他字段(操作、数据、类型、类)都为null,不过以后可以通过显式调用对其进行修改。这提供了一种方便的方法来创建一个意图,该意图旨在执行硬编码的类名,而不是依赖系统为您找到合适的类;有关其影响的更多信息,请参阅setComponent。
*
*参数:
*
*packageContext–实现此类的应用程序包的上下文。cls–要用于意图的组件类。
*
*另请参阅:
*
*setClass、setComponent、Intent(字符串、Uri、上下文、类)
*/
public Intent(Context packageContext, Class<?> cls) {
mComponent = new ComponentName(packageContext, cls);
} /**
*启动新活动。您将不会收到有关活动何时退出的任何信息。此实现覆盖基本版本,提供有关执行启动的活动的信息。由于该附加信息,不需要Intent.FLAG_ACTIVITY_NEW_TASK启动标志;如果未指定,则新活动将添加到调用方的任务中。
*
*如果找不到运行给定Intent的“活动”,此方法将引发ActivityNotFoundException。
*与{@link#startActivity(Intent,Bundle)}相同,没有选项
*指定。
*
*@param intent开始的意图。
*
*@throws android.content.ActivityNotFoundException
*
*@参见#startActivityForResult
*/
@Override
public void startActivity(Intent intent) {
this.startActivity(intent, null);
}

android 页面切换的更多相关文章

  1. android页面切换效果

    两种方式: 在activity的自定义主题中定义切换方式: overridePendingTransition()方法 自定义主题: 在项目的res/values/styles.xml中添加样式 &l ...

  2. Android页面切换

    参考地址: http://www.crifan.com/android_how_to_create_new_ui_and_switch_to_another_new_ui/ 想要实现,在Android ...

  3. Android中使用ViewPager实现屏幕页面切换和页面切换效果

    之前关于如何实现屏幕页面切换,写过一篇博文<Android中使用ViewFlipper实现屏幕切换>,相比ViewFlipper,ViewPager更适用复杂的视图切换,而且Viewpag ...

  4. Android成长日记-使用PagerAdapter实现页面切换

    Tip:此方式可以实现页面切换 1. 创建view1.xml,view2.xml,view3.xml,main.xml 在main.xml中创建 <android.support.v4.view ...

  5. (原)android中的动画(三)之动画监听&页面切换动画

    1.动画也可以设置监听事件,例如在动画结束时需要执行某操作 把要执行的代码写在onAnimationEnd()回调方法中即可: anim.setAnimationListener(new Animat ...

  6. Android开发之ViewPager实现多页面切换及动画效果(仿Android的Launcher效果)

    Android开发中经常会有引导页或者切换页面等效果,本文采用ViewPager结合动画效果来实现仿Launcher以及页面切换的效果.源码地址在文章最后给出下载. 效果图如下:       1.Vi ...

  7. Android - FragmentTabHost 与 Fragment 制作页面切换效果

    使用 FragmentTabHost 与 Fragment 制作页面切换效果 API 19 TabHost已经不建议使用了.用 FragmentTabHost 来代替TabHost.实际上 Fragm ...

  8. Android - TabHost 与 Fragment 制作页面切换效果

    Android - TabHost 与 Fragment 制作页面切换效果 Android API 19 , API 23 三个标签页置于顶端 效果图: 在文件BoardTabHost.java中定义 ...

  9. Android使用Fragment打造万能页面切换框架

    首先我们来回顾一下传统用Activity进行的页面切换.activity之间切换.首先须要新建intent对象,给该对象设置一些必须的參数,然后调用startActivity方法进行页面跳转. 假设须 ...

  10. Android之怎样实现滑动页面切换【Fragment】

    Fragment 页面切换不能滑动 所以对于listview 能够加入的左右滑动事件 .不会有冲突比如(QQ的好友列表的删除)  Fragment 和viewpager 的差别  Viewpager ...

随机推荐

  1. pandas处理大数据题目的操作

    1.用法:DataFrame.drop(labels=None, axis=0, index=None, columns=None, inplace=False) 2.参数说明: labels:要删除 ...

  2. 记录一次gcc的编译

    在deepin23上编译gcc13.2 deepin20素以软件版本过老被人诟病,换成最新的deepin23之后情况大有好转,但是gcc版本为11.2,鄙人对此仍有意见,所以特意研究了如何编译一份较新 ...

  3. Go语言系列——31-自定义错误、32-panic和recover、33-函数是一等公民(头等函数)、34-反射、35-读取文件、36-写入文件

    文章目录 31-自定义错误 使用 New 函数创建自定义错误 使用 Errorf 给错误添加更多信息 使用结构体类型和字段提供错误的更多信息 使用结构体类型的方法来提供错误的更多信息 32-panic ...

  4. FreeRTOS 中的调度算法

    FreeRTOS 中的调度算法 01 调度算法概述 调度算法的作用: 实时系统的调度需求 相应时间要求 任务优先级 资源利用率 FreeRTOS 调度算法的目标 提供可预测的任务调度 实现任务的优先级 ...

  5. jq工具及其常用用法

    近来在工作中处理JSON处理较多,深入研究了一下jq,之前对jq的使用一直停留在JSON数据格式化的层面,实际它的能力远不止于此. 在处理JSON数据时,我们经常需要在命令行中进行过滤.查询和编辑的操 ...

  6. [ABC202E] Count Descendants 题解

    Count Descendants 题目大意 给定一颗以 \(1\) 为根的树,多次询问求某点的子树中深度为给定值的点的个数. 思路分析 对于每个深度开一个 vector,从大到小存下这个深度的所有点 ...

  7. C#基数排序算法

    前言 基数排序是一种非比较性排序算法,它通过将待排序的数据拆分成多个数字位进行排序. 实现原理 首先找出待排序数组中的最大值,并确定排序的位数. 从最低位(个位)开始,按照个位数的大小进行桶排序,将元 ...

  8. ES6入门(一)

    1.let声明的变量只在let命令所在的代码块内有效 2.不存在变量提升,先使用变量,后定义变量,就会报错. 3.let不允许在相同作用域内,重复声明同一个变量.

  9. [WPF]原生TabControl控件实现拖拽排序功能

    在UI交互中,拖拽操作是一种非常简单友好的交互.尤其是在ListBox,TabControl,ListView这类列表控件中更为常见.通常要实现拖拽排序功能的做法是自定义控件.本文将分享一种在原生控件 ...

  10. 天上掉 Pizza

    实在不知道错哪了... 对着 std 检查了好几遍了QAQ 题解见注释(不过估计题解也是错的,不然为什么写错啊QAQ #include<bits/stdc++.h> using names ...