2010-07-26 7 views
7

Je suis nouveau venu à Android mais pas à Java. J'ai conçu UI dans android à travers le fichier XML, dans cette page j'ai 3 Layouts linéaires, dans ma mise en page supérieure (premier LinearLayout) j'ai gardé une certaine image et dans la dernière mise en page j'ai gardé quelques boutons, maintenant je dois placer un cercle (de couleur rouge) dans ma mise en page centrale en utilisant toile, j'ai écrit une classe séparée qui étend View où dans onDraw (Canvas toile), j'ai dessiné un cercle. Maintenant, j'aiComment ajouter Canvas dans un LinearLayout spécifique?

 
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); 
    } 

} 

de porter cette toile à la deuxième mise en page, mon main.xml est illustré ci-dessous

 
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); 
      ................................... 
      ................................ 



    } 
} 

Répondre

7

Voici ce que je l'ai fait pour inclure votre point de vue.

Commencez par l'ajout d'une nouvelle mise en page à votre fichier xml, alors vous pouvez récupérer, et ensuite, vous pouvez y ajouter comme ceci:

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); 

Dans cet exemple mControls est une disposition qui est ajouté à la disposition de l'activité principale.

+0

salut, s'il vous plaît, comment voulez-vous le mettre au centre de mControls? – user3290180

Questions connexes