如何在ViewGroup中使用addView?

时间:2011-08-05 05:33:03

标签: android view

我想使用ViewGroup类并向其中添加视图。那我们怎么能做到这一点?

像这样的东西::

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  
    }  


 }  

主要活动:

 @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  
    }  

第二视图::

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

请指导我在正确的位置编写addView

感谢
斯纳

1 个答案:

答案 0 :(得分:0)

你的意思是ViewGroup.addView(View, LayoutParams)吗?

以下是关于如何使用ViewGroup的简短guide,也许就是您正在寻找的内容。