我想在将照片上传到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
button
为clicked
时,您将显示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/