Подтвердить что ты не робот

Анимация по обнаружению объектов для Android

С мая Google обновил свои руководства по дизайну материалов на своем веб-сайте. Я видел интересный и классный шаблон дизайна в одном из новых разделов с именем Обнаружение функций.

Я хотел бы реализовать анимацию для "открытия" кнопки "Навигационный ящик" . В последнем обновлении Google Fit есть аналогичная анимация для навигационного ящика и кнопки плавающего действия.

Как и в случае с Android-анимациями, Google предоставляет хороший и удивительный ориентир для пользовательского интерфейса, но у нас нет дополнительной информации для его разработки для наших собственных приложений.

Знаете ли вы, есть ли встроенные решения с библиотеками Android для реализации таких анимаций? Если да, то он доступен для Android 5.0 (API 21) - он может быть выше Android 4.1 +?

Изменить: я сделал проект Github для реализации той же анимации. Вы можете найти его здесь: https://github.com/Guimareshh/Feature-discovery-animations

Спасибо!

4b9b3361

Ответ 1

Вам нужно создать пользовательскую анимацию, иначе вы можете использовать Ripple Effect + Reveal и установить его на значок ящика навигации,

Круговое раскрытие анимации

void enterReveal() {
    // previously invisible view
    final View myView = findViewById(R.id.my_view);

    // get the center for the clipping circle
    int cx = myView.getMeasuredWidth() / 2;
    int cy = myView.getMeasuredHeight() / 2;

    // get the final radius for the clipping circle
    int finalRadius = Math.max(myView.getWidth(), myView.getHeight()) / 2;

    // create the animator for this view (the start radius is zero)
    Animator anim =
        ViewAnimationUtils.createCircularReveal(myView, cx, cy, 0, finalRadius);

    // make the view visible and start the animation
    myView.setVisibility(View.VISIBLE);
    anim.start();
}

Ответ 2

Отвечая на ваш вопрос, Google всегда предоставляет новые образцы интересных компонентов виджета. Большинство из них будут добавлены только в новую версию Android. И для этого есть разные причины. Например, поскольку новые виджеты используют ресурсы и работают только в новой версии Android, у которой есть обновленный движок интерфейса. И другие...

Вот почему нет официальной анимации Google Reveal, которая работает только на Android 5.0 > .

Но для этого есть много backports:

Взгляните на все доступные и не официальные backports для Android Удивительный пользовательский интерфейс Android.

Когда Google представил материал Android - для всех этих элементов не было библиотеки. Но за короткое время разными разработчиками было написано много полезных библиотек. Но после этой популярности Google представляет всю библиотеку для этих виджетов.


Таким образом, нет никаких backports, и, скорее всего, Google не представит эти виджеты. Но, слушая ваш вопрос, я думаю, вы можете это сделать, используя не официальные спины, связанные выше.

Ответ 3

Я также создал этот DesignPattern в пользовательском представлении. Вы можете найти здесь здесь. Обратите внимание, что это мой первый опубликованный пользовательский вид, и он все еще находится в разработке (так что их могут быть некоторые ошибки и немного документации отсутствует), но он должен быть достаточно хорош для ежедневного использования.

Чтобы использовать его, добавьте библиотеку в свои зависимости:

compile 'com.cilenco.libraries:featurediscovery:1.0.2'     or
compile 'com.cilenco.libraries:featurediscovery:+'         always newest version

После этого вы сможете создать DiscoveryView, как это. Осмотрите все другие функции, чтобы настроить внешний вид и контроль над представлением.

DiscoveryView discoveryView = new DiscoveryView.Builder(context, view)
.setPrimaryText(R.string.header)
.setSecondaryText(R.string.description)
.setOnClickListener(this)
.build();

discoveryView.show();

Чтобы сделать этот обзор еще лучше, не стесняйтесь сообщать о проблемах и делать запросы на загрузку в репозиторий, если вы обнаружите какие-либо ошибки или какие-либо новые идеи для него.