Android 开场动画
呼,忙了两天了这个,找了各种资料,勉勉强强实现我的功能,这个还得改进一下,线程方面的知识没有学到多少,弄了线程画UI有着各种bug,无奈。。就这样跳过先了,哪一天有时间在回来搞一下。
正文————
要实现开头动画,有两种方法,一种是用xml文件定义,第二种则是用java实现。
xml动画中,有着四种基本的动画,如下图片说明
可以使用这四种组合出更加高级的xml动画
使用xml动画的方法过程:
第一步,首先要在res新建一个anim的文件夹,之后,在里面写xml动画文件,如图
aaarticlea/png;base64,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" alt="" />
第二步,加载资源文件
示范代码如下,改一下后面的R.anin.xxx
Animation animation=AnimationUtils.loadAnimation(this, R.anim.fade_in);
第三步,为某个控件指定动画
first.startAnimation(animation);
PS:
- first是一个ImageView
- 这个方法放在线程run()方法里会报错,我对线程不太懂,所以还找不到解决办法
除此之外,一般我们都是要给animation添加监听器,定义动画开始前的行为,动画循坏的行为,和动画结束的行为
AnimationListener animationlistener = new AnimationListener() {//设置动画监听事件 @Override
public void onAnimationStart(Animation arg0) {//动画开始前
// TODO Auto-generated method stub } @Override
public void onAnimationRepeat(Animation arg0) {//动画循坏时
// TODO Auto-generated method stub } @Override
public void onAnimationEnd(Animation arg0) {//动画结束后
Intent intent = new Intent();
intent.setClass(StartActivity.this, MainActivity.class);
StartActivity.this.startActivity(intent); }
};
开头动画一般结束之后都是跳转到app主界面的activity,用Intent意图跳转activity
不要忘了在AndroidMainfest里面声明一个activity
animation.setAnimationListener(animationlistener);
之后设置监听器方法,这个不要忘
使用java方法实现动画效果:
第一步,new一个动画对象
AlphaAnimation alphaanimation = new AlphaAnimation(0.0f, 1.0f);
//透明度从0.0(完全透明)到1.0(完全不透明)
上述代码就是实现淡入效果的,举一反三,其他的这里便不多说
第二步,为对象设置相关属性,
alphaanimation.setDuration(3000);//设置动画持续时间为3s
alphaanimation.setFillAfter(true);//设置动画结束后保留当前状态
当然不止这两种属性,不过常用的就这两种了,其他的话,百度吧
第三步,为控件指定动画
first.startAnimation(alphaanimation);
PS:参数就是上述的对象名
个人使用中遇到的问题:
如果控件的visibility属性为gone的话,动画效果无法显示出来,要将visibility属性改为invisible,这样就行了
Android 开场动画的更多相关文章
- [原创]实现android知乎、一览等的开场动画图片放大效果
代码下载地址: https://github.com/Carbs0126/AutoZoomInImageView 知乎等app的开场动画为:一张图片被显示到屏幕的正中央,并充满整个屏幕,过一小段时间后 ...
- 实现仿知乎的开场动画,图片zoomin的效果,实现原理,没加动效
知乎等应用的开场动画是:全屏显示一副图像,并以图像的中间为原点,实现放大(也就是zoomin)的动画,让等待的过程不再单调乏味. 最近不是很忙,因此想了下如何实现这种效果,方案是:采用调整imagev ...
- Android属性动画
这几天看郭神的博客 Android属性动画完全解析(上),初识属性动画的基本用法之后,我自己突然想实现一种动画功能,就是我们在携程网.阿里旅行等等手机APP端买火车票的时候,看到有选择城市,那么就有出 ...
- android 自定义动画
android自定义动画注意是继承Animation,重写里面的initialize和applyTransformation,在initialize方法做一些初始化的工作,在applyTransfor ...
- 【转】android 属性动画之 ObjectAnimator
原文网址:http://blog.csdn.net/feiduclear_up/article/details/39255083 前面一篇博客讲解了 android 简单动画之 animtion,这里 ...
- Android属性动画之ValueAnimation
ValueAnimation是ObjectAnimation类的父类,经过前几天的介绍,相信大家对ObjectAnimation有了 一定的认识,今天就为大家最后介绍一下ValueAnimation, ...
- Android属性动画之ObjectAnimator
相信对于Android初学者,对于Android中的动画效果一定很感兴趣,今天为大家总结一下刚刚学到的属性动画案例. 首先和一般的Android应用一样,我们先建一个工程,为了方便,我们的布局文件中就 ...
- 79.Android之动画基础
转载:http://a.codekk.com/detail/Android/lightSky/%E5%85%AC%E5%85%B1%E6%8A%80%E6%9C%AF%E7%82%B9%E4%B9%8 ...
- Android属性动画完全解析(下)
转载:http://blog.csdn.net/guolin_blog/article/details/44171115 大家好,欢迎继续回到Android属性动画完全解析.在上一篇文章当中我们学习了 ...
随机推荐
- Visual Studio自动添加头部注释 -C#开发2010-2013验证
在团队开发中,头部注释是必不可少的.但在开发每次新建一个类都要复制一个注释模块也很不爽,所以得想个办法让开发工具自动生成我们所需要的模板.....操作方法如下: 找你的vs安装目录, 比如我的是在D盘 ...
- tp框架表单验证 及ajax
之前的表单验证都是用js写的,这里也可以使用tp框架的验证.但是两者比较而言还是js验证比较好,因为tp框架验证会运行后台代码,这样运行速度和效率就会下降. 自动验证是ThinkPHP模型层提供的一种 ...
- css动画属性--小球移动
主体只有一个div <body> <div></div> </body> 样式部分(测试:目前的浏览器还是需要加前缀才能兼容) <style> ...
- DDD理论学习系列(11)-- 工厂
DDD理论学习系列--案例及目录 1.引言 在针对大型的复杂领域进行建模时,聚合.实体和值对象之间的依赖关系可能会变得十分复杂.在某个对象中为了确保其依赖对象的有效实例被创建,需要深入了解对象实例化逻 ...
- 玩玩微信公众号Java版之二:接收、处理及返回微信消息
前面已经配置了微信服务器,那么先开始最简单的接收微信消息吧~ 可以用我们的微信号来直接进行测试,下面先看测试效果图: 这是最基本的文本消息的接收.处理及返回,来看看是怎么实现的吧! 首先可 ...
- hdu_1506:Largest Rectangle in a Histogram 【单调栈】
题目链接 对栈的一种灵活运用吧算是,希望我的注释写的足够清晰.. #include<bits/stdc++.h> using namespace std; typedef long lon ...
- nyoj_323:Drainage Ditches(网络流入门)
题目链接 网络流入门@_@,此处本人用的刘汝佳的Dinic模板 #include<bits/stdc++.h> using namespace std; const int INF = 0 ...
- MyBatis 详解(一对一,一对多,多对多)
1.什么是MyBatis? MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且 ...
- 关于前端的photoshop初探的学习笔记
写在前边 这还是高三的时候暑假的时候学习这个软件时记的笔记呢,今天又在电脑上找到了它,总觉得不应该让他尘封在我的硬盘上,于是挂了出来.温馨提示:比较乱,写给自己看的,看不下去,按ctrl+W 笔记内容 ...
- pwnable.kr bof之write up
这一题与前两题不同,用到了静态调试工具ida 首先题中给出了源码: #include <stdio.h> #include <string.h> #include <st ...