Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android

Respuesta
 
Herramientas
  #1  
Viejo 21/12/13, 12:50:07
Array

[xs_avatar]
vfr92 vfr92 no está en línea
Usuario novato en la web
 
Fecha de registro: dic 2013
Mensajes: 1
Tu operador: Movistar

Dibujar sobre una imagen

Hola, soy nuevo en esto de Android y me gustaría que me ayudarais.
Quiero montarme una aplicación de un calendario. Una serie de imagenes, una de cada mes y sobre ella poder dibujar linias, circulos etc etc
Hasta ahí bien. Lo que hago es crear un MySurfaceView que extiende a SurfaceView. Por otro lado, le cambio el background y le pongo un drawable y al pintar los círculos no hace nada. Si por el contrario, no cambio el background si que dibuja los círculos allá donde pulses.
¿Alguna idea de lo que puede estar pasando?
Aquí pongo el código
Gracias de antemano

public class MySurfaceView extends SurfaceView implements SurfaceHolder.Callback {

private MySurfaceThread thread;

volatile private List<Circle> circlesList;

public boolean touched;

@SuppressLint("NewApi")
public MySurfaceView(Context context) {
super(context);
getHolder().addCallback(this);
circlesList = new LinkedList<Circle>();
circlesList = Collections.synchronizedList(circlesList);
// this.setBackground(getResources().getDrawable(R.dr awable.enero2014));
}

@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
// TODO Auto-generated method stub

}

@Override
public void surfaceCreated(SurfaceHolder holder) {
this.thread = new MySurfaceThread(getHolder(), this);
this.thread.setRunning(true);
this.thread.start();
}

@Override
public void surfaceDestroyed(SurfaceHolder holder) {
boolean retry = true;

thread.setRunning(false);

while(retry) {
try {
this.thread.join();
retry = false;
} catch (InterruptedException e) {

}
}
}

@SuppressLint("NewApi")
@Override
public void onDraw(Canvas canvas) {

for(int i = 0; i < circlesList.size(); i++){
canvas.drawCircle(circlesList.get(i).getPosX(), circlesList.get(i).getPosY(), 10, circlesList.get(i));
}

}

@Override
public boolean onTouchEvent(MotionEvent event) {
int touchedX = (int) event.getX();
int touchedY = (int) event.getY();
Circle pcirculo = new Circle(touchedX, touchedY, Color.RED);
pcirculo.setStyle(Paint.Style.FILL);
circlesList.add(pcirculo);

return true;
}
}
Responder Con Cita


Respuesta

Estás aquí
Regresar   Portal | Indice > Todo sobre Android > Programación y Desarrollo para Android



Hora actual: 00:21:18 (GMT +2)



User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.

Contactar por correo / Contact by mail / 邮件联系 /