原来在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中应用帧动画来实现全屏显示的一种解决方案。 帧动画是Android中的一个动画类型,它通过连续播放一系列图像(帧)来创建动态效果。在Dialog中使用...
在Android开发中,自定义Dialog是一种常见的需求,它允许开发者根据应用的UI风格和功能需求创建独特的对话框。本文将深入探讨如何实现自定义Dialog加载动画,以提供更好的用户体验。 首先,我们需要理解Dialog的...
在Android中,我们可以使用AnimationDrawable或者ObjectAnimator来实现动画效果。对于红包打开的动画,可能包括红包从顶部滑落、展开以及金额显示的过程。这些动画可以通过帧动画或属性动画来实现,确保流畅自然。 ...
在Dialog中通过AnimationDrawable或ObjectAnimator来启动这个动画。 在代码中实例化并展示自定义DialogFragment时,可以通过`newInstance()`方法传递参数,如主题类型(透明或正常),然后在DialogFragment内部根据...
在Android中,旋转动画是通过`RotateAnimation`类实现的。这个类允许我们指定一个对象在一定时间内以特定的角度进行旋转。例如,我们可以创建一个持续3秒、从0度旋转到360度的动画,以模拟一个加载指示器的旋转效果...
在Android开发中,ProgressDialog是一种常见的UI元素,用于在应用程序执行长时间操作时向用户显示进度,如数据加载或保存。为了提供更好的用户体验,开发者有时会希望自定义ProgressDialog,使其与应用的风格保持...
本示例“android基于dialog加载时转圈圈很好的demo”是专门为新手设计的,旨在教授如何在Android应用程序中实现一个加载对话框,通常在数据加载、网络请求等耗时操作时使用,以提供更好的用户体验。 首先,我们来...
在Android开发中,有时我们需要创建具有独特视觉效果的对话框(Dialog)来增强用户体验,比如一个正在加载数据时显示的“菊花”(菊花通常代表加载动画)。本篇将详细讲解如何在Android项目中实现这样一个自定义的...
本文将深入探讨如何在Android中实现这种"转圈等待动画",并分享一个已经封装好的解决方案。 首先,Android提供了几种内置的等待动画样式,如ProgressDialog、ProgressBar以及Material Design中的CircularProgress...
我们可以在ProgressBar的背景中设置AnimationDrawable,然后通过编程方式启动动画。另一种方法是利用ValueAnimator改变ProgressBar的最大值,模拟进度增加的效果。 第三种类型的自定义Dialog可能包含更多的交互元素...
"简单dialog动画"是一个很好的资源,它包含了一系列预设计的加载动画,可以直接集成到你的项目中,用于创建吸引人的等待页面或其他需要用户等待的情况,如数据加载、网络请求等。这些动画能够使用户在等待过程中感觉...
动画的实现可以使用CSS3动画、JavaScript库(如Anime.js或GreenSock)或者在Android中使用AnimationDrawable、ValueAnimator等。 3. **事件监听与控制**:为了在数据加载完成时关闭Dialog,需要监听网络请求的状态...
4. **线程管理**: 在Android中,耗时操作不能在主线程执行,否则会导致应用无响应(ANR)。开发者可能会使用AsyncTask、Handler、IntentService或者现代的协程(Coroutines)来异步处理加载任务,同时在完成时更新...
在Android开发中,自定义Dialog是一种常见的用户界面(UI)设计技术,用于提供与系统默认样式不同的对话框体验。在本场景中,我们探讨的是如何创建一个以加载进度为目的的自定义Dialog,以提升用户体验。这涉及到多...
在Android开发中,Dialog是一种常见的用户交互元素,用于在用户执行特定操作时提供临时的通知或交互界面。在给定的“dialog圆形进度条”主题中,我们关注的是如何在Dialog中实现一个圆形的进度条。这种组件常用于...
在Android开发中,等待提示动画(通常称为加载动画或进度指示器)是用户界面不可或缺的一部分,它能够向用户展示应用程序正在后台执行操作的过程,提高用户体验。本资源提供了Android等待提示动画的源码,帮助开发者...
在Android应用开发中,用户体验是至关重要的,而加载框(Loading Dialog)是提供良好用户体验的一种方式。当应用程序需要执行耗时操作,如网络请求或数据处理时,显示一个加载框可以告知用户系统正在进行工作,避免...
在Android应用开发中,UI设计和用户体验是至关重要的部分,特别是在数据加载过程中,为了提供良好的用户体验,开发者常常会使用各种自定义的加载动画。本文将详细介绍如何创建一个仿美团顺丰数据加载动画效果的...
根据提供的图片文件(等待提示动画示例图片1.png至4.png),可能是帧动画的序列帧图片,通过在`animation-list`标签中定义动画序列来创建动画效果。 3. **代码实现**:在Java或Kotlin代码中,我们需要实例化并展示...