我愿意用半圆声明一个xml drawable。所以椭圆形的中心超出界限:
我尝试使用刻度标记,但我无法让它工作,这就是我所做的。
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<scale android:scaleGravity="center">
<shape android:shape="ring">
<stroke
android:width="2dp"
android:color="#C8C8D7"/>
<size
android:width="300dp"
android:height="300dp"/>
</shape>
</scale>
</item>
</layer-list>
但它不起作用。
答案 0 :(得分:0)
我没有设法在xml中生成它。我最终使用画布绘图。
public Drawable generateHeaderBackground(int arcColor) {
int w = screenWidth;
x = (int) r.getDimension(R.dimen.header_height);
Bitmap.Config conf = Bitmap.Config.ARGB_8888;
Bitmap bmp = Bitmap.createBitmap(w, x, conf);
Canvas mCanvas = new Canvas(bmp);
Paint p = new Paint();
p.setStyle(Paint.Style.STROKE);
p.setColor(arcColor);
p.setStrokeWidth(3);
p.setAntiAlias(true);
RectF rtt = new RectF(-w / 2, x / 4, w + (w / 2), x * 8);
mCanvas.drawOval(rtt, p);
return new BitmapDrawable(getResources(), bmp);
}