如何将自定义微调器图像应用到 Android 中的进度对话框

发布于 2024-10-21 17:02:47 字数 524 浏览 1 评论 0原文

您好,我尝试将自定义微调器图像应用于 Android 中的进度拨号,我使用 .gif 文件用于此目的,并且我通过此代码应用它,

dialog = new ProgressDialog(BackupRestoreActivityContext);    
dialog.setCancelable(true);    
dialog.setIcon(resId);    
dialog.setTitle(title);    
dialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);    
dialog.setIndeterminate(true);
dialog.setIndeterminateDrawable(BackupRestoreActivityContext.getResources().getDrawable(R.drawable.bar));    
dialog.show();

通过此代码微调器图像更改为 bar.gif 但它不旋转, 请帮助我这有什么问题,非常感谢在这方面的任何帮助。

hi i tring to apply custom spinner image to progress dialod in android i use a .gif file for this purpose,and i apply it through this code,

dialog = new ProgressDialog(BackupRestoreActivityContext);    
dialog.setCancelable(true);    
dialog.setIcon(resId);    
dialog.setTitle(title);    
dialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);    
dialog.setIndeterminate(true);
dialog.setIndeterminateDrawable(BackupRestoreActivityContext.getResources().getDrawable(R.drawable.bar));    
dialog.show();

through this code Spinner image changed to bar.gif but it is not spinning,
please kindly help me whats wrong with this,thanks any help in this regard is greatly appreciated.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

荒路情人 2024-10-28 17:02:47

我的回答有点晚了,但是,你可以这样做:

1.- 制作一个可绘制的动画

例如:my_animation.xml

<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
    android:oneshot= "false" >

    <item
        android:drawable="@drawable/myImage1"
        android:duration="200"/>
    <item
        android:drawable="@drawable/myImage2"
        android:duration="200"/>
...


</animation-list>

2.- 在你的活动调用中

dialog = new ProgressDialog(BackupRestoreActivityContext);    
dialog.setCancelable(true);    
dialog.setIcon(resId);    
dialog.setTitle(title);    
dialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);    
dialog.setIndeterminate(true);
dialog.setIndeterminateDrawable(BackupRestoreActivityContext.getResources().getDrawable(R.drawable.my_animation));
dialog.show();

A little late my answer but, you can do this:

1.- Make an animation drawable

For example : my_animation.xml

<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
    android:oneshot= "false" >

    <item
        android:drawable="@drawable/myImage1"
        android:duration="200"/>
    <item
        android:drawable="@drawable/myImage2"
        android:duration="200"/>
...


</animation-list>

2.- In your activity call

dialog = new ProgressDialog(BackupRestoreActivityContext);    
dialog.setCancelable(true);    
dialog.setIcon(resId);    
dialog.setTitle(title);    
dialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);    
dialog.setIndeterminate(true);
dialog.setIndeterminateDrawable(BackupRestoreActivityContext.getResources().getDrawable(R.drawable.my_animation));
dialog.show();
你穿错了嫁妆 2024-10-28 17:02:47

在 Android 中,动画 gif 在 ImageView 中不起作用。您需要将它们作为电影播放,如示例 ApiDemos 所示。

但是您可以将 gif 分解为多个文件并创建动画资源文件。
动画文件是一个 xml 文件,描述要显示的可绘制列表和每帧的持续时间(或者要应用的转换,如果可以使用它们)。
您可以在此处阅读官方文档中的详细信息:
http://developer.android.com/guide/topics/resources /animation-resource.html#Frame

这个可绘制对象应该可以在您的 ProgressDialog 中正常工作

In Android, animated gif don't work in ImageView. You need to play them as movies as shown by the sample ApiDemos.

But you can explode your gif in multple files and create an animation ressource file.
An animation file is an xml file describing the list of drawable to display and the duration of each frame (or the transformations to apply if you can use them).
You can read the details in the official documentation here:
http://developer.android.com/guide/topics/resources/animation-resource.html#Frame

This drawable should then work nicely in your ProgressDialog

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文