Android drawCircle con diferentes colores de borde
¿Es posible dibujar un círculo en un lienzo en Android con un borde de color diferente utilizando sólo un método drawCircle
?
He notado el PaintStyle de FILL_AND_STROKE pero no parecen tener colores diferentes para el relleno y el borde.
- Creación de una vista de imagen dibujable y zoomable en android
- Obtener el valor de color de píxel de un punto en una vista de Android que incluye un lienzo con respaldo de mapa de bits
- ¿Cómo hacer que cualquier vista dibuje a la lona?
- Android Cambiando dinámicamente el tamaño del círculo sólo la mitad del círculo se actualiza correctamente
- Solo toque en ANDROID
Realmente no quiero tener que llamar a dos métodos de drawCircle.
- Rellene el lienzo completo pero mantenga el área de relleno encuadrada como si fuera un círculo, un rectángulo
- Aplicación de Android - ¿Cómo guardar un dibujo de mapa de bits en lienzo como imagen? ¿Código de verificación?
- Cómo hacer un mapa de bits con la lona clicable?
- Rectángulo de dibujo de lienzo de Android
- Rect y RectF en SDK de Android
- Cómo fijar la aplicación no responde?
- Combinar lienzo y diseño (Android)
- Imagen en lienzo a archivo JPEG
Definición de Paint.Style dice:
Paint.Style The Style specifies if the primitive being drawn is filled, stroked, or both (in the same color).
Así que parece que no se puede hacer de una sola vez.
Si haces esto mucho puedes crear un método auxiliar estático que haga dos llamadas para dibujar círculo bordeado.
O puede crear un objeto personalizado android.graphics.drawable.shapes.Shape y anular su método de dibujo (..).
Gracias Peter Knego!
Si en caso de que alguien en necesidad de Shape xml aquí es
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval"> <solid android:color="#FFFFFF"/> <stroke android:width="5dp" android:color="#FFFF00" /> <size android:width="50dp" android:height="50dp" /> <corners android:radius="20dp" /> </shape>
Trate de crear una clase y crear el círculo con bordes haciendo dos uno más pequeño que el otro, luego use la clase como su forma en lugar de las formas predefinidas
Puede dibujar un círculo con Syle.STROKE una capa sobre el otro círculo.