2010-03-27 5 views
7

Wenn ich irgendwo auf dem Bildschirm berühre, wird dieser Punkt für einige Zeit leuchten (nichts als ein Blitz oder glitzern). wie geht das? irgendein Beispiel oder Idee? Ich muss implementieren, um Tasten darauf zu setzen. genau wenn ich den Bildschirm berühre, wird es einige Zeit leuchten und dann wird der Knopf an dem Punkt erscheinen, an dem ich mich berührte.leuchten, wenn Sie den Bildschirm in Android berühren?

Antwort

11

Sie müssen eine benutzerdefinierte Ansicht erstellen und ontouchevent überschreiben und zeichnen. Hier ist ein sehr einfaches Beispiel. Sie können auf eine benutzerdefinierte Ansicht in einem XML-Layout verweisen, wenn Sie den Paketnamen z. B. com.test.CustomView verwenden.

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

Was passiert, wenn ich einen ViewPager darunter habe, der das onTouchEvent benötigt? – Machado