`

AnimationDrawable 在Dialog中不能动画的原因(转)

 
阅读更多
原来在dialog的onCreate onStart调用的时候UI还没出来 这时候调用动画是不会运行的。

解决办法可以看这里。

http://googlers.iteye.com/blog/907136
其实也就是加一个handler, 让它延时去做

下面是我的LoadingDialog
package com.example;

import android.app.Dialog;
import android.content.Context;
import android.graphics.BitmapFactory;
import android.graphics.drawable.AnimationDrawable;
import android.os.Bundle;
import android.os.Handler;
import android.view.Window;
import android.view.animation.Animation;
import android.widget.ImageView;

/**
 * Created by IntelliJ IDEA.
 * User: denny
 * Date: 11-9-27
 * Time: 下午3:21
 * To change this template use File | Settings | File Templates.
 */
public class LoadingDialog extends Dialog{

    private Handler handler = new Handler();
    private ImageView iv;
    private AnimationDrawable ad;

    public LoadingDialog(Context context) {
        super(context, android.R.style.Theme_Translucent_NoTitleBar);
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        this.requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.loading_dialog);
        iv = (ImageView) findViewById(R.id.loadingImg);
        iv.setBackgroundResource(R.drawable.loading);
        ad = (AnimationDrawable) iv.getBackground();
    }

    @Override
    public void show() {
        super.show();
        handler.postDelayed(new Runnable() {
            @Override
            public void run() {
                ad.start();
            }
        }, 50);
    }

    @Override
    public void dismiss() {
        super.dismiss();
        ad.stop();
    }
}

分享到:
评论

相关推荐

    dialog 使用帧动画,解决了不能满屏

    标题"dialog 使用帧动画,解决了不能满屏"所指出的问题,是在Dialog中应用帧动画来实现全屏显示的一种解决方案。 帧动画是Android中的一个动画类型,它通过连续播放一系列图像(帧)来创建动态效果。在Dialog中使用...

    自定义Dialog加载动画

    在Android开发中,自定义Dialog是一种常见的需求,它允许开发者根据应用的UI风格和功能需求创建独特的对话框。本文将深入探讨如何实现自定义Dialog加载动画,以提供更好的用户体验。 首先,我们需要理解Dialog的...

    仿微信抢红包dialog和动画

    在Android中,我们可以使用AnimationDrawable或者ObjectAnimator来实现动画效果。对于红包打开的动画,可能包括红包从顶部滑落、展开以及金额显示的过程。这些动画可以通过帧动画或属性动画来实现,确保流畅自然。 ...

    很好android自定义dialog加载转圈等待,适合初学,透明+正常两种主题

    在Dialog中通过AnimationDrawable或ObjectAnimator来启动这个动画。 在代码中实例化并展示自定义DialogFragment时,可以通过`newInstance()`方法传递参数,如主题类型(透明或正常),然后在DialogFragment内部根据...

    旋转动画和帧动画制作自定义ProgressDialog

    在Android中,旋转动画是通过`RotateAnimation`类实现的。这个类允许我们指定一个对象在一定时间内以特定的角度进行旋转。例如,我们可以创建一个持续3秒、从0度旋转到360度的动画,以模拟一个加载指示器的旋转效果...

    旋转和帧动画实现自定义的ProgressDialog

    在Android开发中,ProgressDialog是一种常见的UI元素,用于在应用程序执行长时间操作时向用户显示进度,如数据加载或保存。为了提供更好的用户体验,开发者有时会希望自定义ProgressDialog,使其与应用的风格保持...

    android基于dialog加载时转圈圈很好的demo

    本示例“android基于dialog加载时转圈圈很好的demo”是专门为新手设计的,旨在教授如何在Android应用程序中实现一个加载对话框,通常在数据加载、网络请求等耗时操作时使用,以提供更好的用户体验。 首先,我们来...

    Android项目中使用类似菊花的Dialog

    在Android开发中,有时我们需要创建具有独特视觉效果的对话框(Dialog)来增强用户体验,比如一个正在加载数据时显示的“菊花”(菊花通常代表加载动画)。本篇将详细讲解如何在Android项目中实现这样一个自定义的...

    android 转圈等待动画

    本文将深入探讨如何在Android中实现这种"转圈等待动画",并分享一个已经封装好的解决方案。 首先,Android提供了几种内置的等待动画样式,如ProgressDialog、ProgressBar以及Material Design中的CircularProgress...

    自定义dialog

    我们可以在ProgressBar的背景中设置AnimationDrawable,然后通过编程方式启动动画。另一种方法是利用ValueAnimator改变ProgressBar的最大值,模拟进度增加的效果。 第三种类型的自定义Dialog可能包含更多的交互元素...

    简单diaolog动画

    "简单dialog动画"是一个很好的资源,它包含了一系列预设计的加载动画,可以直接集成到你的项目中,用于创建吸引人的等待页面或其他需要用户等待的情况,如数据加载、网络请求等。这些动画能够使用户在等待过程中感觉...

    仿美团加载等待框实现动画

    动画的实现可以使用CSS3动画、JavaScript库(如Anime.js或GreenSock)或者在Android中使用AnimationDrawable、ValueAnimator等。 3. **事件监听与控制**:为了在数据加载完成时关闭Dialog,需要监听网络请求的状态...

    Android loadingdialog2

    4. **线程管理**: 在Android中,耗时操作不能在主线程执行,否则会导致应用无响应(ANR)。开发者可能会使用AsyncTask、Handler、IntentService或者现代的协程(Coroutines)来异步处理加载任务,同时在完成时更新...

    自定义Dialog 以加载进度为例

    在Android开发中,自定义Dialog是一种常见的用户界面(UI)设计技术,用于提供与系统默认样式不同的对话框体验。在本场景中,我们探讨的是如何创建一个以加载进度为目的的自定义Dialog,以提升用户体验。这涉及到多...

    dialog圆形进度条

    在Android开发中,Dialog是一种常见的用户交互元素,用于在用户执行特定操作时提供临时的通知或交互界面。在给定的“dialog圆形进度条”主题中,我们关注的是如何在Dialog中实现一个圆形的进度条。这种组件常用于...

    Android 等待提示动画源码

    在Android开发中,等待提示动画(通常称为加载动画或进度指示器)是用户界面不可或缺的一部分,它能够向用户展示应用程序正在后台执行操作的过程,提高用户体验。本资源提供了Android等待提示动画的源码,帮助开发者...

    安卓自定义加载框 Loding Dialog 颜色内置图

    在Android应用开发中,用户体验是至关重要的,而加载框(Loading Dialog)是提供良好用户体验的一种方式。当应用程序需要执行耗时操作,如网络请求或数据处理时,显示一个加载框可以告知用户系统正在进行工作,避免...

    仿美团顺丰数据加载动画效果自定义ProgressDialog,控制显示时间

    在Android应用开发中,UI设计和用户体验是至关重要的部分,特别是在数据加载过程中,为了提供良好的用户体验,开发者常常会使用各种自定义的加载动画。本文将详细介绍如何创建一个仿美团顺丰数据加载动画效果的...

    安卓Android源码——等待提示动画源码.zip

    根据提供的图片文件(等待提示动画示例图片1.png至4.png),可能是帧动画的序列帧图片,通过在`animation-list`标签中定义动画序列来创建动画效果。 3. **代码实现**:在Java或Kotlin代码中,我们需要实例化并展示...

Global site tag (gtag.js) - Google Analytics