2010-03-27 78 views
7

当我触摸屏幕的那一点,会发光(只是闪光或闪闪发光)一段时间。怎么做?任何示例或想法?我必须实施把按钮放在上面。正是当我触摸屏幕它会发光一些时间,然后按钮将出现在我触摸的点。在Android中触摸屏幕时会发光吗?

回答

11

你将不得不创建一个自定义视图并重写ontouchevent并绘制。这是一个非常简单的例子。如果使用包名即com.test.CustomView,则可以在xml布局中引用自定义视图。

public class CustomView extends ImageView{ 
    public CustomView(Context context, AttributeSet attrs, int defStyle) { 
     super(context, attrs, defStyle); 
    } 
    public CustomView(Context context, AttributeSet attrs) { 
     super(context, attrs); 
    } 
    public CustomView(Context context) { 
     super(context); 
    } 
    boolean drawGlow = false; 
    //this is the pixel coordinates of the screen 
    float glowX = 0; 
    float glowY = 0; 
    //this is the radius of the circle we are drawing 
    float radius = 20; 
    //this is the paint object which specifies the color and alpha level 
    //of the circle we draw 
    Paint paint = new Paint(); 
    { 
     paint.setAntiAlias(true); 
     paint.setColor(Color.WHITE); 
     paint.setAlpha(50); 
    }; 

    @Override 
    public void draw(Canvas canvas){ 
     super.draw(canvas); 
     if(drawGlow) 
      canvas.drawCircle(glowX, glowY, radius, paint); 
    } 
    @Override 
    public boolean onTouchEvent(MotionEvent event){ 
     if(event.getAction() == MotionEvent.ACTION_DOWN){ 
      drawGlow = true; 
     }else if(event.getAction() == MotionEvent.ACTION_UP) 
      drawGlow = false; 

     glowX = event.getX(); 
     glowY = event.getY(); 
     this.invalidate(); 
     return true; 
    } 
} 
+0

如果我有一个ViewPager,它需要onTouchEvent? – Machado 2015-04-02 11:40:13

相关问题