Почему не обрезает бэкграунд в View?
Мне надо чтобы Бэкграунд в View обрезался не был квадратным я попробовал так но это ничего не дало. Правильно ли я вообще делаю?
public class ViewArc extends View {
Paint p;
public Path path;
public ViewArc(Context context) {
super(context);
setup();
}
public ViewArc(Context context, @Nullable AttributeSet attrs) {
super(context, attrs);
setup();
}
public ViewArc(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
setup();
}
public ViewArc(Context context, @Nullable AttributeSet attrs, int defStyleAttr, int defStyleRes) {
super(context, attrs, defStyleAttr, defStyleRes);
setup();
}
void setup() {
path = new Path();
p = new Paint();
p.setStrokeWidth(3);
p.setColor(Color.BLACK);
p.setStyle(Paint.Style.STROKE);
}
@Override
protected void dispatchDraw(Canvas canvas) {
path.reset();
int x1 = 0;
int yv = (int)(getHeight() * 0.885f);
int y1 = yv - (getHeight() - yv);
int x2 = getWidth();
int y2 = getHeight();
RectF rectf = new RectF(x1, y1, x2, y2);
path.arcTo(rectf, 0, 180);
canvas.clipPath(path);
super.dispatchDraw(canvas);
}
}
