Как качать изображение как маятник в андроиде? - PullRequest
3 голосов
/ 07 сентября 2011

Я новичок в анимации в Android.Я хочу установить анимацию, такую ​​как Pendulum (Swing слева направо), для изображения в моей Activity.

, что я сделал до сих пор:

Animation anim = new RotateAnimation(0, 30, 0, 0);
anim.setRepeatMode(Animation.REVERSE);
anim.setInterpolator(new AccelerateDecelerateInterpolator());
anim.setDuration(1500);
anim.setFillAfter(true);

Но это не работает вообще... кто-нибудь может подсказать мне, как сделать анимацию?

Спасибо ....

Ответы [ 3 ]

10 голосов
/ 17 января 2012

У меня была точно такая же проблема, и я получил решение только для xml: http://blog.sqisland.com/2012/01/android-pendulum-animation.html

0 голосов
/ 14 сентября 2011

Если бы я был вами и выполнял такие сложные анимации, я бы попытался изучить простой API canvas для рисования и анимации объектов.Для примера рассмотрим lunarLandar .

Было бы очень просто, если вы управляете фактическим размещением объекта, просто создать формулу, которая регулирует X & Y объекта.

Судо:

-If object is going right, and is left of center, decrease it's Y value.
-If object is going right, and is right of center, increase it's Y value.
-If the object is going left, and is right of center, decrease it's Y value.
-If the object is going left, and is left of center, increase it's Y value.
0 голосов
/ 07 сентября 2011

Это поможет вам ::

      AnimationDrawable Tranninganimation5;

       Tranninganimation1 = new AnimationDrawable();
            new playninzi().execute();
            animation.setOneShot(false);
            Tranninganimation1.setOneShot(false);

private class playninzi extends AsyncTask<Void, Void, Void> {
        private final ProgressDialog dialog = new ProgressDialog(
                Signs_main_page.this);

        protected void onPreExecute() {
            this.dialog.setMessage("Please Wait...");
            this.dialog.show();

            try {
                for (int i = 1; i < 25; i++) {
                    Bitmap bitmap = BitmapFactory
                            .decodeStream((InputStream) new URL(
                                    "http://203.a44.115.55/MRESC/images/test/girl2/"
                                            + "girl-1000" + i + ".png")
                                    .getContent());
                    Drawable frame = new BitmapDrawable(bitmap);
                    animation.addFrame(frame, 50);
                }
            } catch (Exception e) {

            }
        @Override
        protected Void doInBackground(Void... arg0) {
            return null;
        }
        protected void onPostExecute(final Void unused) {
            if (this.dialog.isShowing()) {
                this.dialog.dismiss();
            }
        }
    }

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

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