Поставить таймер на поворот изображения? - PullRequest
1 голос
/ 15 декабря 2011

На Android (2.3.3) возможно ли сделать поворот изображения не мгновенным?

Пример кода, который я использовал, начиная с здесь :

img=(ImageView)findViewById(R.id.ImageView01);
Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.refresh);
// Getting width & height of the given image.
int w = bmp.getWidth();
int h = bmp.getHeight();
// Setting post rotate to 90
Matrix mtx = new Matrix();
mtx.postRotate(90);
// Rotating Bitmap
Bitmap rotatedBMP = Bitmap.createBitmap(bmp, 0, 0, w, h, mtx, true);
BitmapDrawable bmd = new BitmapDrawable(rotatedBMP);

img.setImageDrawable(bmd);

Это вращение является мгновенным, и я хотел бы сделать вращение видимым. Это возможно в Android или это Flash?

Ответы [ 3 ]

3 голосов
/ 15 декабря 2011

Вы должны использовать ViewAnimation при просмотре изображений. Что-то вроде этого - то, что вам нужно:

в папке res / anim:

<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android" 
    android:fromDegrees="0" android:toDegrees="90"
    android:duration="2000" android:interpolator="@android:anim/accelerate_decelerate_interpolator"
    android:startOffset="1000"
/>

Примените это к вашему мнению:

img.startAnimation(AnimationUtils.loadAnimation(context, R.anim.rotate));

Вам придется самостоятельно изучить различные параметры и атрибуты:)
Вот ссылка на дополнительную информацию.

1 голос
/ 15 декабря 2011

Если вы хотите задержать поворот изображения, вы можете проверить AlarmManager. Это не должно использоваться для задержки анимации, как указано ниже в комментариях Дэвида Каунта.

Если вы хотите анимировать вращение, вы можете проверить RotateAnimation http://developer.android.com/reference/android/view/animation/RotateAnimation.html

Вот пример поворота текстового представления, возможно, это может быть полезно. http://www.edumobile.org/android/android-programming-tutorials/rotating-text-animation/

0 голосов
/ 15 декабря 2011

Что вы можете сделать, это снова вызвать тот же код и повернуть изображение на угол 1 градус. Используя вышеупомянутый метод, вы действительно не можете сделать любой другой путь. Но опять же, если вы попытаетесь запустить 1 градус на 1 градус со скоростью 25 кадров в секунду, он не будет работать гладко на планшете или мобильном телефоне. Вы можете попробовать анимацию с Android. Но они применяют анимацию для всего экрана (насколько я знаю).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...