ShapeDrawable'ı genişleterek programlı bir şekilde yuvarlak köşeleri olan bir kenarlık oluşturmam gerekiyor. Yuvarlatılmış köşeleri olan siyah bir kenarlığa sahip olmalı, dış taraftaki pikseller beyaz ve iç pikseller şeffaf. Şu anda sahip olduğum kodun birden fazla problemi var, ki bu sınırla aynı kalınlıkta ve kenarın dış piksellerinin saydam ve beyaz olmaması için düzgün bir köşe oluşturmuyor.Android'de ShapeDrawable kullanarak programlı olarak yuvarlak köşeli bir kenarlık nasıl oluşturulur?
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);
}
}
çekilebilir genişletmeye çalıştığımız yöntem setCornerRadii() kullanabilir DIMENS yuvarlak köşe belirtmek için ShapeDrawable yerine (ve özel bir dtaw)? – pskink