案例演示:

首先有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. ora2pg使用记录

    ora2pg使用记录 前言 这篇文章是我在学习使用ora2pg过程中的学习记录,以便日后遗忘查阅: 诸君也可跟随我的步伐了解一下ora2pg,或可移步如下官方文档参考学习:Ora2Pg : Migra ...

  2. Appendix D. Gradle Command Line

    http://www.gradle.org/docs/current/userguide/gradle_command_line.html Appendix D. Gradle Command Lin ...

  3. php反序列化--[SWPUCTF 2021 新生赛]no_wakeup

    打开网站发现这个,点击  ??? 就看到了代码: 发现是PHP反序列化, 但和一般的PHP反序列化不同的是,多了一个_wakeup函数,然后就去网上搜了一下, 发现是一个cve漏洞CVE-2016-7 ...

  4. java后端操作树结构

    一.树结构的三种组装方式(递归.双层for循环,map) (1)递归 普通递归方法 public Result getBmsMenuList(UserSessionVO userSessionInfo ...

  5. IEDA-Maven项目开发步骤

    1. 打开IDEA 界面,选择"New Project" 2. 输入项目名称和基本信息 输入项目名称.选择存放路径.JDK版本.以及GroupId.ArtifactId. Grou ...

  6. Django + celery + redis 执行异步任务及查看结果

      官方文档 https://docs.celeryproject.org/en/latest/django/first-steps-with-django.html#using-celery-wit ...

  7. 手撕Vuex-实现mutations方法

    经过上一篇章介绍,完成了实现 getters 的功能,那么接下来本篇将会实现 mutations 的功能. 在实现之前我们先来回顾一下 mutations 的使用. 将官方的 Vuex 导入进来,因为 ...

  8. c#中建造者设计模式详解

    基础介绍:   将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示.   说白了就是将一个复杂的对象拆分成一个一个零件,然后按照既定顺序和规则进行组装,最终形成这个相对复杂的对象 ...

  9. C语言【进制、原反补码、数据类型】

    C语言[进制.原反补码.数据类型] 1.二进制.八进制.十进制.十六进制在C语言中的使用(赋值及输出)? /** 二进制 赋值时以 0b 或 0B 开头: 输出时没有所属占位符, 十六进制整数输出也比 ...

  10. 最小生成树(Kruskal Prim)

    最小生成树 (克鲁斯卡尔算法) Kruskal 给定一个n个点m条边的无向图,图中可能存在重边和自环,边权可能为负数. 求最小生成树的树边权重之和,如果最小生成树不存在则输出impossible. 给 ...