Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/215.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何创建虚线圆形图像视图?_Android - Fatal编程技术网

Android 如何创建虚线圆形图像视图?

Android 如何创建虚线圆形图像视图?,android,Android,我想创建点圆的ImageView。我想我应该用油漆,但它不起作用 private Paint dashPaint = new Paint(Paint.ANTI_ALIAS_FLAG); { dashPaint.setStyle(Paint.Style.STROKE); dashPaint.setColor(Color.WHITE); dashPaint.setAlpha(120); dashPaint.setPathEffect(new DashPathEffec

我想创建点圆的
ImageView
。我想我应该用油漆,但它不起作用

private Paint dashPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
{
    dashPaint.setStyle(Paint.Style.STROKE);
    dashPaint.setColor(Color.WHITE);
    dashPaint.setAlpha(120);
    dashPaint.setPathEffect(new DashPathEffect(new float[]{
            5, 5
    }, 0.0f));
    dashPaint.setStrokeWidth(Easify.dp(1.2f));
} 

您可以将此背景资源设置为ImageView:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
    <item>
        <shape>
            <solid android:color="#ffffff" />
            <stroke
                android:dashGap="10dp"
                android:dashWidth="10dp"
                android:width="1dp"
                android:color="#979797" />
            <padding
                android:bottom="5dp"
                android:left="5dp"
                android:right="5dp"
                android:top="5dp" />
           <corners
            android:bottomRightRadius="6dp"
            android:bottomLeftRadius="6dp"
            android:topLeftRadius="6dp"
            android:topRightRadius="6dp"/>
        </shape>
    </item>
</layer-list>

公共类DottedImageView扩展了ImageView{

public DottedImageView(Context context, @Nullable AttributeSet attrs) {
    super(context, attrs);
}


private Paint dashPaint=new Paint(Paint.ANTI_ALIAS_FLAG);
{
    dashPaint.setStyle(Paint.Style.STROKE);
    dashPaint.setColor(Color.WHITE);
    dashPaint.setAlpha(120);
    dashPaint.setPathEffect(new DashPathEffect(new float[]{15, 15
    }, 0f));
    dashPaint.setStrokeWidth(3);
}


@Override
protected void dispatchDraw(Canvas canvas) {
    super.dispatchDraw(canvas);
    int rad=Math.min(canvas.getWidth(), canvas.getHeight())/2;
    rad-=dashPaint.getStrokeWidth();
    dashPaint.setColor(Color.WHITE);
    canvas.drawCircle(canvas.getWidth()/2, canvas.getHeight()/2,rad, dashPaint);
}

}

你能给我看一个样品吗?