Drawable анимация динамически - PullRequest
0 голосов
/ 07 декабря 2011

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

        RelativeLayout.LayoutParams lp=new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
        img.setLayoutParams(lp);
        relativeLayout.addView(img);
        strtbtn= new Button(this);
        strtbtn.setId(1);
        RelativeLayout.LayoutParams lp1=new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
        strtbtn.setLayoutParams(lp1);
        relativeLayout.addView(stpbtn);
        stpbtn=new Button(this);
         stpbtn.setId(2);
         RelativeLayout.LayoutParams lp2=new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
         stpbtn.setLayoutParams(lp2);
         relativeLayout.addView(stpbtn);
         setContentView(relativeLayout);
        BitmapDrawable frame0 = (BitmapDrawable)getResources().getDrawable(R.drawable.f0);
        BitmapDrawable frame1 = (BitmapDrawable)getResources().getDrawable(R.drawable.f1);
        BitmapDrawable frame2 = (BitmapDrawable)getResources().getDrawable(R.drawable.f2);
        BitmapDrawable frame3 = (BitmapDrawable)getResources().getDrawable(R.drawable.f3);
        BitmapDrawable frame4 = (BitmapDrawable)getResources().getDrawable(R.drawable.f4);
        BitmapDrawable frame5 = (BitmapDrawable)getResources().getDrawable(R.drawable.f5);

        int reasonableDuration = 750;
        mAnimation = new AnimationDrawable();

        mAnimation.addFrame(frame0, reasonableDuration);
        mAnimation.addFrame(frame1, reasonableDuration);
        mAnimation.addFrame(frame2, reasonableDuration);
        mAnimation.addFrame(frame3, reasonableDuration);
        mAnimation.addFrame(frame4, reasonableDuration);
        mAnimation.addFrame(frame5, reasonableDuration);

        img.setBackgroundDrawable(mAnimation);
        strtbtn = (Button) findViewById(1);
        strtbtn.setOnClickListener(this);
        stpbtn = (Button) findViewById(2);
        stpbtn.setOnClickListener(this);
    }

    public void onClick(View v) {

      if(v.getId()== 3) {
          mAnimation.start();
          mAnimation.setOneShot(false);
      }
      else
        mAnimation.stop();
    }
}

1 Ответ

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

здесь я показал пример, попробуйте и скажите мне, что случилось?

AnimationDrawable Tranninganimation1;

Tranninganimation1 = new AnimationDrawable();
        new playninzi().execute();

        Tranninganimation1.setOneShot(false);
        ImageView img = (ImageView) findViewById(R.id.girl_anim);
        img.setBackgroundDrawable(Tranninganimation1);
        img.post(new Starter());

AsyncTask ::

private class playninzi extends AsyncTask<Void, Void, Void> {

        protected void onPreExecute() {

            try {

                // Drawable frame = new BitmapDrawable(R.drawable.girl10001);

                Tranninganimation1.addFrame(
                        getResources()
                                .getDrawable(R.drawable.boy_listening0030), 50);
                Tranninganimation1.addFrame(
                        getResources()
                                .getDrawable(R.drawable.boy_listening0030), 50);
                Tranninganimation1.addFrame(
                        getResources()
                                .getDrawable(R.drawable.boy_listening0030), 50);
                Tranninganimation1.addFrame(
                        getResources()
                                .getDrawable(R.drawable.boy_listening0030), 50);
                Tranninganimation1.addFrame(
                        getResources()
                                .getDrawable(R.drawable.boy_listening0030), 50);
                Tranninganimation1.addFrame(
                        getResources()
                                .getDrawable(R.drawable.boy_listening0030), 50);
                Tranninganimation1.addFrame(
                        getResources()
                                .getDrawable(R.drawable.boy_listening0030), 50);
                Tranninganimation1.addFrame(
                        getResources()
                                .getDrawable(R.drawable.boy_listening0030), 50);
                Tranninganimation1.addFrame(
                        getResources()
                                .getDrawable(R.drawable.boy_listening0030), 50);
                Tranninganimation1.addFrame(
                        getResources()
                                .getDrawable(R.drawable.boy_listening0030), 50);
                Tranninganimation1.addFrame(
                        getResources()
                                .getDrawable(R.drawable.boy_listening0030), 50);
                Tranninganimation1.addFrame(
                        getResources()
                                .getDrawable(R.drawable.boy_listening0030), 50);
                Tranninganimation1.addFrame(
                        getResources()
                                .getDrawable(R.drawable.boy_listening0030), 50);
                Tranninganimation1.addFrame(
                        getResources()
                                .getDrawable(R.drawable.boy_listening0030), 50);
                Tranninganimation1.addFrame(
                        getResources()
                                .getDrawable(R.drawable.boy_listening0030), 50);
                Tranninganimation1.addFrame(
                        getResources()
                                .getDrawable(R.drawable.boy_listening0030), 50);

                Tranninganimation1.addFrame(
                        getResources()
                                .getDrawable(R.drawable.boy_listening0030), 50);
                Tranninganimation1.addFrame(
                        getResources()
                                .getDrawable(R.drawable.boy_listening0030), 50);
            } catch (Exception e) {

            }

        }

        @Override
        protected Void doInBackground(Void... arg0) {
            // TODO Auto-generated method stub
            return null;
        }
    }

    class Starter implements Runnable {

        public void run() {
            Tranninganimation1.start();

        }

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