studio property custom animate android animation border

property - custom animation android



Borde rayado animado en Android (3)

¿Cómo se crea un borde animado punteado o punteado de una forma arbitraria en Android? En XML (preferido) o programáticamente.

Ver la imagen a continuación para un ejemplo.


¿Podría usar alguna forma de dos imágenes de 9patches como un marco de fondo alrededor del archivo de imagen que desea presentar, uno en cada uno de los dos diseños? Las imágenes diferirían en términos de la ubicación de los elementos punteados. Intercambie las vistas rápidamente (puede necesitar un retraso) y puede obtener el efecto que desee. En realidad, no sé cuán efectivo sería en términos de poder permitir que el usuario continúe usando la aplicación y masticando la batería ...


XML ... Supongo que no es posible. Pero puede usar una vista personalizada o un SurfaceView y manejar el dibujo usted mismo. Divertirse con eso :)


¿Has visto la demostración de PathEffects API? http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/graphics/PathEffects.html

Produce precisamente una línea animada y puede ajustar la ruta hasta el borde de su vista para crear un borde. Por ejemplo:

Defina una ruta por sus parámetros de vista / forma arbitraria:

Path path = new Path(); path.addRect(view.getLeft(), view.getTop(), view.getRight(), view.getBottom(), Path.Direction.CW);

Luego crea un PathEffect discontinuo con:

PathEffect pe = new DashPathEffect(new float[] {10, 5, 5, 5}, phase);

Luego configura el asociado con un objeto Paint y dibuja:

mPaint.setPathEffect(pe); canvas.drawPath(path, mPaint);

EDITAR: El efecto animado proviene de cambiar continuamente la fase y redibujar. En la demostración de la API llama a invalidate () en el método onDraw () (que desencadena onDraw () ...)