Android ShapeDrawable沒法上色

在Android中的View設置背景時,使用ShapeDrawable有可能出現沒法上色的問題(最終背景爲黑色),例如,使用以下的代碼爲控件設置顏色時,控件背景將會變成黑色canvas

ShapeDrawable drawable=new ShapeDrawable();
Canvas canvas1 = new Canvas();
Paint paint=new Paint();
paint.setColor(Color.rgb(0x20, 0xAC, 0xFF));
Shape shape=new OvalShape();
shape.draw(canvas1, paint);
drawable.setShape(shape);

正確的作法能夠參考以下代碼:spa

ShapeDrawable drawable=new ShapeDrawable(new OvalShape());
drawable.setIntrinsicHeight(25);
drawable.setIntrinsicWidth(25);
drawable.getPaint().setColor(Color.rgb(0x20, 0xAC, 0xFF));

問題的緣由多是設置完shape並繪製shape後,drawable又從新繪製了圖形,而drawable中的paint並無設置顏色,致使出現沒法上色的問題。code

相關文章
相關標籤/搜索