Android tela di riempimento colore di sfondo (Tela applicazione)

Avendo i seguenti codici, ho alcune domande.

public class MainActivity extends Activity {

   @Override
   public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView( new View(this) {
         Paint mPaint = new Paint();

         @Override
         protected void onDraw(Canvas canvas) {
            //TODO Auto-generated method stub
            super.onDraw(canvas);


            int width = this.getWidth();
            int height = this.getHeight();
            int radius = width > height ? height/2 : width/2;
            int center_x = width/2;
            int center_y = height/2;

            //prepare a paint
            mPaint.setStyle(Paint.Style.STROKE);
            mPaint.setStrokeWidth(5);
            mPaint.setAntiAlias(true);

            //draw a rectangle
            mPaint.setColor(Color.BLUE);
                mPaint.setStyle(Paint.Style.FILL); //fill the background with blue color
            canvas.drawRect(center_x - radius, center_y - radius, center_x + radius, center_y + radius, mPaint);
            //draw some text and rotation
            mPaint.setTextSize(50);
            mPaint.setTextAlign(Paint.Align.CENTER);
            mPaint.setColor(Color.BLACK);
            canvas.drawText( "Hello World" , center_x , center_y, mPaint);
         }
      });
    }
}

Android tela di riempimento colore di sfondo (Tela applicazione)

Q1: Come posso riempire di colore blu in cornice? (Le parole appaiono ancora)

Q2: Come molti punti di vista e le superfici di questa app? Come posso calcolare queste app?

Q3: Come tante finestre di questa app?

Q4: Nel codice, non vedo alcun oggetto bitmap in esso.
Tuttavia, ho pensato che bitmap è l’oggetto che può davvero disegnare le cose su di esso. È il mio
la comprensione non corretta?
Una possibilità è che la Tela costruttore inizializza bitmap quando è novata.

Q5: ho saputo che questi grafici cosa sarà finalmente andare in superficie e poi passare a
surfaceflinger per la composizione finale. Dove si individua nel mio codice?

Grazie per qualsiasi risposta.

OriginaleL’autore Sam | 2013-09-21

3 Replies
  1. 8

    Cinque domande. Andiamo a vedere dove mi può aiutare.

    Q1: Raccontare la Paint per riempire il rettangolo: paint.setStyle(Paint.Style.FILL);

    Q2: io vedo solo una visualizzazione che si crea a livello di programmazione. Perché vuoi contare i punti di vista?

    Q3: Di Nuovo: Uno

    Q4: Si disegna una mutevole bitmap avvolgendoli con una Canvas. Il metodo di disegnare fanno parte di Canvas

    Q5: Il codice che vedi è parte di un’Attività. L’Attività viene chiamata da parte di Android. È il vostro punto di ingresso nell’App.

    Q1: Dopo l’aggiunta di vernice.il metodo setStyle(Pittura.Stile.Di RIEMPIMENTO); subito dopo la vernice per disegnare il rettangolo, l’effetto rimane lo stesso. Devo fare qualcos’altro per farlo funzionare (i codici sono stati cambiati) Q2: ho pensato che (1)sfondo bianco è a vista e la tela blu è un altro punto di vista. Io conto di questo, perché voglio essere più chiaro: alcuni termini in Android. (superficie, vernice, bitmap, vista, finestra….) Q3: Sarà possibile creare più di finestra in un’app? Se è così, puoi farmi un esempio semplice? Si fa attività significa che è possibile creare solo una finestra in esso?
    Q4: Grazie. questo è più pulita ora. Q5: Così Android fa queste cose per la mia attività creata.
    Grazie per l’ottima risposta.
    Q1: ho appena capito come implementare questo. Grazie.

    OriginaleL’autore jboi

  2. 2

    Grazie per la risposta. Ho fatto il lavoro di fare il codice per la marcata risposta, e funziona.

        Bitmap bg = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
        Canvas canvas = new Canvas(bg);
        //paint background with the trick
        Paint rect_paint = new Paint();
        rect_paint.setStyle(Paint.Style.FILL);
        rect_paint.setColor(Color.rgb(0, 0, 0));
        rect_paint.setAlpha(0x80); //optional
        canvas.drawRect(0, 0, width, height, rect_paint); //that's painting the whole canvas in the chosen color.

    OriginaleL’autore Puffy

  3. 0

    Q2:Gerarchia Viewer è molto utile quando si desidera contare quante visualizzazioni nella tua app.
    Ottimizzare l’interfaccia utente

    Grazie. Sapete come si fanno a contare quante windows in un’app? Sarà possibile creare più finestre in una app?
    Perché vuoi creare più finestre? Stai facendo un app per tablet?
    William, il mio intento è quello di capire qual è il ruolo che la finestra di gioco in vista di sistema. Dire che abbiamo bitmap, la vernice, la superficie, tela, vista e finestra grafica a livello di applicazione. Io sono chiara con gli altri solo la finestra e la vista mi confondono.
    Finestra significa che lo schermo del dispositivo, quindi non c’è solo una finestra in un app. Ho visto un multiplo di windows tablet basato su sistema android, ma in realtà non più di windows, ma diversi punti di vista.
    Questo è soltanto un punto di vista. Lo sfondo bianco è attività allo stile di default. La vista si è creato è trasparente per impostazione predefinita, e riempie sfondo bianco. La tela riempie la vista, non solo la gamma del blu. Hai disegnato un quadrato blu in tela e così pensi di gamma blu è la tela, non è vero? 🙂 Finalmente hai disegnato un testo sulla tela. C’è soltanto un punto di vista, e che è stata disegnata tutto sulla tela.

    OriginaleL’autore Peter Zhao

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *