所以,当我点击一个活动时,我想要显示一个加载gif,而不是:'ProgessDialog',但是如何在不更换其他对象的情况下将它放在屏幕中央和前面?
答案 0 :(得分:0)
将库添加到项目后,您需要执行此操作:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.appdev.loicomelectronique.activities.MainActivity">
<VideoView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/videoView"/>
</FrameLayout>
确保它位于允许居中于父级(即水平和垂直居中)的布局内,例如RelativeLayout。
答案 1 :(得分:0)
我就是这样做的:
<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>
这与装载程序一起使用。加载器启动后,我将scrim可见性设置为visible
。加载程序完成后,我将稀松布可见性设置回gone
。
一些事情:
您应该在保存的实例状态中跟踪稀松布是否可见,因此如果用户在加载器正在进行时旋转设备,您可以立即在onCreate
中再次显示稀松布。
如果要覆盖可触摸控件,则应禁用所有控件直到完成。或者,您可以在网格布局上设置onTouchListener
以使用触摸事件,以便有效禁用内容控件。
答案 2 :(得分:0)
<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);