2015-10-13 59 views
1

我试图添加三个视图在LinearLayout中水平对齐,但只显示一个视图;这里的第一个红色circle是下面的代码:LinearLayout addView只添加一个视图

LinearLayout.LayoutParams linearParam = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); 
     view_custom_loading = new LinearLayout(getContext()); 
     view_custom_loading.setVisibility(View.VISIBLE); 
     view_custom_loading.setLayoutParams(linearParam); 
     view_custom_loading.setBackgroundColor(getContext().getResources().getColor(R.color.semi_trans)); 
     view_custom_loading.setPadding(10, 10, 10, 10); 
     view_custom_loading.setOrientation(LinearLayout.HORIZONTAL); 

     CircleView circle = new CircleView(getContext()); 
     circle.color = Color.RED; 
     CircleView circle1 = new CircleView(getContext()); 
     circle1.color = Color.WHITE; 
     CircleView circle2 = new CircleView(getContext()); 
     circle2.color = Color.BLUE; 
     view_custom_loading.addView(circle); 
     view_custom_loading.addView(circle1); 
     view_custom_loading.addView(circle2); 
     viewList.add(circle); 
     viewList.add(circle1); 
     viewList.add(circle2); 

这是CircleViews onDraw方法:

@Override 
    protected void onDraw(Canvas canvas) { 
     super.onDraw(canvas); 
     Paint p = new Paint(); 
     p.setColor(color); 
     p.setAntiAlias(true); 
     p.setStyle(Paint.Style.FILL); 
     canvas.drawCircle(50, 50, 25, p); 
    } 
+0

什么是'CircleView'? –

+0

张贴您的xml部分 – DGN

+0

@Kevinrob我添加了onDraw方法theres在CircleView中没有其他代码 – Arlind

回答

4

也许你的第一圈有MATCH_PARENT宽度,这就是为什么它是你看到的唯一视图。更改此参数

更新

尝试

view_custom_loading.addView(circle, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT)); 
+0

Im将layoutparams设置为WRAP_CONTENT,但它们仍然是MATCH_PARENT – Arlind

+0

@Arlind看到我的更新 –

相关问题