dialog播放帧动画并且关闭
动画 关闭 播放 并且 Dialog
2023-09-27 14:27:47 时间
private void startSucessAnim() {
View view = View.inflate(this, R.layout.imageview_single, null);
AlertDialog.Builder builder = new AlertDialog.Builder(CarIdentificationActivity.this, R.style.dialog);
ImageView iv = (ImageView) view.findViewById(R.id.iv);
final AlertDialog dialog = builder.create();
dialog.show();
dialog.setContentView(view);
AnimationDrawable animationDrawable = (AnimationDrawable) iv.getDrawable();
animationDrawable.start();
// while (!animationDrawable.isRunning()) {
// dialog.dismiss();
// }
int duration = 0;
for(int i=0;i<animationDrawable.getNumberOfFrames();i++){
duration += animationDrawable.getDuration(i);
}
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
public void run() {
//此处调用第二个动画播放方法
dialog.dismiss();
}
}, duration);
}
//布局文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/transparent"
android:orientation="vertical">
<ImageView
android:id="@+id/iv"
android:gravity="center"
android:layout_gravity="center"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/tag_anim" />
<TextView
android:gravity="center"
android:layout_gravity="center"
android:padding="5dp"
android:layout_margin="15dp"
android:textColor="#0f0"
android:textSize="25sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="提交成功" />
</LinearLayout>
//动画文件
<?xml version="1.0" encoding="UTF-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="true" >
<item
android:drawable="@drawable/tag01"
android:duration="200">
</item>
<item
android:drawable="@drawable/tag02"
android:duration="200">
</item>
<item
android:drawable="@drawable/tag03"
android:duration="200">
</item>
<item
android:drawable="@drawable/tag04"
android:duration="200">
</item>
<item
android:drawable="@drawable/tag05"
android:duration="200">
</item>
<item
android:drawable="@drawable/tag06"
android:duration="200">
</item>
<item
android:drawable="@drawable/tag07"
android:duration="200">
</item>
</animation-list>
//dialog样式
<style name="dialog" parent="@android:style/Theme.Dialog">
<item name="android:windowFrame">@null</item>
<item name="android:windowIsFloating">true</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
</style>
相关文章
- 《MFC游戏开发》笔记五 定时器和简单动画
- 矩形-圆动画转换动画效果
- android动画原理,最详细的解释小白也能听懂,值得收藏!
- 真是好东西!一组动感的页面加载动画效果
- CountUp.js – 让数字以非常有趣的动画方式显示
- untiy 重置动画
- android 补间动画
- Android5.0Activity的转场动画、过渡动画、过场动画、跳转动画
- mac关闭渐隐和弹出动画效果
- 一款基于css3的动画按钮
- 秀才提笔忘了字:javascript使用requestAnimationFrame实现动画
- android Activity关闭动画 附左右动画anim
- Android仿“知乎”隐藏标题栏、回答详情页动画效果
- cocos2d 播放GIF动画类
- halcon-draw_region手动画一个闭合区域
- React-Native用动画写一个弹窗
- (css3常用动画的实现
- Android系统移植与调试之------->如何修改Android启动动画和开机声音