Android dibuja un medio círculo con bordes
Quería saber si es posible dibujar un círculo que tiene la mitad de lo llenado, algo así como a continuación:
- Imágenes de escala baja en Android: ¿se puede hacer?
- Personalizada coloreada como marcador de mapa en Google Maps API v2 - Android
- Eficiencia de getDrawable (): ¿es el Drawable almacenado en caché por el framework?
- Obtener dibujable por cadena
- SetTint DrawableCompat no funciona en la API 19
si es posible, más adelante me gustaría llenar este cirlce o hacerlo vacío con sólo las fronteras a la izquierda, que está bien, pero hay de todos modos para agregar animación a ella? como de un círculo vacío a medio lleno o completamente lleno círculo para pasar con una transición?
gracias por adelantado
- Android: propósito de usoLevel en etiqueta de forma
- Haciendo complejos Android XML Drawables
- Adición de efecto de rizado a CompoundButton personalizado
- Cómo dibujar un rectángulo con esquinas redondeadas con XML?
- Rellenar el color de la fila de vista de lista con un cierto porcentaje
- La imagen VectorDrawable se pixeliza
- ¿Para qué se utiliza Drawable.getConstantState?
- El insertable no funciona como se describe en la documentación
intenta asignarle un fondo personalizado, como:
<?xml version="1.0" encoding="UTF-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval" > <gradient android:angle="0" android:endColor="#FF000000" android:startColor="#00000000" /> </shape>
Respuesta por código de ejemplo:
También compruebe esta respuesta: https://stackoverflow.com/a/22568222/1052261
public class CircleView extends View { public CircleView(final Context context, final AttributeSet attrs) { super(context, attrs); _paint = new Paint(); _paint.setColor(context.getResources().getColor(R.color.colorPrimary)); _paint.setAntiAlias(true); _paintCenter = new Paint(); _paintCenter.setColor(Color.BLUE); _paintCenter.setAntiAlias(true); _timeRingSize = Utils.convertDpToPixel(context, 10); } @Override protected void onDraw(final Canvas canvas) { final float height = canvas.getHeight(); final float width = canvas.getWidth(); float radious = width > height ? height * 0.5F : width * 0.5F; final float centerX = canvas.getWidth() * 0.5F; final float centerY = canvas.getHeight() * 0.5F; canvas.drawCircle(centerX, centerY, radious, _paint); RectF rectF = new RectF(); rectF.set(centerX - radious, centerY - radious, centerX + radious, centerY + radious); canvas.drawArc(rectF, 0, 90, true, _paintCenter); } private final float _timeRingSize; private Paint _paintCenter; private Paint _paint; }
Salida:
- Cómo configurar el último atributo de archivo modificado con la nueva API de acceso a tarjeta SD para Android 5.0?
- cursor loader no se actualiza en mi pestaña de desplazamiento hasta que reinicie la aplicación