Ich versuche, benutzerdefinierte ShapeDrawable mit OvalShape, gefüllt mit weißen und mit grauen Rahmen zu zeichnen. Ich habe ein ziehbar wie folgt aus:Zeichnung programmgesteuert ovale Form mit Rahmen (Eckenradius) auf Android
ShapeDrawable drawable = new ShapeDrawable(new OvalShape());
drawable.getPaint().setColor(Color.GRAY);
drawable.getPaint().setStyle(Style.STROKE);
drawable.getPaint().setStrokeWidth(getPixels(5));
drawable.getPaint().setAntiAlias(true);
Aber das Ergebnis davon war: corners problem
Die Idee ist programmatisch eine Form wie diese zu schaffen, sondern mit verschiedenen Farben:
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<corners android:radius="10dip"/>
<stroke android:color="#FF0000" android:width="5dip"/>
<solid android:color="@android:color/transparent"/>
</shape>
Wie kann das behoben werden?
Sie sagen, dass das Problem der Ausschnitt der Grenze in diesem verknüpften Bild gezeigt ist? –
Ja! Es gibt kein Problem, wenn die Strichstärke 0 ist (Haarstrich), aber keine Lösung für mich. Die Methode getPixels() gibt Pixel für gegebenes Dip übrigens zurück ... aber ich denke, das ist nicht das Problem. – L3K0V
Ich denke, das Problem ist die Größe Ihres Zeichens. Sie müssen die Größe so verringern, dass sie der Breite des Rahmens entspricht. –