【发布时间】:2021-09-27 08:25:08
【问题描述】:
我有一个由 ImageView、Button 和 ProgressBar 组成的活动。
活动的 XML 如下:
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/submitActivityConstraintLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".SubmitActivity">
<ImageView
android:id="@+id/previewImageView"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginBottom="8dp"
app:layout_constraintBottom_toTopOf="@+id/submitButton"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/submitButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:text="Submit"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<ProgressBar
android:id="@+id/progressBar"
style="?android:attr/progressBarStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone"
android:elevation="2dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
并且该按钮具有如下按钮点击监听功能:
val progressBar=findViewById<ProgressBar>(R.id.progressBar)
val submitActivityConstraintLayout=findViewById<ConstraintLayout>(R.id.submitActivityConstraintLayout)
progressBar.visibility=View.VISIBLE
submitActivityConstraintLayout.background = ColorDrawable(ContextCompat.getColor(this, R.color.shadow))
runBlocking{delay(5000L)}
progressBar.visibility=View.GONE
submitActivityConstraintLayout.background = ColorDrawable(ContextCompat.getColor(this, R.color.white))
我想要实现的是在 ImageView 上显示 ProgressBar 并在单击按钮后立即更改 ConstraintLayout 的背景颜色,然后在从异步任务返回响应时再次返回到先前的状态。
但由于某种原因,我无法同时实现这两个目标。
【问题讨论】:
标签: android imageview android-constraintlayout android-progressbar