2011-08-05 5 views
3

Je voulais utiliser une classe ViewGroup et y ajouter des vues. Alors, comment pouvons-nous accomplir cela?Comment utiliser addView dans ViewGroup?

Quelque chose comme ceci ::

public class DrawView extends View { 
    private static final String TAG = "DrawView"; 
    List<Point> points = new ArrayList<Point>(); 
    Paint paint = new Paint(); 
    public DrawView(Context context) { //2 

     super(context); 
     System.out.println("drawwwwwwwwwwwwwwwwwwwwwconnnnnnnnnnnnn"); 

     setFocusable(true); 
     setFocusableInTouchMode(true); 
     paint.setColor(Color.MAGENTA); 
     paint.setAntiAlias(true); 

    }   
    @Override 
    public void onDraw(Canvas canvas) { 
     System.out.println("drawwwwwwwwwwwwwwwwwwwww"); 
     for (Point point : points) { 
      canvas.drawCircle(point.x, point.y, 5, paint); 
      // Log.d(TAG, "Painting: "+point); 

     }  
    } 

ViewGrp ::

public class Group extends ViewGroup{ 
    DrawView draw; 
    SecondView sec; 
    public Group(Context context) { 
     super(context); 
     // TODO Auto-generated constructor stub 
     draw=new DrawView(getContext()); 
     sec=new SecondView(getContext()); 
     addView(draw); 
     addView(sec); 
     System.out.println("hellloooooooo"); //4 
    } 

    @Override 
    protected void onLayout(boolean changed, int l, int t, int r, int b) { 
     // TODO Auto-generated method stub 
     System.out.println("hiiiiiiiiii layoutttttttttt"); //6 
    } 


} 

Activité principale:

@Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     System.out.println("222222222222222222222"); //1 
     grp=new Group(this); 
     setContentView(grp); 
     System.out.println("1111111111111111111"); //5 
    } 

vue Deuxième ::

public class SecondView extends View { 

    private static final String TAG = "DrawView2"; 

    Paint paint = new Paint(); 
    public SecondView(Context context) { //3 
     super(context); 
     System.out.println("secccccccccccccccccccccccccccccccconnnnnnnn"); 
     setFocusable(true); 
     setFocusableInTouchMode(true); 
     paint.setColor(Color.MAGENTA); 
     paint.setAntiAlias(true); 

    }  
    @Override 
    public void onDraw(Canvas canvas) { 
     canvas.drawColor(Color.BLUE); 
     // Log.d(TAG, "Painting: "+point); 
     System.out.println("seccccccccccccccc1"); 
    }  

S'il vous plaît me guider pour écrire le addView en bonne place

Merci
Sneha

Répondre

0

vous dire simplement ce que ViewGroup.addView(View, LayoutParams)?

Voici un court guide sur comment utiliser ViewGroup s, peut-être que ce que vous cherchez.

+0

ViewGroup.addView (voir) Je n'utilise aucun LayoutParams ici ... je ne peux pas le faire? – Smitha

+0

je voulais savoir comment le contrôle se déroule ou d'où commence l'exécution dans ViewGroup comme dans son affichage de onDraw() – Smitha