Ame_Yu

Android缩放动画[ScaleAnimation]

 1 @Override
 2     protected void onCreate(Bundle savedInstanceState) {
 3         super.onCreate(savedInstanceState);
 4         setContentView(R.layout.activity_main);
 5         
 6         logo = (ImageView)findViewById(R.id.imageView1);
 7         //实例化logo控件
 8         
 9         btndl = (Button)findViewById(R.id.button1);
10         btnzc = (Button)findViewById(R.id.Button01);
11         //实例化按钮控件
12         
13         btndl.setVisibility(View.INVISIBLE);
14         btnzc.setVisibility(View.INVISIBLE);
15         //设置按钮不显示
16         
17         ScaleAnimation animation = new ScaleAnimation(0, 1, 0, 1,Animation.RELATIVE_TO_SELF, 0.5f,1, 0.5f);
18 
19         /**
20          *
21          * @param fromX 起始x轴位置,0为最小,1为原始,float形
22          * @param toX 同上
23          * @param fromY 同上T
24          * @param toY 同上
25          * @param pivotXType 用来约束pivotXValue的取值。取值有三种:Animation.ABSOLUTE,Animation.RELATIVE_TO_SELF,Animation.RELATIVE_TO_PARENT
26          * Type:Animation.ABSOLUTE:绝对,如果设置这种类型,后面pivotXValue取值就必须是像素点;比如:控件X方向上的中心点,pivotXValue的取值mIvScale.getWidth() / 2f
27          *      Animation.RELATIVE_TO_SELF:相对于控件自己,设置这种类型,后面pivotXValue取值就会去拿这个取值是乘上控件本身的宽度;比如:控件X方向上的中心点,pivotXValue的取值0.5f
28          *      Animation.RELATIVE_TO_PARENT:相对于它父容器(这个父容器是指包括这个这个做动画控件的外一层控件), 原理同上,
29          * @param pivotXValue  配合pivotXType使用,原理在上面
30          * @param pivotYType 同from/to
31          * @param pivotYValue 原理同上
32          */
33         
34         animation.setDuration(2000);
35         //设置持续时间
36         animation.setFillAfter(true);
37         //设置动画结束之后的状态是否是动画的最终状态,true,表示是保持动画结束时的最终状态
38         animation.setRepeatCount(0);
39         //设置循环次数,0为1次
40         logo.startAnimation(animation);
41         //开始动画
42         
43         myTimer = new Timer();
44         
45         /**
46          * 
47          * 建立计时器
48          * 当logo动画结束后
49          * 显示按钮
50          * 
51          */
52         
53         myTimer.schedule(new TimerTask() {
54             
55             @Override
56             public void run() {
57                 // TODO Auto-generated method stub
58                 runOnUiThread(new Runnable() {
59                     public void run() {
60                         btndl.setVisibility(View.VISIBLE);
61                         btnzc.setVisibility(View.VISIBLE);
62                     }
63                 });
64             }
65         }, 2000);
66         
67     }

 

posted on 2019-03-06 09:22  Ame_Yu  阅读(15411)  评论(0编辑  收藏  举报

导航