(安卓系统)将ProgressBar放在视图顶部



我想把ProgressBar放在视图的前面(顶部(。这是我的xml文件,ProgressBar目前在后面,由View 覆盖

<?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:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="10dp"
tools:context=".MainActivity">
<ProgressBar
android:id="@+id/progressBar"
android:layout_width="0dp"
android:layout_height="0dp"
android:indeterminateOnly="false"
android:progressDrawable="@drawable/percentage_circle"
app:layout_constraintWidth_percent="0.6"
app:layout_constraintHeight_percent="0.36"
app:layout_constraintStart_toStartOf="@+id/view2"
app:layout_constraintTop_toTopOf="@+id/view2" />
<View
android:id="@+id/view2"
android:layout_width="0dp"
android:layout_height="0dp"
android:background="@drawable/rounded_rec"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHeight_percent="0.6"
app:layout_constraintStart_toStartOf="parent" />
<View
android:id="@+id/view3"
android:layout_width="0dp"
android:layout_height="0dp"
android:background="@drawable/rounded_rec"
app:layout_constraintHeight_percent="0.4"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintWidth_percent="0.6" />
<View
android:id="@+id/view4"
android:layout_width="0dp"
android:layout_height="0dp"
android:background="@drawable/rounded_rec"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHeight_percent="0.4"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintWidth_percent="0.4" />
</androidx.constraintlayout.widget.ConstraintLayout>

我想知道有什么可能的方法将ProgressBar带到前台。这些解决方案是否也适用于其他对象(EditText、TextView…(?

您使用的是ConstraintLayout。在ConstraintLayout中,与RelativeLayoutLinearLayout不同,在前一个视图之后声明的视图位于前一个之上,这意味着最后声明的视图将位于顶部。因此,只需将ProgressBar移动到底部,如下所示:

<?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:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="10dp"
tools:context=".MainActivity">
<View
android:id="@+id/view2"
android:layout_width="0dp"
android:layout_height="0dp"
android:background="@drawable/rounded_rec"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHeight_percent="0.6"
app:layout_constraintStart_toStartOf="parent" />
<View
android:id="@+id/view3"
android:layout_width="0dp"
android:layout_height="0dp"
android:background="@drawable/rounded_rec"
app:layout_constraintHeight_percent="0.4"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintWidth_percent="0.6" />
<View
android:id="@+id/view4"
android:layout_width="0dp"
android:layout_height="0dp"
android:background="@drawable/rounded_rec"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHeight_percent="0.4"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintWidth_percent="0.4" />
<ProgressBar
android:id="@+id/progressBar"
android:layout_width="0dp"
android:layout_height="0dp"
android:indeterminateOnly="false"
android:progressDrawable="@drawable/percentage_circle"
app:layout_constraintWidth_percent="0.6"
app:layout_constraintHeight_percent="0.36"
app:layout_constraintStart_toStartOf="@+id/view2"
app:layout_constraintTop_toTopOf="@+id/view2" />
</androidx.constraintlayout.widget.ConstraintLayout>

只需要android:elevation="1dp";

<ProgressBar
android:elevation="1dp"
android:id="@+id/progressBar"
android:layout_width="0dp"
android:layout_height="0dp"
android:indeterminateOnly="false"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHeight_percent="0.36"
app:layout_constraintStart_toStartOf="@+id/view2"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintWidth_percent="0.6" />

使用视图堆栈底部的进度加载程序。因为底部视图显示在用户界面的顶部

最新更新