2010-03-27 45 views
7

khi tôi chạm vào bất cứ nơi nào trên màn hình điểm sẽ sáng (không có gì ngoài đèn flash hoặc lấp lánh) trong một thời gian. làm thế nào để làm điều đó? bất kỳ ví dụ hoặc ý tưởng ?? tôi phải thực hiện để đặt các nút trên đó. chính xác khi tôi chạm vào màn hình nó sẽ phát sáng một thời gian và sau đó nút sẽ xuất hiện trên điểm mà tôi chạm vào.phát sáng khi chạm vào màn hình trong android?

Trả lời

11

Bạn sẽ phải tạo chế độ xem tùy chỉnh và ghi đè ontouchevent và vẽ. Đây là một ví dụ rất đơn giản. bạn có thể tham chiếu chế độ xem tùy chỉnh trong bố cục xml nếu bạn sử dụng tên gói tức là com.test.CustomView.

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

Nếu tôi có một ViewPager bên dưới nó, cần onTouchEvent thì sao? – Machado

Các vấn đề liên quan