2010-03-27 18 views
7

Ekranda herhangi bir yere dokunduğumda bu nokta bir süre için parlamaya (parlama veya parlamadan başka bir şey değil) yanacaktır. bu nasıl yapılır? herhangi bir örnek veya fikir? Üzerine düğmeleri koymak için uygulamak zorundayım. Tam olarak ekrana dokunduğumda bir süre parlayacak ve ardından dokunduğum noktada düğme görünecektir.kızdırma?

cevap

11

Özel bir görünüm oluşturmanız ve komut satırını geçersiz kılmanız ve çizmeniz gerekecektir. İşte çok basit bir örnek. paket adını kullanırsanız, özel bir görünümü xml düzeninde referanslayabilirsiniz: 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

Altında bir ViewPager'ım varsa, hangi onTouchEvent ürününü gerektirir? – Machado