2015-10-18 109 views
2

此代碼添加了一個紅色邊框到的LinearLayout:添加左側邊框顏色編程

ShapeDrawable sd = new ShapeDrawable(); 
sd.setShape(new RectShape()); 
sd.getPaint().setColor(Color.RED); 
sd.getPaint().setStrokeWidth(1f); 
sd.getPaint().setStyle(Style.STROKE); 

linearLayout.setBackground(sd); 

我需要一個紅色的行添加到佈局的左側。我怎樣才能以編程方式執行而不使用任何XML?

回答

5

這裏有一個解決方案:

 GradientDrawable border = new GradientDrawable(); 
     border.setStroke(1, color); 
     border.setGradientType(GradientDrawable.RECTANGLE); 

     Drawable[] layers = {border}; 

     LayerDrawable layerDrawable = new LayerDrawable(layers); 

     layerDrawable.setLayerInset(0, 1, -2, -2, -2); 

     linearLayout.setBackground(layerDrawable); 
+0

什麼做的伎倆是setLayerInset方法。 –