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

正文————

  

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

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

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

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

使用xml动画的方法过程:

第一步,首先要在res新建一个anim的文件夹,之后,在里面写xml动画文件,如图

aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAATYAAAC1CAIAAABajUQ8AAAM4ElEQVR4nO2dzW8U5x2A99/ooVIPkRoJBBIHDj5U8B9EET7Hl/iUQ2WhilPiIlk1gip7iCg5hK/iqE2yLQRYU2I+CsEEUrVug2FrA/7iS2BYo0jradz07WHs3Xfeed/Z2R3v7ru/fR6NQLM7H4s0j96Z2Z2HnGoN7x7cUvcVAKhLrnWbNpwMZ6+P7KxOrds1gBjSKhoEQd1X4rx7cEs4qQ1Fg5VvwmliZEfCisXBXK4vX8z35XK5XF9+Nnx1NpzPRV7cWDxksJjyHwTQHdRXtFKpDAwM7Nq1a2BgoPpiuVwOX6lUKta1Jj6wGxg8Ox1OR9/5WcJO153ThQut1WVdn4u8Uczr6gJ0PalG0XK5HFpaLperswMDA+Gsi+e3ji2M9T+/dUwpVRjanjDF1y0OGoLO5vuiI+Rsvi8Uczbfx+AJckl7olvVcm5uTtc1gYWxfvXf7xbG+pVSwfwR6/RsatSpqH4qq5/iagwWtff6GD9BIA3cLgpPbnfv3m2c9Fp5fvVQUBp+681cUBp+fvW3SqmgNGpMLj+VQ9GkobLqMKKCLBq7o1sul4eHh+uOn0qphbH+qqLrA+nUsD4l+KniisZfcK7GSS+IoiVfuiyc3ffy6kBQGv7XJ78ISsMvrwwsnt0XTNWmZD+VzchwmKzpN5vvC2dm84PVBdOJDNBFtEbRsf4fH+5/eW3vW2/mXl7b++OD/Qtj/UcHf65PyVuwuha5INXerX3lgp8gjpYoOjmy7X9Lh1dK+fMfvb1SyqvFw5Mj21qxIwDxtETRxzePT45s06fHN4+3YkcA4mnhDwABIDsoCuA1KArgNSgK4DUoCuA1KArgNSgK4DUoCuA1KArgNSjKb+/BazxV9PrBndWpxbvSGysA3uGjooX33kiYBegpvFP0+sjO4NmR4NmRlVL+2dTo/NV9pdO/1NOe1D2hp2i5oo3WPSdGdlRDntYpue4Zfaq0+gT4elhFe6/2cLh+LVocjC5WC5jRAIXO0EJFm657VkOe1im57qk1GPSLzNlokTcSUDEVNVeqLkl2BTpAa0fRJuqe5z7YEcwfr06N1j0jhGOiUvF7QnquzFTU7DnYx1uA9tDyE91G656FoS1BKR9OhaHtjdY9VaSTkosoqg2ASYpqixlOVtu9AG2jHbeLGqp7jr33RpjwLAxtj3c969U9Qz31U1gUhe6mTXd009c9j77z02BqX2FouxH1TFX3jCqleYii0K1496XLh2//pDC0XS96NlD31K8d12/2oCh0N94pqpQycp4N1T0j35dwogvdj4+KAkAVFAXwGhQF8BoUBfAaFAXwGhQF8BoUBfAaFAXwGhQF8BpRik5P/v4flw/Hp6cPb3f6owE0iShFb1868mRh+vXrV/pUnio8PL9/9u+nO/3pAJpBlKLffPXx86dzqz+sRabSX16d2btUfH/hzldNbDP9Y9zG73vbD0+ci0SUojcufPL06XzlP2uR6cH17yd+vXL2Vwvn3i/980qj20RR6CyiFJ0YP/r48cL3wVpkejoTTo/vTd669kWj20RR6CyiFL149uT8o8XXqz+srK7tObRVn1ZW1+YeL3595U+NbhNFobOIUvTLL0/dX1wK/dRfDxW9v7hw9VLCTSNr3dMWH7MvGAt8Rnx1rBN929hYOJ++G4qiIhGl6GenPy3NL4Z+rqyuhZPaUHRmfvHixFnXuo66pyXhWdMgKlYk8BnObcy4Nq6j7SjyAHr6biiKikSUomOFz757sK7ok9dBOCml9hza+uR1MP1g8dzF86k2pJ2zxhSNjIGueoOKhx5sG4+/sTFIO8fGhG4oiopElKJHPyvcvr8UKjpfDsJJKbXn0Nb5cvC3B0tnxi8krG6re9ZzQHvJUM9iWmzjJkaRu7piulYLiopElKIf/+HP384szb0K4teic6+Cb2eWvihedKzqqntuiqLOjZugKMQQpehHn575urQ0sxzMLK9W7+UqpfYc2jqzvDpZWhw7N2Ff01n3rHOim5Amq23EvfEo67oZETMU7XFEKfrh2Llrd5fuvahMv6iUliv/flEpLVfuLq9Ov6jcWV79672lU2cSFLXWPW23i6rCRJVNVNS6cdfNntjtIhTtYUQpOnrq/Oc37l6+8+jynUeXpmtT+ErhxvSx01dc6zrqnpYT3aLj+5OEa9G66dDI/V8VuVeMoj2OKEV/V7hy4MT4b06Mj54cHzkZ/nlh5OSF0ZPjB06MHzhR/OOFm1m2jwPQfkQp2mpQFNoPijYAikL7QdEGQFFoPygK4DUoCuA1KArgNSgK4DUoCuA1ohQl0gnyEKUokU6QhyhFs0Y6N35K28h3n+4HV1LQkS9a+Xa3uxClaLZIZ3OHbhZFnZGUloKi3YUoRTNFOo3HNNOSaRTtCCjaXYhSNFOks8kjF0WhtYhStOlIZzQsFB6/7qymvvRg3lRUX6+eCfHHuB2Nz8i2aXn2FKIUzRLpjOVLHFnNeGnBnO+zr1hnn0a2KN5gcaxCy1M6ohTNFOlMOHJr4YP4QmZcIdbwTLLB9C1N45OWZ48hStFMkc7YkWvJalq80V7ST3HNNevu09x00jUuocBeQpSiGSKdxpHryGqmULShO0coCnURpWjzkU6VdC5oFHGjh7d+Rtnwwd+UorQ8ewtRijYf6VTuYG682akd4MbtIvOO62y+L3FUTacoLc+eRpSiWSKdtpEzntXcWLB2nWlVq/kvXaLboeUJshRtdaQToP2IUhRAHigK4DUo2gai37Cmu0wFCEFRAK9BUQCvQVEAr0FRAK9BUQCvEaUokU6QhyhFiXSCPEQp2nWRTm/hd7z+IErRbot0+guK+oMoRXsp0mk82dKCraOoH4hStJcinSjaK4hStOsinebySY981uaNRpKxE0KewhClaNdFOs1QX2QNp6LVOdcoSshTEqIU7bZIp2WXCZ2k9IoS8pSEKEW7LNJpvYytfYwsilIJlIMoRbss0omikAJRinZbpDP5RNc0uBFFCXnKQZSiXRfpNJe33Iuy3upRMYkIeYpFlKJdF+k0N2f/AmV9T7YT3+hXJ4Q8JSJKUSKdIA9RigLIA0UBvAZF2wCRTmgeFAXwGhQF8BoUBfAaFAXwGhQF8BpRihLpBHmIUpRIJ8hDlKJZI53i4Ke2AhClaLZIp0BQVACiFM0U6WyY9A2+1tb66uwYRbscUYpminQ2DIpCOxClaNORTrVxNBeNnIijoOnIZFq6ns6gZr2WJ61NCBGlaJZIp5nbVGYDIdbcNMdGZ9czPoqma3nS2gQlTNEskU7Dx3phIVXn9DXyprFk+pYnrU2QpWiWSKd5NNfJ8ymropauZ3zJhlqehPx6HlGKZol0ZlbU0fWML9lQyxNFex5RimaJdFpL1w2c6Dq7nrElGxCH1ibIUjRLpNPxX0E4C5q2rq296+kYoa0tT1qbYCJK0SyRTvvRnFTQNDKZSV1PY0llXJDaRl9amxAiSlEinSAPUYoCyANFAbwGRQG8BkUBvAZFAbwGRQG8BkUBvAZFAbxGlKJEOkEeohQl0gnyEKVoxyOdHflNLD/ElY0oRTse6URR2HREKdreSKcFFIVNR5Si7Y10WkBR2HREKZol0qk/GxqtlmjPjNobm+4oJiVOyIwoRTNEOqNVorzeJ4qImS+Gf9t7nLG2ESVOyIooRZuPdNqTX+lCYFoEwfCNEidkR5SiGSKdG+NU3QjgBtYeZ80WSpywSYhSNEukUynNK00zm1TOHqehKCVOyI4oRbNEOmtEb9lYDn53j1N7hxInbA6iFG0+0qnd/4ndwIlcAg4Wk3qcui2UOGFTEKVo1kin9esR/aJzwxlXj9MiEiVOyIYoRYl0gjxEKQogDxQF8BoUBfAaFAXwGhQF8BoUBfAaFAXwGhQF8BpRihLpBHmIUpRIJ8hDlKIdj3SmxPNf1Xr+8XoNUYp2PNKZEs8d8Pzj9RqiFM0W6TSeLWkh6Rxo3+ex7BhFvUGUotkinSiq7RhFvUGUok1HOo3SUHh8hkdqMRItsbY515//tBY0re1PS7Yhuoj185hvUP3sDUQpmiHSqeKj1rpb2kuONqeRHtKjCvb2ZzTOYO99WkZRqp89iShFm490KuVQ1H2mWVvctKVmhiMy5nQg8hGMz0P1s0cRpWiGSKeyKxo7Um1tTlNEbd7W/rTbEj9/jn4eqp+9iihFs0U66yrqanMmKFqbN0+FtVCgoylmUZTqZw8iStFskc56ijrbnPUUra2+/mptS+7eZz2nEqD6KQpRijYf6VSqnpIJbU63oo72Z1RRe+8zvn+qn72JKEWzRDqVql0U2kY4pZxtzqRR1Nr+jOd2Y9u0fB5lXJBS/ewNRClKpBPkIUpRAHmgKIDXoCiA16AogNegKIDXoCiA16AogNegKIDXoCiA1/wf/s81LFtPbUkAAAAASUVORK5CYII=" 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. Django学习(九)---Templates过滤器及Django shell和Admin增强

    一.Templates过滤器 过滤器属于django模板语言 修改模板中的变量,从而显示不同内容 {{ value | filter }} 举例:{{ list_nums | length}}    ...

  2. java定时任务的实现方式

    在本文里,我会给大家介绍2种不同的实现方法:1.普通thread实现2.ScheduledExecutorService实现 一:实现普通的thread: 首先是创建thread然后就是一直让whil ...

  3. 深入理解Java内部类

         内部类就是定义在一个类中的另外一个类,是一种从属关系.在没有实际了解内部类之前,我始终困惑,为什么要在一个类中定义另外一个类,这不是增加代码结构复杂度么?现在才大致能知道这种设计的优势是大于 ...

  4. Serv-U FTP版本控制服务器 - 目录规范

    背景 公司要组建一个版本控制服务器,选定了serv-u,初始目的是应用于war级的一些标准组件的版本控制/测试交付/统一对外发布渠道. 项目过程图: 如果不使用版本控制会出现什么问题? War标准组件 ...

  5. WEB安全:文件上传漏洞

    文件上传漏洞过程 用户上传了一个可执行的脚本文件,并通过此脚本文件获得了执行服务器端命令的能力. 一般的情况有: 上传文件WEB脚本语言,服务器的WEB容器解释并执行了用户上传的脚本,导致代码执行: ...

  6. Hadoop - 国内各站点最高温度、气压和风速统计

    版权说明:  本文章版权归本人及博客园共同所有,转载请标明原文出处(http://www.cnblogs.com/mikevictor07/),以下内容为个人理解,仅供参考. 一.简介 该实例统计国内 ...

  7. elk 5.x的部署

    前言 elk是由elasticsearch.logstash.kibana三者组成 其中elasticsearch主要负责数据存储与搜索 logstash主要负责收集日志信息以及对日志信息的切片索引等 ...

  8. 【RegExp】JavaScript中正则表达式判断匹配规则以及常用方法

    字符串是编程时涉及到的最多的一种数据结构,对字符串进行操作的需求几乎无处不在. 正则表达式是一种用来匹配字符串的强有力的武器.它的设计思想是用一种描述性的语言来给字符串定义一个规则,凡是符合规则的字符 ...

  9. 统一代码风格工具——editorConfig

    前面的话 在团队开发中,统一的代码格式是必要的.但是不同开发人员的代码风格不同,代码编辑工具的默认格式也不相同,这样就造成代码的differ.而editorConfig可以帮助开发人员在不同的编辑器和 ...

  10. MongoDB备份和恢复

    mongodump备份数据 该命令可以导出所有数据到指定目录中, 也能通过参数指定备份服务器 mongodump -h dbhost -d dbname -o dbdirectory dbhost: ...