2015-10-13 60 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看到我的更新 –

相關問題