Sto cercando di disegnare ShapeDrawable personalizzato con OvalShape, pieno di bianco e con bordo grigio. Ho creato un disegnabile come questo:Disegno di forma ovale programmaticamente con bordo (raggio dell'angolo) su 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);
Ma il risultato di tutto questo era: corners problem
L'idea è quella di programmazione per creare una forma come questo, ma con colori diversi:
<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>
Come può essere risolto?
Sta dicendo che il problema è il ritaglio del confine mostrato in quella immagine collegata? –
Sì! Non c'è alcun problema se la larghezza del tratto è 0 (linea sottile) ma non è una soluzione per me. Il metodo getPixels() restituisce i pixel per il dip specificato, a proposito ... ma penso che non sia il problema. – L3K0V
Penso che il problema sia la dimensione del tuo drawable. È necessario ridurre la dimensione sufficiente per adattarsi alla larghezza del bordo. –