页面跳转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,页面跳转的两种方式分别是什么
分享路径:https://www.cdcxhl.com/article14/dsecege.html

成都网站建设公司_创新互联,为您提供面包屑导航网站维护微信小程序关键词优化企业网站制作外贸网站建设

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都网站建设