我有這個xml;代碼中繪製的圓角半徑和物品
<?xml version="1.0" encoding="UTF-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/back" />
<item>
<shape>
<solid/>
<stroke android:width="1dip" android:color="#25786" />
<corners android:radius="10dip"/>
<padding android:left="0dip" android:top="0dip"
android:right="0dip" android:bottom="0dip" />
</shape>
</item>
</layer-list>
現在我通過代碼來這樣做:
Drawable[] layers = new Drawable[2];
ShapeDrawable sd1 = new ShapeDrawable(new RectShape());
sd1.getPaint().setColor(0xFFFFFFFF);
sd1.getPaint().setStyle(Style.STROKE);
sd1.getPaint().setStrokeWidth(1);
layers[0] = sd1;
LayerDrawable composite = new LayerDrawable(layers);
,但我不能爲<corners android:radius="10dip"/>
代碼,並<item android:drawable="@drawable/back" />
怎麼辦呢?
編輯1
Drawable[] layers = new Drawable[2];
ShapeDrawable sd1 = new ShapeDrawable(new RectShape());
sd1.getPaint().setColor(0xFFFFFFFF);
sd1.getPaint().setStyle(Style.STROKE);
sd1.getPaint().setStrokeWidth(1);
sd1.getPaint().setPathEffect(new CornerPathEffect(10));
layers[1] = sd1;
layers[0] = getResources().getDrawable(R.drawable.pie_chart_back);
LayerDrawable composite = new LayerDrawable(layers);
要設置從代碼見(梯度可繪)角:http://stackoverflow.com/questions/8709595/how-to-set-corner-radiuses-for-the-button-in-java-code – samosaris 2013-11-13 21:07:54