Tôi cần phải tạo đường viền với các góc tròn được lập trình bằng cách mở rộng ShapeDrawable. Tôi cần phải có một biên giới màu đen với các góc tròn với các điểm ảnh ở bên ngoài là màu trắng và các điểm ảnh bên trong được minh bạch. Mã tôi có tại thời điểm này có nhiều vấn đề, trong đó là nó không tạo ra một góc trơn tru có cùng độ dày như đường viền và các pixel ngoài của đường viền là trong suốt và không phải màu trắng.Làm thế nào để lập trình một biên giới có viền tròn bằng cách sử dụng ShapeDrawable trong android?
Đây là một hình ảnh của các góc Tôi hiện đang nhận được
Đây là mã nơi tôi đi qua Color.TRANSPARENT cho 'điền' trong constructor:
public class CustomShape extends ShapeDrawable {
private final Paint fillpaint, strokepaint;
public CustomShape(int fill, int strokeWidth,int radius) {
super(new RoundRectShape(new float[] { radius, radius, radius, radius, radius, radius, radius, radius }, null, null));
fillpaint = new Paint(this.getPaint());
fillpaint.setColor(fill);
strokepaint = new Paint(fillpaint);
strokepaint.setStyle(Paint.Style.STROKE);
strokepaint.setStrokeWidth(strokeWidth);
strokepaint.setColor(Color.BLACK);
}
@Override
protected void onDraw(Shape shape, Canvas canvas, Paint paint) {
shape.draw(canvas, fillpaint);
shape.draw(canvas, strokepaint);
}
}
cố gắng để mở rộng drawable (và làm một dtaw tùy chỉnh) thay vì ShapeDrawable? – pskink