所以當我點擊一個活動時,我想要顯示一個加載gif,而不是:'ProgessDialog',但是我怎樣才能把它放在屏幕的中心,而不用替換其他對象呢?Android如何在屏幕中心獲得GIF並像「ProgressDialog」一樣獲得前端?
回答
<FrameLayout
android:id="@+id/scrim"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/dark_translucent"
android:visibility="gone">
<ImageView
android:id="@+id/imageView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_margin="24dp"/>
</FrameLayout>
</FrameLayout>
添加到您的build.gradle(Module.app)
dependencies {
compile 'com.github.bumptech.glide:glide:3.6.1'
}
在你的活動
Glide.with(this)
.load(imageGif)
.asGif()
.fitCenter()
.crossFade()
.into(imageView);
有這個極好的庫調用andorid-gif-drawable
你想要做到這一點,添加庫到項目後:
<pl.droidsonroids.gif.GifImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:layout_gravity="center" android:src="@drawable/src_drawable_here" />
確保它是一個佈局,使中心內部在父級(這意味着中心水平和垂直),如RelativeLayout。
這是我要做的事:
<FrameLayout> <!-- this can also be a CoordinatorLayout -->
... (content)
<FrameLayout
android:id="@+id/scrim"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/dark_translucent"
android:visibility="gone">
<ProgressBar
android:id="@+id/progressBar"
style="@style/Widget.AppCompat.ProgressBar.Horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_margin="24dp"
android:indeterminate="true"/>
</FrameLayout>
</FrameLayout>
這與裝載機一起使用。加載程序啓動時,我將稀鬆布的可見性設置爲visible
。加載程序完成後,我將稀鬆布的可見性重新設置爲gone
。
有兩件事情:
你應該跟蹤該紗幕是否可見或不可見在保存實例的狀態,因此,如果用戶旋轉設備,同時裝載過程中,您可以顯示網格布再次立即在
onCreate
。如果您要覆蓋可觸摸的控件,則應該禁用所有控件直至完成。或者,您可以在網格佈局上設置
onTouchListener
以消耗觸摸事件,以便有效禁用內容控件。
感謝您的反饋。我已經有了一個選項(對不起),但是我有一些麻煩,因爲我想讓它在AsyncTask類中可見,但我看不到它。 – sander
- 1. 如何獲得像屏幕一樣的銀色色彩
- 2. 如何獲得主屏幕?
- 3. 如何獲得像Android安裝屏幕中那樣的包裝ListView?
- 4. 如何在Android中獲得像波形一樣的聲音
- 5. 如何在Eclipse AVD中獲得Android手機屏幕截圖?
- 6. 在Android中如何獲得手指觸摸屏幕的多少?
- 7. 如何獲得UAC窗口的屏幕?
- 8. 如何獲得openxml.spreadsheet.cell屏幕顯示值
- 9. 如何獲得實際屏幕高度?
- 10. 如何獲得屏幕刷新率?
- 11. 如何獲得廣義屏幕尺寸?
- 12. 如何獲得Tkinter的屏幕尺寸?
- 13. 如何獲得屏幕尺寸?
- 14. 如何獲得屏幕分辨率R
- 15. 如何在uiautomator下獲得android手機屏幕尺寸
- 16. 在Android Studio中,如何在下一個屏幕上獲得計算結果?
- 17. 如何在sqlite中獲得前一年
- 18. 我怎樣才能得到屏幕-Android
- 19. (C#)如何獲得我的屏幕點到像素關係?
- 20. 如何獲得橢圓內像素的座標? (屏幕截圖)
- 21. 如何獲得全屏圖像?
- 22. 如何獲得android的這個特定的屏幕布局?
- 23. 如何獲得手機屏幕大小的Android
- 24. 無法在android 2.3中獲得正確尺寸的屏幕?
- 25. 如何在vb.net中獲得像visio一樣的編輯器
- 26. NfcV - 如何獲得HistoricalBytes,就像在NfcA中一樣?
- 27. 我如何獲得像這樣的TextField
- 28. 如何在C++中獲得屏幕分辨率?
- 29. 如何在java中獲得屏幕分辨率?
- 30. 如何在ActionScript 3中獲得用戶的屏幕分辨率?
謝謝,但我已經找到了答案。 – sander
只是一些聲譽 – sander
@sander感謝男人:) –