呼,忙了两天了这个,找了各种资料,勉勉强强实现我的功能,这个还得改进一下,线程方面的知识没有学到多少,弄了线程画UI有着各种bug,无奈。。就这样跳过先了,哪一天有时间在回来搞一下。

正文————

  

要实现开头动画,有两种方法,一种是用xml文件定义,第二种则是用java实现。

xml动画中,有着四种基本的动画,如下图片说明

可以使用这四种组合出更加高级的xml动画

具体请点击这个:XML做动画UI

使用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:

  1. first是一个ImageView
  2. 这个方法放在线程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 开场动画的更多相关文章

  1. [原创]实现android知乎、一览等的开场动画图片放大效果

    代码下载地址: https://github.com/Carbs0126/AutoZoomInImageView 知乎等app的开场动画为:一张图片被显示到屏幕的正中央,并充满整个屏幕,过一小段时间后 ...

  2. 实现仿知乎的开场动画,图片zoomin的效果,实现原理,没加动效

    知乎等应用的开场动画是:全屏显示一副图像,并以图像的中间为原点,实现放大(也就是zoomin)的动画,让等待的过程不再单调乏味. 最近不是很忙,因此想了下如何实现这种效果,方案是:采用调整imagev ...

  3. Android属性动画

    这几天看郭神的博客 Android属性动画完全解析(上),初识属性动画的基本用法之后,我自己突然想实现一种动画功能,就是我们在携程网.阿里旅行等等手机APP端买火车票的时候,看到有选择城市,那么就有出 ...

  4. android 自定义动画

    android自定义动画注意是继承Animation,重写里面的initialize和applyTransformation,在initialize方法做一些初始化的工作,在applyTransfor ...

  5. 【转】android 属性动画之 ObjectAnimator

    原文网址:http://blog.csdn.net/feiduclear_up/article/details/39255083 前面一篇博客讲解了 android 简单动画之 animtion,这里 ...

  6. Android属性动画之ValueAnimation

    ValueAnimation是ObjectAnimation类的父类,经过前几天的介绍,相信大家对ObjectAnimation有了 一定的认识,今天就为大家最后介绍一下ValueAnimation, ...

  7. Android属性动画之ObjectAnimator

    相信对于Android初学者,对于Android中的动画效果一定很感兴趣,今天为大家总结一下刚刚学到的属性动画案例. 首先和一般的Android应用一样,我们先建一个工程,为了方便,我们的布局文件中就 ...

  8. 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 ...

  9. Android属性动画完全解析(下)

    转载:http://blog.csdn.net/guolin_blog/article/details/44171115 大家好,欢迎继续回到Android属性动画完全解析.在上一篇文章当中我们学习了 ...

随机推荐

  1. Spark源码阅读之存储体系--存储体系概述与shuffle服务

    一.概述 根据<深入理解Spark:核心思想与源码分析>一书,结合最新的spark源代码master分支进行源码阅读,对新版本的代码加上自己的一些理解,如有错误,希望指出. 1.块管理器B ...

  2. ASP.NET CORE小试牛刀:干货(完整源码)

    扯淡 .NET Core 的推出让开发者欣喜万分,从封闭到拥抱开源十分振奋人心.对跨平台的支持,也让咱.NET开发者体验了一把 Write once,run any where 的感觉!近期离职后,时 ...

  3. ActiveMQ结合WebScoket应用例子以及介绍

    一.ActiveMQ的介绍? 1.JMS基础概念 JMS(java Message Service) 即使java消息服务,它提供标准的产生.发送.接收的接口简化企业应用开发,它支持两种消息通信模型: ...

  4. python基础(7):字符编码

    今天我们进入字符编码的学习.字符编码是一个多理论少结论的知识点,我会总结很多的知识点.我们只需要通读当作了解即可,最后我会总结需要我们理解掌握的重点. 一.学习字符编码的计算机基础储备 1.计算机软件 ...

  5. Java条件查询涉及到时分秒

    关于Oralce数据库 的日期时间查询: 下面我们先来看一组日期数据 表:myDate 列:time; 1998-8-7 23:45:33.3 1998-8-7 11:22:21.5 1998-8-7 ...

  6. JMeter 监控和记录&常用功能

    使用https连接时,如果对应站点的CA 证书错误,会直接报连接不到服务器的错误,org.apache.commons.httpclient.NoHttpResponseException,把错误证书 ...

  7. MyBatis 框架的搭建和配置

    MyBatis是支持定制化SQL.存储过程以及高级映射的优秀持久层框架.MyBatis 避免了几乎所有的JDBC代码和手动设置参数以及获取结果集.MyBatis可以对配置和原生Map使用简单的xml或 ...

  8. 【D3】D3词汇表

    按字母顺序 axis:数轴或坐标轴表示两个维度上数据尺度的直线 bar chart:条形图 (参见Excel)以矩形宽度反映数值大小的图表形式 bar:条形以宽度反映数值大小的矩形(rect) bin ...

  9. if else 和switch case以及continue,break的区别

    1,if 经常用于做区间判断 或者 固定值: break和continue的使用        break:用来结束循环结构或者switch case        continue:结束此次循环进入 ...

  10. css实现接地气的checkbox框

    1.前言 我做的项目中,很少默认用原生的样式,甚至连下拉框都很少用select框,不过,原生也有原生的好处,来得快,没有什么大问题.如果是自己用html+css去拼接的话,样式会好看一点.不过应人而异 ...