Representación subpixel de Android

Tengo una línea que debería adelgazar cuanto más se alargue. El problema es que puedes ver claramente un salto cuando se adelgaza un píxel. ¿Hay una manera de hacer subpíxeles / antialiasing en Android?

canvas.drawRect() toma valores flotantes, pero es ignorarlos. Aquí está el código:

@Override
protected void onDraw(Canvas canvas) {
    float width = getMeasuredWidth() / (float) getMeasuredHeight()  * getMinimumHeight();
    float left = (getMeasuredWidth() - width) / 2.0f;
    canvas.drawRect(left, 0, left + width, getMeasuredHeight(), paint);
    super.onDraw(canvas);
}

El objeto de pintura tieneANTI_ALIAS_FLAG Habilitado y contiene un color sólido.

Esta es la línea por defecto:

Esto es cuando se hace más largo y más delgado. Debería tener algo de suavizado en los laterales, aunque para hacer la transición completa parece más suave.

Respuestas a la pregunta(1)

Su respuesta a la pregunta