JavascriptProva

venerdì 12 agosto 2016

Approccio al "button isolato"

Credo di aver trovato il codice che mi interessa per quel pulsantino isolato che sovrasta tutto...

Analizziamo il codice traducendolo in termini umani...

public class HUD extends Service {
    HUDView mView;

    @Override
    public IBinder onBind(Intent intent) {
        return null;
    }
Viene creato un semplice Service, con il relativo metodo obbligatorio da istanziare onBind... e la dichiarazione di una variabile mView di tipo HUDView. Che tipo sarà questo? Presumibilmente una classe creata ad hoc. Andiamo a cercarla?

Eccola:
class HUDView extends ViewGroup {
    private Paint mLoadPaint;

    public HUDView(Context context) {
        super(context);
        Toast.makeText(getContext(),"HUDView", Toast.LENGTH_LONG).show();

        mLoadPaint = new Paint();
        mLoadPaint.setAntiAlias(true);
        mLoadPaint.setTextSize(10);
        mLoadPaint.setARGB(255, 255, 0, 0);
    }

    @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);
        canvas.drawText("Hello World", 5, 15, mLoadPaint);
    }

    @Override
    protected void onLayout(boolean arg0, int arg1, int arg2, int arg3, int arg4) {
    }

    @Override
    public boolean onTouchEvent(MotionEvent event) {
        //return super.onTouchEvent(event);
        Toast.makeText(getContext(),"onTouchEvent", Toast.LENGTH_LONG).show();
        return true;
    }
}
Spostiamo il focus su questa.
 private Paint mLoadPaint;
 private Paint mLoadPaint;
Viene dichiarata una variabile di tipo Paint.
E dato che non ricordo bene come funziona tutto il complesso delle istruzioni coinvolgenti Paint, Canvas e onDraw è bene che vada a rivedermelo.


Tengo presente il mio riferimento.
Il focus si sposta su Paint, Canvas e onDraw.

Nessun commento:

Posta un commento