Как вы создаете анимированную пунктирную или пунктирную границу произвольной формы в Android? В XML (желательно) или программно.
Для примера см. рисунок ниже.
Как вы создаете анимированную пунктирную или пунктирную границу произвольной формы в Android? В XML (желательно) или программно.
Для примера см. рисунок ниже.
Вы видели демо-версию PathEffects API? http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/graphics/PathEffects.html
Он создает точно анимированную строку, и вы можете просто настроить путь к краю вашего представления, чтобы создать границу. Например:
Определите путь по вашим параметрам вида/произвольной форме:
Path path = new Path();
path.addRect(view.getLeft(), view.getTop(), view.getRight(), view.getBottom(), Path.Direction.CW);
Затем создайте пунктирный PathEffect с помощью:
PathEffect pe = new DashPathEffect(new float[] {10, 5, 5, 5}, phase);
Затем установите ассоциированный элемент с объектом Paint и рисуем:
mPaint.setPathEffect(pe);
canvas.drawPath(path, mPaint);
EDIT: анимированный эффект происходит от постоянного изменения фазы и перерисовки. В демо-версии API он вызывает invalidate() в методе onDraw() (который вызывает onDraw()...)
XML... Я думаю, это невозможно. Но вы можете использовать пользовательский вид или SurfaceView и обрабатывать чертеж самостоятельно. Получайте удовольствие от этого:)
Не могли бы вы использовать одну форму из двух изображений 9patch в качестве фоновой рамки вокруг файла изображения, который вы хотите представить, по одному в каждом из двух макетов. Изображения будут отличаться с точки зрения размещения пунктирных элементов. Быстрое изменение взглядов (возможно, потребуется задержка), и вы можете получить необходимый эффект. Не знаю, насколько эффективно это было бы, если бы можно было позволить пользователю продолжать использовать приложение и жевать батарею...