ProgressDialog具有自定义图像
问题描述:
我使用的是默认的进度的Android的对话框(不确定)ProgressDialog具有自定义图像
ProgressDialog diag = new ProgressDialog(this);
diag.setIndeterminate();
diag.show();
但是我的客户不喜欢这个形象,所以他与具有图片(这应该旋转一个PNG提供了我/旋转)。
有没有一种方法可以在ProgressDIalog中替换它,以便它可以旋转我的图像?或者我怎么能做到这一点?
谢谢
答
首先,创建一个可绘制的动画(如./res/drawable/anim1.xml):
<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:drawable="@drawable/ic"
android:fromDegrees="0"
android:pivotX="50%"
android:pivotY="50%"
android:toDegrees="360" />
然后ad d它作为一个不确定的可绘制:
ProgressDialog diag = new ProgressDialog(this);
diag.setIndeterminate(true);
//here is the trick:
diag.setIndeterminateDrawable(getResources().getDrawable(R.drawable.anim1, null));
diag.show();
但是,这可能无法在较旧版本的Android上顺利运行。
P.S.您可以通过增加度数(从360到360n,其中n> = 1)来加快动画速度。如果图像是上下对称,则可以使用180),因为如果设置此类动画似乎不支持android:frameDuration
或android:frameCount
喜欢这个。
答
您是否尝试过使用?
diag.setIcon(R.drawable.customImg);
谢谢。我会试试看,但你为什么说它在以前的版本中不起作用 – Snake
@Snake,它可能*在旧版本(pre-Lolipop)上不能正常工作。我没有在Kitkat或更早的版本上测试它,所以我不能说它可以在那里无缝地工作。 –
哦,我明白了。你说它可能不适用于旧版本,因为你没有在那里测试它,而不是因为你认为存在问题或者听说有问题? – Snake