Autore Topic: disegnare tramite onDraw da una classe esterna  (Letto 358 volte)

Offline rudj

  • Nuovo arrivato
  • *
  • Post: 18
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung s3 mini
  • Sistema operativo:
    mac os 10.75
disegnare tramite onDraw da una classe esterna
« il: 23 Luglio 2013, 19:14:56 CEST »
0
Ho activity che apre un frameLayout, ci ho aperto sopra una view trasparente dove poterci disegnare linee rette. Quindi avrei bisogno di usare il metodo drawHor() creato in questa view all'interno però dell'activity sottostante, come posso fare dato che per diversi problemi non riesco nè a passare il canvas nè a istanziare la view all'interno dell'activity?
PS: come potete vedere ho provato con getCanvas(), ma non ha funzionato  :-( ;

Codice (Java): [Seleziona]
public class WinLine extends View {
    Paint green;
    Paint blue;
    Canvas canvasWinLine=new Canvas();
    public void constructor(){
        green=new Paint();
        blue=new Paint();
        blue.setColor(Color.BLUE);
        green.setColor(Color.GREEN);
        green.setStrokeWidth(10);
        blue.setStrokeWidth(10);
    }


    public WinLine(Context context, AttributeSet attrs) {
        super(context, attrs);
        constructor();
    }
    public WinLine(Context context) {
        super(context);
        constructor();
    }
    public Canvas getCanvas(){
        return canvasWinLine;
    }

    @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);
        canvasWinLine=canvas;
    }

    public void drawHor(Canvas canvas) {
        canvas.drawLine(100,100,200,200,blue);
    }
}
metodi alternativi?

Offline rudj

  • Nuovo arrivato
  • *
  • Post: 18
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung s3 mini
  • Sistema operativo:
    mac os 10.75
Re:disegnare tramite onDraw da una classe esterna
« Risposta #1 il: 24 Luglio 2013, 14:25:32 CEST »
0
Leggendo in giro ho letto del surfaceView, farebbe al caso mio però scrivono che sarebbe consigliato x giochi più complessi quindi non so se è la soluzione migliore