zoukankan      html  css  js  c++  java
  • Android 开场动画

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

    正文————

      

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

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

    这里写图片描述

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

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

    使用xml动画的方法过程:

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

    第二步,加载资源文件

    示范代码如下,改一下后面的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,这样就行了

    最后,附上参考:自定义控件三部曲

  • 相关阅读:
    查询对象模式(下)
    淘宝code
    C#中使用消息队列RabbitMQ
    MVC5模板部署到mono
    ventBroker简单实现
    http协议知识整理(转)
    创业者应该有的5个正常心态(转)
    观点:独立游戏开发者创业路上的11个‘坑’(转)
    应用程序框架实战三十四:数据传输对象(DTO)介绍及各类型实体比较(转)
    【技巧篇】解决悬浮的<header>、<footer>遮挡内容的处理技巧(转)
  • 原文地址:https://www.cnblogs.com/stars-one/p/7397869.html
Copyright © 2011-2022 走看看