Android-анимация повернуть изображение на себя - PullRequest
0 голосов
/ 04 апреля 2019

Я хотел бы сделать анимацию для поворота изображения на себя (по оси x).

в точности так: coin who turn coin who turns

Я не нашел ничего подобного раньше, и я уже попробовал некоторые трюки, такие как:

public static void coinAnimation(final View v){
    RotateAnimation anim = new RotateAnimation(0.0f, 360.0f, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
    anim.setInterpolator(new LinearInterpolator());
    anim.setRepeatCount(Animation.INFINITE);
    anim.setDuration(700);


    v.startAnimation(anim);

    new Handler().postDelayed(new Runnable() {
        @Override
        public void run() {
            v.setAnimation(null);

        }
    }, 2000);
}

Ответы [ 2 ]

1 голос
/ 04 апреля 2019

Вот ответ, хотя он работает только с 3.0 и выше.

1) Создайте новую папку ресурсов под названием «аниматор».

2) Создайте новый XML-файл, которыйЯ назову «листать».Используйте следующий код XML:

<?xml version="1.0" encoding="utf-8"?>
<objectAnimator xmlns:android="http://schemas.android.com/apk/res/android"
    android:valueFrom="0" android:valueTo="360" android:propertyName="rotationY" >
</objectAnimator>

Нет, теги objectAnimator не начинаются с заглавной буквы "O".

3) Запустите анимацию с помощью следующего кода:

ObjectAnimator anim = (ObjectAnimator) AnimatorInflater.loadAnimator(mContext, R.animator.flipping); 
anim.setTarget(A View Object reference goes here i.e. ImageView);
anim.setDuration(3000);
anim.start();
0 голосов
/ 04 апреля 2019

Вот отличная библиотека с кучей анимаций.

Попробуйте YoYo анимация для любого типа просмотра.

Добавить зависимость нижев файле build.gradle вашего приложения

dependencies {
        compile 'com.android.support:support-compat:25.1.1'
        compile 'com.daimajia.easing:library:2.0@aar'
        compile 'com.daimajia.androidanimations:library:2.3@aar'
}

Пример:

YoYo.with(Techniques.FlipOutY)
.duration(700)
.repeat(5)   // If you want to do INFINITELY then set "-1" value here
.playOn(findViewById(R.id.edit_area));
...