如何在android中显示动画图像?

时间:2010-02-11 09:10:11

标签: android

在我的应用程序中,我希望显示自己的广告,我想在图像中显示我的广告,它应该是动画的。所以如何显示动画图像

4 个答案:

答案 0 :(得分:5)

您可以使用AnimationDrawable对象进行逐帧动画。

答案 1 :(得分:1)

我可以轻松地帮助你。

首先拍摄要在其中展示广告的图片。如果您要将图片显示为 admob (google ads),请拍摄图片 320X50 决议。

然后在res。

中创建文件夹 anim anim 中的

创建 anim1.xml

等动画文件
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<translate android:fromXDelta="-300%" android:toXDelta="0%"
    android:fromYDelta="0%" android:toYDelta="0%" android:duration="1000" />

然后创建另一个文件 anim2.xml

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

在图像中使用此文件进行动画制作。像

mAnimation = AnimationUtils.loadAnimation(getApplicationContext(),
            R.anim.anim1);
mAnimation1 = AnimationUtils.loadAnimation(getApplicationContext(),
            R.anim.anim2);

这里我使用了两个图像,这些图像在某个常规间隔中交替变换。因为我使用定时器

new Timer()。scheduleAtFixedRate(new UpdateTimeTask(),1,10 * 1000);

它在修复计划中调用TimerTast类。在这里,我每隔10秒称这个班级为(10 * 1000)。 首先创建新类 UpdateTimerTast

class UpdateTimeTask extends TimerTask {

    public void run() {
        // Toast.makeText(mActivity, "Timer", Toast.LENGTH_LONG).show();

        Message toMain = handler.obtainMessage();
        toMain.obj = "banner";
        handler.sendMessage(toMain);

    }
}

此类调用Handler,其中定期更改和动画图像。

in Handler

private Handler handler = new Handler() {
    @Override
    public void handleMessage(Message msg) {
        super.handleMessage(msg);

if (msg.obj.toString().contentEquals("banner")) {

            if (mBanner.isShown()) {
                mBanner.setVisibility(View.GONE);
                mBanner1.setVisibility(View.VISIBLE);
                mBanner1.startAnimation(mAnimation1);

            } else if (mBanner1.isShown()) {
                mBanner.setVisibility(View.VISIBLE);
                mBanner.startAnimation(mAnimation);
                mBanner1.setVisibility(View.GONE);
            }

        }

这里mBanner1和mBanner是ImageView。

就是这样。完成。 :)

答案 2 :(得分:0)

最佳起点是关于2D图形的官方指南。向下滚动到底部,它将讨论Tween动画和逐帧。之后,Google围绕动画教程。那里有许多非常好的。

http://developer.android.com/guide/topics/graphics/2d-graphics.html

答案 3 :(得分:0)

您可以通过三种方式执行此操作:

  • 查看动画
  • 逐帧动画
  • 布局动画
祝你好运