0

我在这里要做的是,我已经在我的应用程序中下载了一些图像,并且我想在每隔 30 秒说一次之后,将这些图像一张一张地全屏显示给用户。我还在图像视图中应用了动画这里的图像更改是我的代码:-

protected Bitmap doInBackground(String... params) {
    // TODO Auto-generated method stub
    if (!isCancelled()) 
    {

    filename=params[0];
   if(ShowImages.vn>d2)
   {
    ShowImages.vn=0;   
   }
    bmp = BitmapFactory.decodeFile(filename);
    }
    return bmp;

}
protected void onPostExecute(Bitmap result) {
        // TODO Auto-generated method stub
    super.onPostExecute(result);
    ShowImages.tt1.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
         r1 = AnimationUtils.loadAnimation(ShowImages.context, R.anim.lefttoright);
        ShowImages.tt1.setImageBitmap(result);
        ShowImages.tt1.startAnimation(r1);
    }

    }

这是我的动画文件代码:

<set xmlns:android="http://schemas.android.com/apk/res/android"
 android:shareInterpolator="false">
  <translate android:fromXDelta="-100%" android:toXDelta="0%"
           android:fromYDelta="0%" android:toYDelta="0%"
            android:duration="700"/>
       </set>

我对这段代码没有任何问题,它执行得很好,但是当图像更改发生时,整个图像视图会变空白一段时间,然后下一个图像出现。我不想要这个,我希望上一个图像一直存在,直到下一个图像更改已经发生,有人可以建议我一个方法吗?

4

1 回答 1

0

在您的情况下,最好使用逐帧动画以及在开发人员站点上定义逐帧:用于创建逐帧动画的对象,由一系列可绘制对象定义,可以是用作 View 对象的背景。

检查下面的教程,即使你会得到更多的例子,只要尝试谷歌:

在 Android 中显示逐帧动画

于 2013-09-14T06:19:18.277 回答