2010-07-26 19 views
7

Soy nuevo en Android pero no en Java. He estado diseñando UI en Android a través de un archivo XML, en esa página tengo 3 diseños lineales, en mi diseño superior (primer LinearLayout) he conservado alguna imagen y en el último diseño he conservado algunos botones, ahora necesito colocar un círculo (de color rojo) en el diseño de mi centro usando lienzo, escribí una clase separada que se extiende a View donde en onDraw (Canvas canvas), dibujé un círculo.¿Cómo agregar Canvas en un LinearLayout específico?

 
package com.project.TargetTrackr3; 

import android.content.Context; 
import android.graphics.Canvas; 
import android.graphics.Color; 
import android.graphics.Paint; 
import android.view.View; 

public class DrawCanvasCircle extends View{ 
    public DrawCanvasCircle(Context mContext) { 
     super(mContext); 
    } 
    public void onDraw(Canvas canvas) { 
     Paint paint = new Paint(); 
     paint.setStyle(Paint.Style.FILL); 
     canvas.drawColor(Color.WHITE); 
     paint.setColor(Color.BLUE); 
     canvas.drawCircle(20, 20, 15, paint); 
    } 

} 

ahora tengo que llevar este lienzo para el segundo diseño, se muestra a continuación mi main.xml

 
package com.project.TargetTrackr3; 

import android.app.Activity; 
import android.content.Context; 
import android.graphics.Canvas; 
import android.graphics.ColorFilter; 
import android.graphics.drawable.Drawable; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.LinearLayout; 
public class TargetTrackr3Activity extends Activity { 
    /** Called when the activity is first created. */ 
     protected LinearLayout ll; 
     DrawCanvasCircle c; 
     public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main1); //layouting file 
     ll = (LinearLayout) findViewById(R.id.LinearLayout_DrawCircle);//This is where i have to bring the canvas 
     c = new DrawCanvasCircle(this); 
      ................................... 
      ................................ 



    } 
} 

Respuesta

7

Esto es lo que hice para incluir su punto de vista.

de inicio con la adición de un nuevo diseño para su archivo XML, entonces se puede recuperar de eso, y luego se puede añadir a ella como esto:

DrawCanvasCircle pcc = new DrawCanvasCircle (this); 
    Bitmap result = Bitmap.createBitmap(25, 25, Bitmap.Config.ARGB_8888); 
    Canvas canvas = new Canvas(result); 
    pcc.draw(canvas); 
    pcc.setLayoutParams(new LayoutParams(25, 25)); 
    mControls.addView(pcc); 

En este ejemplo mControls es un diseño que se añade a la diseño de la actividad principal.

+0

hola, por favor, ¿cómo lo pondría centrado dentro de mControls? – user3290180

Cuestiones relacionadas