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

ImageView点击可变暗的实例代码(android代码技巧)

程序员文章站 2023-12-19 17:59:22
废话不多说了,直接给大家贴代码了,具体代码如下所示: import android.content.context; import android.graphi...

废话不多说了,直接给大家贴代码了,具体代码如下所示:

import android.content.context;
import android.graphics.colormatrixcolorfilter;
import android.util.attributeset;
import android.view.motionevent;
import android.view.view;
import android.widget.imageview;
public class myimageview extends imageview{
  public myimageview(context context, attributeset attrs) {
    super(context, attrs);
    // todo auto-generated constructor stub
    this.setontouchlistener(view_touch_dark);
  }
  public static final ontouchlistener view_touch_dark = new ontouchlistener() { 
    //变暗(三个-50,值越大则效果越深)
    public final float[] bt_selected_dark = new float[] { 1, 0, 0, 0, -50, 0, 1, 
        0, 0, -50, 0, 0, 1, 0, -50, 0, 0, 0, 1, 0 };
    /*
    //变亮
    public final float[] bt_selected_light = new float[] { 1, 0, 0, 0, 50, 0, 1, 
        0, 0, 50, 0, 0, 1, 0, 50, 0, 0, 0, 1, 0 };
    //恢复
    public final float[] bt_not_selected = new float[] { 1, 0, 0, 0, 0, 0, 
        1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0 }; 
     */
    @override 
    public boolean ontouch(view v, motionevent event) { 
      if (event.getaction() == motionevent.action_down) {
        imageview iv = (imageview) v; 
        iv.setcolorfilter(new colormatrixcolorfilter(bt_selected_dark));
      } else if (event.getaction() == motionevent.action_up) {
        imageview iv = (imageview) v; 
        iv.clearcolorfilter();
      } 
      return false; //如为false,执行action_down后不再往下执行
    } 
  }; 
}

以上所述是小编给大家介绍的imageview点击可变暗的实例代码(android代码技巧),希望对大家有所帮助