Ada*_*hns 85 android android-layout android-constraintlayout
我想添加ProgressBar上的顶部Button(均为内ConstraintLayout).
<Button
android:id="@+id/sign_in_button"
android:layout_width="280dp"
android:layout_height="75dp"
android:layout_marginBottom="75dp"
android:layout_marginTop="50dp"
android:text="@string/sign_in"
android:textColor="@color/white"
android:textSize="22sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/passwordEditText"
app:layout_constraintVertical_bias="0.0"/>
<ProgressBar
android:id="@+id/progressBar"
style="?android:attr/progressBarStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="@+id/sign_in_button"
android:layout_marginTop="8dp"
app:layout_constraintBottom_toBottomOf="@+id/sign_in_button"
android:layout_marginBottom="8dp"
app:layout_constraintVertical_bias="0.5"
android:layout_marginLeft="8dp"
app:layout_constraintLeft_toLeftOf="@+id/sign_in_button"
android:layout_marginRight="8dp"
app:layout_constraintRight_toRightOf="@+id/sign_in_button"/>
Run Code Online (Sandbox Code Playgroud)
但即使在呼吁bringToFront进入ProgressBar后onCreate,它总是留在后面Button.
ProgressBar progressBar = (ProgressBar)findViewById(R.id.progressBar);
progressBar.bringToFront();
Run Code Online (Sandbox Code Playgroud)
Che*_*amp 129
设置一个标高ProgressBar; 2dp似乎工作.
android:elevation="2dp"
Run Code Online (Sandbox Code Playgroud)
您也可以尝试translationZ按照类似问题的接受答案中的建议进行设置.
作为另一种选择,我也遇到了这个答案.
Cri*_*tan 10
您可以简单地在应该出现在其下方的视图之后定义您想要的视图。
对于按钮,请注意它们的高度由它们的 stateListAnimator 控制。stateListAnimator 的Widget.MaterialComponents.Button默认高度为@dimen/mtrl_btn_elevation(2dp)。因此,如果您想在 Button 顶部显示视图,它的高度至少应为 2dp。
我们需要使用android:elevation来控制它。
android:elevation="10dp"
Run Code Online (Sandbox Code Playgroud)
此海拔高度属性仅在API级别> 21时起作用。但在此之下它将正常运行。如果将“进度”添加到“按钮”视图下方,则会在另一个视图顶部的底部显示该视图。
虽然android:elevation="4dp"或traslationz可以工作,但该 API 级别至少应为 21。如果由于某种原因您无法做到这一点,请确保您想要的视图在其他视图之后被提及。例如,如果我希望进度条位于 ImageView 之上:
<?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"
tools:context=".ImageActivity">
<ImageView
android:id="@+id/image_view"
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintDimensionRatio="6:4"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ProgressBar
android:id="@+id/progress_bar"
style="?android:attr/progressBarStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
42364 次 |
| 最近记录: |