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"/>
ただし、bringToFront
のProgressBar
でonCreate
を呼び出した後でも、常にButton
の後ろに留まります。
ProgressBar progressBar = (ProgressBar)findViewById(R.id.progressBar);
progressBar.bringToFront();
ProgressBar
に標高を設定します。 2dp
は機能しているようです。
Android:elevation="2dp"
類似した質問 の受け入れられた答えで提案されているようにtranslationZ
を設定することもできます。
私は this answer に代わるものとしても出会いました。
ほとんどの場合、ビューの下に表示されるビューの後に、ビューの一番上に表示するビューを定義できます。
これを制御するには、Android:elevationを使用する必要があります。
Android:elevation="10dp"
このエレベーション属性は、APIレベル> 21でのみ機能します。しかし、それ以下では正常に動作します。 Buttonビューの下にProgressを追加すると、他のビューの上部の下部にあるビューが表示されます。