lizhanwei
2020-04-20 7815e8d838fcd1bca3792671dc20dde77125a343
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
package safeluck.drive.evaluation.customview;
 
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.BitmapShader;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.ComposeShader;
import android.graphics.Paint;
import android.graphics.Path;
import android.graphics.PorterDuff;
import android.graphics.Rect;
import android.graphics.RectF;
import android.graphics.Shader;
import android.util.AttributeSet;
import android.util.Log;
import android.view.View;
import android.widget.ImageView;
 
import androidx.annotation.Nullable;
import androidx.appcompat.widget.AppCompatImageView;
 
import safeluck.drive.evaluation.R;
import safeluck.drive.evaluation.util.Utils;
 
/**
 * @ProjectName: DriveJudge
 * @Package: safeluck.drive.evaluation.customview
 * @ClassName: HomeCircleImageView
 * @Description: java类作用描述
 * @Author: 李占伟
 * @CreateDate: 2020-04-16 17:16
 * @UpdateUser: 更新者
 * @UpdateDate: 2020-04-16 17:16
 * @UpdateRemark: 更新说明
 * @Version: 1.0
 */
 
public class ParallelogramView extends View {
 
    private static final String TAG = ParallelogramView.class.getSimpleName();
 
    private int color;
    private Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
    private Path mPath = new Path();
    private int radiusDP = 7;
    public ParallelogramView(Context context) {
        super(context);
    }
 
    public ParallelogramView(Context context, @Nullable AttributeSet attrs) {
        super(context, attrs);
    }
 
    public ParallelogramView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }
 
    @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);
        int pxRadius= (int) Utils.dp2Px(radiusDP);
        pxRadius = 70;
        paint.setStyle(Paint.Style.STROKE);
        paint.setColor(Color.RED);
        Log.i(TAG,String.format("%dDP值对应的px=%dpx",radiusDP,pxRadius));
        RectF rectF = new RectF(getWidth()/2,getHeight()/2,getWidth()/2+2*pxRadius,
                getHeight()/2+2*pxRadius);
        mPath.arcTo(rectF,90,180);
//        mPath.arcTo(rectF,270,360);
        canvas.drawPath(mPath,paint);
 
    }
}