所以当我点击一个活动时,我想要显示一个加载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感谢男人:) –