博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
AndroidのActivity跳转数据通信和跳转动画
阅读量:4342 次
发布时间:2019-06-07

本文共 2444 字,大约阅读时间需要 8 分钟。

1.当由一个ActivityA进入另一个ActivityB 的时候,ActivityA弹出等待对话框,表示将要进入第二个Activity,当我们按返回键的时候,将从ActivityB返回到ActiviyA,如果在ActivityA直接startActivity的画,Activity的对话框还在转,我们可以用startActivityForResult启动Activity,不过要在ActivityB中调用了finish方法才会返回消息给前一个Activity,在ActivityB中设置返回结果,在ActivityA中复写onActivityResult得到返回消息。

。ActivityA:

1 @Override 2     public void onClick(View v) { 3         // TODO Auto-generated method stub 4         if(v==bt){ 5             Intent intent = new Intent(this,OtherActivity.class); 6             intent.putExtra("other", "第二页"); 7             startActivityForResult(intent, 0); 8             //dialog.show(); 9         }10     }11 12     @Override13     protected void onActivityResult(int requestCode, int resultCode, Intent data) {14         // TODO Auto-generated method stub15         super.onActivityResult(requestCode, resultCode, data);//请求码,结果码16         if(resultCode==Activity.RESULT_OK){17             Log.e("MainActivity", "onActivityResult");18             dialog.dismiss();19         }20     }

 

ActivityB:

setResult(RESULT_OK);

 

2.这是考虑进入另一个Activity比较迟缓,特别是MapActivity加载地图,试想可以在onCreate方法里,调用super()之后弹出一个对话框,然后在视图加载完成回调里关闭对话框,onWindowFocusChange()里dismisDialog似乎没用,它还在转,肯对话框在show时,就在加载View。

protected void onCreate(Bundle savedInstanceState) {        // TODO Auto-generated method stub        super.onCreate(savedInstanceState);        dialog = new ProgressDialog(this);        dialog.show();
@Override    public void onWindowFocusChanged(boolean hasFocus) {        // TODO Auto-generated method stub        super.onWindowFocusChanged(hasFocus);         if(hasFocus){             //dialog.dismiss();             Log.e("OtherActivity", "加载完毕");         }else{             Log.e("OtherActivity", "加载中..");         }

失败。

3.顺便研究了一下Activity跳转动画,可以再Application节点下,应用动画效果,这将让所有Activity应用该动画主题,也可以针对单个Activity应用动画。新建Style文件,把windowAnimationStyle设置成写好的动画风格,而真正的动画Style应该继承Animation.Activity,然后在各项动画子项里面设置独特的动画。

 

style:

 

这是我定义的动画:

进入下个Activity,当前Activity往左撤出屏幕,下个Activity从底部上升至屏幕顶部。回返Activity的效果是仿照沪江应用的,当前Activity缩小到偏右方消失,透明度从有到无,前一个Activity从1.5倍缩放到正常大小,但是以左上角为中心点缩放。

 

Open:

当前Acitivity摧毁动画

//这里就是视图从右往左撤出屏幕的动画

下个Acitivity进入动画

//从底部上升动画

 

Close:

 

当前Activity销毁动画

//缩放至屏幕右方

 

上个Actiivty进入动画

 

//缩小在左上方

转载于:https://www.cnblogs.com/bvin/archive/2012/08/14/2637844.html

你可能感兴趣的文章
小D课堂 - 零基础入门SpringBoot2.X到实战_第8节 数据库操作之整合Mybaties和事务讲解_35、事务介绍和常见的隔离级别,传播行为...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第9节 SpringBoot2.x整合Redis实战_40、Redis工具类封装讲解和实战...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第9节 SpringBoot2.x整合Redis实战_37、分布式缓存Redis介绍...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第10节 SpringBoot整合定时任务和异步任务处理_42、SpringBoot常用定时任务配置实战...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第9节 SpringBoot2.x整合Redis实战_39、SpringBoot2.x整合redis实战讲解...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第14节 高级篇幅之SpringBoot多环境配置_59、SpringBoot多环境配置介绍和项目实战...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第10节 SpringBoot整合定时任务和异步任务处理_41、SpringBoot定时任务schedule讲解...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第10节 SpringBoot整合定时任务和异步任务处理_43、SpringBoot2.x异步任务实战(核心知识)...
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_1_01课程简介
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第11节 Logback日志框架介绍和SpringBoot整合实战_45、SpringBoot2.x日志讲解和Logback配置实战...
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_3-05 服务注册和发现Eureka Server搭建实战...
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_4-05 微服务调用方式之feign 实战 订单调用商品服务...
查看>>
UI基础--烟花动画
查看>>
Android dex分包方案
查看>>
ThreadLocal为什么要用WeakReference
查看>>
删除本地文件
查看>>
FOC实现概述
查看>>
base64编码的图片字节流存入html页面中的显示
查看>>
这个大学时代的博客不在维护了,请移步到我的新博客
查看>>
GUI学习之二十一——QSlider、QScroll、QDial学习总结
查看>>