我使用的是默認的進度的Android的對話框(不確定)ProgressDialog具有自定義圖像
ProgressDialog diag = new ProgressDialog(this);
diag.setIndeterminate();
diag.show();
但是我的客戶不喜歡這個形象,所以他與具有圖片(這應該旋轉一個PNG提供了我/旋轉)。
有沒有一種方法可以在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