欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android应用中制作选中后图标变大浮动效果的代码分享

程序员文章站 2024-02-22 14:24:52
 最近在玩3g体育门户客户端的时候,看到这样个效果: 轻触赛事图标,会有一个图标变大浮出的效果.,蛮有意思的.于是就把仿照它做了一个.   这个是原图...

 最近在玩3g体育门户客户端的时候,看到这样个效果: 轻触赛事图标,会有一个图标变大浮出的效果.,蛮有意思的.于是就把仿照它做了一个.
  这个是原图:              

Android应用中制作选中后图标变大浮动效果的代码分享

实际上是给图标的触摸事件中添加了一个缩放的动画,代码如下.

package com.test; 
 
import android.app.activity; 
import android.os.bundle; 
import android.view.motionevent; 
import android.view.view; 
import android.view.view.ontouchlistener; 
import android.view.animation.animation; 
import android.view.animation.scaleanimation; 
import android.widget.button; 
 
public class animationbuttonactivity extends activity { 
  @override 
  public void oncreate(bundle savedinstancestate) { 
    super.oncreate(savedinstancestate); 
    setcontentview(r.layout.main); 
    final button test = (button) findviewbyid(r.id.test_bt); 
     
     
//    float f1 = 1.0f; 
//    float f2 = 1.3f; 
//    int j = 1; 
//    float f3 = 0.5f; 
     
    //参数说明: 
    //float fromx 动画起始时 x坐标上的伸缩尺寸 
    //float tox 动画结束时 x坐标上的伸缩尺寸  
    //float fromy 动画起始时y坐标上的伸缩尺寸  
    //float toy 动画结束时y坐标上的伸缩尺寸  
    //int pivotxtype 动画在x轴相对于物件位置类型  
    //float pivotxvalue 动画相对于物件的x坐标的开始位置  
    //int pivotytype 动画在y轴相对于物件位置类型  
    //float pivotyvalue 动画相对于物件的y坐标的开始位置 
 
    final animation logoanimation = new scaleanimation(1.0f, 1.3f, 1.0f, 1.3f, 1, 0.5f, 1, 0.5f); 
    //设置动画间隔 
    logoanimation.setduration(100l); 
     
    test.setontouchlistener(new ontouchlistener() { 
       
      @override 
      public boolean ontouch(view v, motionevent event) { 
                //开始动画  
                test.startanimation(logoanimation); 
        return false; 
      } 
    }); 
  } 
}