呼,忙了两天了这个,找了各种资料,勉勉强强实现我的功能,这个还得改进一下,线程方面的知识没有学到多少,弄了线程画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. python基础(2):python的变量和常量

    今天看看python的变量和常量:python3 C:\test.py 首先先说一下解释器执行Python的过程: 1. 启动python解释器(内存中) 2. 将C:\test.py内容从硬盘读入内 ...

  2. SQL Server 2008R2的安装

    一.安装前的准备工作:SQL Server 200R2安装包 二.SQL Server2008R2的安装 1.打开SQL Server2008R2的安装包,找到setup.exe 2.双击sql se ...

  3. HDU 5547 Sudoku(DFS)

    题目网址:http://acm.hdu.edu.cn/showproblem.php?pid=5547 题目: Sudoku Time Limit: 3000/1000 MS (Java/Others ...

  4. Nginx 502 Bad Gateway

    今天安装完php环境以后,出现这个问题,排查步骤如下: ps -ef|grep php-fpm 发现没有安装php-fpm 然后直接安装php-fpm yum -y install php-fpm 安 ...

  5. 怎么在linux Ubuntu上部署nodejs

    今天特别开心,同时也有兴趣把最近的一些工作总结一下. 第一,方便记忆. 第二, 给需要的同学做参考 node.js 在本地的话,比较容易运行,node app.js 命令就搞定,但是当需要部署到生产环 ...

  6. (转)Java compiler level does not match解决方法

    背景:工作中导入以前的项目,导出报Java compiler level does not match the versionof the installed Java project facet. ...

  7. LFCP

    场景:总结LFCP项目开发中遇到的问题! 1 运营支撑 项目结构: 1.1 hessian配置 服务端实现: 客户端调用: 1.2 问题排查 之前一段时间,运营支撑项目能够正常运行,中间有其它事情要做 ...

  8. 初学安卓开发随笔之 Menu、toast 用法、活动的四种启动模式 以及 一个方便的Base活动类使用方法

    Toast toast 是安卓系统的一种非常棒的提醒方式 首先定义一个弹出Toast的触发点,比如可以是按钮之类 其中 Toast.LENGTH_SHORT是指显示时长 还有一个内置变量为Toast. ...

  9. ETL作业调度工具TASKCTL软件安装乱码问题解决

    前两天在安装批量作业调度软件TASKCTL4.5时,将安装介质解压出来后执行安装脚本时,一安装就出现下图乱码. 然后就度娘了一下,发现安装遇到乱码的人还挺多的,大多数解答都说TASKCTL软件里面很多 ...

  10. python函数(5):迭代器和生成器

    迭代器和生成器是函数中的一大重点,务必掌握,何为迭代?何为迭代器? 预习: 处理文件,用户指定要查找的文件和内容,将文件中包含要查找内容的每一行都输出到屏幕 一.迭代器 for i in 50: pr ...