android - Kotlin在上传时将图像上传到Firebase Animation或setContentLayout到另一个 Activity

标签 android firebase kotlin

我想在将照片上传到Firebase时显示动画(如加载栏),或者将内容布局设置为用户的个人资料,并在上传照片时在此处显示动画。

现在,当我单击“共享”按钮时,它就像没有单击“共享”一样,因此用户多次单击它,却不知道单击“共享”会获得多少照片

这是我的分享功能:

fun share(user: User, imageUri: Uri?, caption: String) {

    if (imageUri != null) {
        usersRepo.uploadUserImage(user.uid, imageUri).onSuccessTask { downloadUrl ->
            Tasks.whenAll(
                    feedPostsRepo.createFeedPost(user.uid, mkFeedPost(user, caption,
                            downloadUrl.toString()))
            )
        }.addOnCompleteListener{
            _shareCompletedEvent.call()
        }.addOnFailureListener(onFailureListener)
    }
}

最佳答案

您可以将ProgressBar添加到activity / fragment内容xml

     <!-- Set colors etc as per your choice -->
     <ProgressBar
            android:id="@+id/progressBar_myActivity"
            style="?android:attr/progressBarStyle"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="8dp"
            android:backgroundTint="#FFFFFF"
            android:foregroundTint="#FFFFFF"
            android:indeterminate="true"
            android:indeterminateTint="#FFFFFF"
            android:progressTint="#FFFFFF"
            android:visibility="invisible" />

当share buttonclicked时,您将显示ProgressBar并使用禁用屏幕交互
progressBar_myActivity.visibility = View.VISIBLE  //show progress bar
window.setFlags(                                  //disable view for user interaction
      WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE,
      WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE
)

一旦获得了api response,您就可以显示相应的消息并隐藏ProgressBar并启用用户交互
window.clearFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE)
progressBar_myActivity.visibility = View.GONE
// show appropriate message

请注意,如果您的api响应花费大量时间,则尝试将它们移至其他UI元素,因为长时间停止交互不是很好的UI / UX功能

关于android - Kotlin在上传时将图像上传到Firebase Animation或setContentLayout到另一个 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60017490/

相关文章:

java - Android:无法解析方法

firebase - Flutter - firebase_auth updateProfile 方法不起作用

javascript - 如何在 Ionic 4 和 firebase 中自动检测已登录的用户并将他们带到仪表板页面而无需他们再次登录

swift - Firebase 显示数据库中的不同评论

android - Jetpack Compose TopBar 和 BottomBar Default Elevation 内容未填满其容器

android-studio - Kotlin:Android Studio 中的 gradle 同步错误

gradle - 错误 : cannot find symbol class for add kotlin class into java class in android studio 3. 0 稳定

android - 谷歌使用 firebase 登录时出错

java - "m"在java代码中代表什么

java - 为服务器套接字响应创建监听器?