Pergunta

Quando eu tocar onde quer que seja na tela, esse ponto será brilho (nada além de um flash ou brilho) por algum tempo. Como fazer isso? Algum exemplo ou ideia ?? Eu tenho que implementar para colocar botões nele. Exatamente quando eu toque na tela, ela brilha algum tempo e o botão aparecerá no ponto em que eu toquei.

Foi útil?

Solução

Você terá que criar uma visualização personalizada e substituir o OTOCHEVENT e desenhar. Aqui está um exemplo muito simples. Você pode fazer referência a uma visualização personalizada em um layout XML se usar o nome do pacote, ie 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;
    }
}   
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top