Intereting Posts
Как изменить цвет метки TextinputLayout и edittext underline android Eclipse ADT: название проекта «appcompat_v7» создается после создания каждого нового проекта Как я могу получить дату в формате MM / DD / YY из Timestamp Невозможно выбрать другую учетную запись Google Analytics при создании файла конфигурации для Google Analytics Как реплицировать android: editable = "false" в коде? Тест на Android-модуле не издевался Получение IP-адреса моей локальной сети (192.168.xxxx) (IPV4) VideoView onPrepared не вызывается, если VideoView невидим Метод onClick не работает должным образом после прокрутки NestedScrollView Удаленная отладка Chrome Samsung Galaxy s4 Запрос MediaStore для Android MediaStore.MediaColumns.TITLE столбец для некоторых файлов имеет значение null Добавить файл изображения для формирования данных – Кордова / Угловая Значение по умолчанию для Android-предпочтений Как настроить будильник, когда мобильный телефон работает без участия Android? Android Studio – структура проекта почти пуста

Как вращать объект ObjectAnimator?

Алфавитно-ориентированная работа:

if(mAlphaAnimation == null){ mAlphaAnimation = ObjectAnimator.ofFloat(this, "alpha", 0.0f,1.0f).setDuration(TARGET_ANIM_ALPHA_DURATION); mAlphaAnimation.setInterpolator(new AccelerateDecelerateInterpolator()); mAlphaAnimation.setStartDelay(TARGET_ANIM_ALPHA_DELAY_BASE*power); mAlphaAnimation.setRepeatCount(ValueAnimator.INFINITE); mAlphaAnimation.setRepeatMode(ValueAnimator.REVERSE); mAlphaAnimation.addUpdateListener(this); } 

Но если я хочу, чтобы он вращался, как показано ниже, это не работает.

 private void createRotateAnim(float fromDegress,float toDegress,int duration){ if(mRotateAnimation == null){ mRotateAnimation = ObjectAnimator.ofFloat(this, "rotation",fromDegress,toDegress).setDuration(duration); mRotateAnimation.setStartDelay(100); mRotateAnimation.setInterpolator(new AccelerateInterpolator()); mRotateAnimation.addUpdateListener(this); } } 

Любой может помочь мне исправить эту проблему, или это любой другой способ создания анимации с возможностью поворота.

Мне жаль моего бедного английского.

Solutions Collecting From Web of "Как вращать объект ObjectAnimator?"

Попробуйте эту простую анимацию вращения, примененную к изображению.

  ImageView imageview = (ImageView)findViewById(R.id.myimage); RotateAnimation rotate = new RotateAnimation(180, 360, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f); rotate.setDuration(500); imageview.startAnimation(rotate); 

Этот ответ справедлив только для вопросов, верно, что область Clickable будет отличаться от текущей позиции View . Пожалуйста, проверьте этот вопрос, чтобы сделать правильную кликовую область. Кнопка не может быть нажата после TranslateAnimation

ObjectAnimator этого ObjectAnimator вместо ObjectAnimator .

 ImageView imageview = (ImageView)findViewById(R.id.image); ObjectAnimator imageViewObjectAnimator = ObjectAnimator.ofFloat(imageview , "rotation", 0f, 360f); imageViewObjectAnimator.setDuration(1000); // miliseconds imageViewObjectAnimator.start(); 

EDIT. Поскольку этот вопрос привлек некоторое внимание, позвольте мне объяснить, почему использовать ObjectAnimator вместо других аниматоров Transition

Дело в использовании ObjectAnimator заключается в том, что он перемещает видимую и интерактивную область элемента, если вы используете другой метод анимации, например, анимацию перехода или некоторые другие аниматоры, и предположим, что если вы хотите переместить Button слева внизу Экрана в верхнем левом углу, он будет перемещать только видимую область, но не сама Button , зона с кликом по-прежнему будет находиться в предыдущей позиции, в этом случае область с щелчком по-прежнему будет находиться внизу слева, а не вверху слева Где вы переместили кнопку.

Если вы сделаете то же самое с ObjectAnimator , как видимая область, так и область с ObjectAnimator переместит нужное место.