Comment programmer une ronde acculé frontière à l'aide de ShapeDrawable dans android?

J'ai besoin de créer une bordure avec des coins arrondis en programmant par l'extension de ShapeDrawable. J'ai besoin d'avoir une bordure noire avec des coins arrondis avec les pixels sur l'extérieur étant blanc et l'intérieur des pixels transparents. Le code que j'ai en ce moment a de multiples problèmes, qui sont de ne pas créer un bon coin qui est de la même épaisseur que la frontière et que l'extérieur de pixels de la frontière sont transparents et pas de blanc.

Voici une photo des coins, je suis actuellement Comment programmer une ronde acculé frontière à l'aide de ShapeDrawable dans android?

Voici le code où je suis de passage à la Couleur.TRANSPARENT pour le "remplissage" dans le constructeur:

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);
}

}

essayé d'étendre Drawable (et faire une coutume dtaw) au lieu de ShapeDrawable?

OriginalL'auteur user1592512 | 2013-11-24