页面跳转android,页面跳转的两种方式分别是什么

android 界面跳转怎么控制

下面关于界面跳转的例子来自于android学习手册,如果想看实际运行的例子的话,请去下载,并且可以看源码和文档。android学习手册包含9个章节,108个例子,源码文档随便看,例子都是可交互,可运行, 源码采用android studio目录结构,高亮显示代码,文档都采用文档结构图显示,可以快速定位。360手机助手中下载,图标上有贝壳

目前创新互联已为上千的企业提供了网站建设、域名、网页空间、网站托管、服务器托管、企业网站设计、原阳网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

android使用,从一个Activity(界面)跳转到另一个Activity时,需要使用到Intent来启动Activity。在Intent使用时,分为显式调用和隐式调用2类,显式调用就是直接调用另一个Activity的class类,隐式调用需要通过调用另一个Activity的action 来启动另一个Activity,详细如下:

Intent在android中的定义为:public Intent (Context packageContext , Class? cls);

1、显式调用---直接调用Activity的Class类

例,Activity1调用Activity2

Intent intent = new Intent(this , Activity2.class);

startActivity(intent);

2、隐式调用

Activity1隐式调用Activity2时需要在AndroidManifest.xml文件中配置Activity2的action和category,具体添加下面的代码到Activity2的定义中

intent-filter

action android:name="myaction2"/

category android:name="android.intent.category.DEFAULT"/

category android:name="mycategory" /

/intent-filter

接着同样使用intent来启动Activity,代码如下:

Intent intent = new Intent("myaction2");

startActivity(intent);

这样就可以启动Activity2

注:在使用intent隐式调用Activity时会遇到多个Activity的intent-filter中的action和category相同时,这时android会先弹出一个选择界面的窗口,显式要启动的Activity列表,根据用户的选择来启动Activity,如Activity2和Activity3的action和category相同

Activity android:name=".Activity2"

intent-filter

action android:name="myaction2"/

category android:name="android.intent.category.DEFAULT"/

category android:name="myCategory" /

/intent-filter

/Activity

Activity android:name=".Activity3"

intent-filter

action android:name="myaction2"/

category android:name="android.intent.category.DEFAULT"/

category android:name="myCategory" /

/intent-filter

/Activity

启动Activity代码如下:

Intent intent = new("action2");

intent.addCategory("myCategory");

startActivity(intent);

这时就会弹出Acvity的选择窗口,选择启动activity2还是activity3

android页面跳转速度优化

1、A跳转到B,需要经历A的onPause,B的onCreate,onStart,onResume,所以在这几个方法中不能做耗时的操作。

2、一进入页面不可见的视图可以用ViewStub做延迟加载。

3、网络请求可以在加载完页面控件后再进行。

4、慎用多进程。

5、初始化AnimationDrawable、TypedArray数组和Typeface会很耗时,并且AnimationDrawable特别耗内存,一定要注意他们的初始化时机;

如何指定Android中的浏览器跳转界面?

一、启动android默认浏览器

在Android程序中我们可以通过发送隐式Intent来启动系统默认的浏览器。如果手机本身安装了多个浏览器而又没有设置默认浏览器的话,系统将让用户选择使用哪个浏览器来打开连接。关于Intent的更多内容请参考《常用Intent》

示例1

Intent intent =newIntent();

    intent.setAction("android.intent.action.VIEW");

    Uri content_url =Uri.parse("");

    intent.setData(content_url);

    startActivity(intent);

这样子,android就可以调用起手机默认的浏览器访问。

二、启动指定浏览器

在Android程序中我们可以通过发送显式Intent来启动指定的浏览器。

启动Android原生浏览器

示例2

Intent intent =newIntent();       

    intent.setAction("android.intent.action.VIEW");   

    Uri content_url =Uri.parse(""); 

    intent.setData(content_url);         

    intent.setClassName("com.android.browser","com.android.browser.BrowserActivity"); 

    startActivity(intent);

只要修改以intent.setClassName("com.android.browser","com.android.browser.BrowserActivity");

中相应的应用程序packagename 和要启动的activity即可启动其他浏览器来

uc浏览器":"com.uc.browser", "com.uc.browser.ActivityUpdate“

opera浏览器:"com.opera.mini.android", "com.opera.mini.android.Browser"

qq浏览器:"com.tencent.mtt", "com.tencent.mtt.MainActivity"

android:点击按钮后跳转另一页面

进入墨刀界面,将需要进行交互动作的界面扔进墨刀中打开。

在左侧左键选择“链接区域”,然后拖动到界面中需要进行交互设计的按钮位置。

位置确定之后,左键点击区域旁边的小按钮,拖动到目标界面中。

进入预览模式,点击刚才设置的区域就能够进行跳转了。

Android-几种跳转页面方法

举例:有两个activity FirstActivity、SecondActivity

跳转实现方法:

1、第一种(带传参):

2、第二种:

3、第三种 com.example.yuan.e06_gridview是你的包名:

4、第四种 com.example.yuan.e06_gridview是你的包名:

5、第五种 com.yuan是你的文件夹路径:

Android模块化页面跳转Scheme

Android模块化页面跳转Scheme

Github

通过注解实现Uri页面跳转

支持参数自动解析

使用场景:

1、应用内服务端下发uri进行页面跳转

2、通知栏点击,携带uri进行页面跳转

3、其他应用通过uri调起进行页面跳转

注:activity的注解格式:group/path

group为各个模块的唯一字符串,不同模块不可重复

接入:

使用姿势:

根build.gradle

module依赖:

使用姿势:

场景1:应用内服务端下发uri进行页面跳转

1、在需要支持uri跳转的Activity增加注解@SchemePath("{随意填,唯一字符串}")

2、跳转事件

注:参数支持

uri支持参数,如" scheme://ModuleA/Activity?data=1time=20200714hasData=true "

Activity的参数增加@SchemeExtra注解,如

场景2:通知栏点击,携带uri进行页面跳转

1、应用首页Activity增加注解@SchemePath("{随意填}")

2、application调用初始化

3、启动页,通知栏点击入口

场景三:其他应用通过uri调起进行页面跳转

1、注册中转activity


文章题目:页面跳转android,页面跳转的两种方式分别是什么
标题路径:http://csdahua.cn/article/dsecege.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流