【问题标题】:Frame by Frame on Live Wallpaper在动态壁纸上逐帧显示
【发布时间】:2014-05-02 20:37:24
【问题描述】:

有没有办法在动态壁纸的位图上逐帧绘制动画? 我有以下代码,并且框架确实显示在动态壁纸上。 但是,它们都是同时出现的,而不是一一出现。 似乎帧之间没有持续时间。

有人可以帮忙吗? 提前致谢。

代码:

        int frame = 0; 
        for (;frame < 8; frame ++)
        {

            int[] pirates_frame = {
            R.drawable.frame1, R.drawable.frame2, R.drawable.frame3,
            R.drawable.frame4, R.drawable.frame5, R.drawable.frame6,
            R.drawable.frame7, R.drawable.frame8,};


            icon = BitmapFactory.decodeResource(getResources(),pirates_frame[frame]);
            canvas.drawBitmap(icon, x2, y2, null);
            System.out.println("frame is : " + frame);
            icon.recycle();
        }

【问题讨论】:

    标签: android android-animation live-wallpaper duration


    【解决方案1】:

    那里没有时间延迟。它会立即循环,直到完成。您应该尝试使用具有延迟的可运行对象或线程来绘制每一帧。

    这里有一个很好的使用可运行对象的教程:http://www.vogella.com/tutorials/AndroidLiveWallpaper/article.html

    此外,我建议不要在 for 循环中初始化 pirates_frame,因为您正在执行相同的操作 8 次,并且在某些情况下可能会真正减慢速度。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-12-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多