android - left - constraintlayout linearlayout
Android ConstraintLayout: coloque una vista encima de otra vista (3)
En la mayoría de los casos, simplemente puede definir la vista que desea en la parte superior después de la que debería aparecer debajo de ella.
Estoy tratando de agregar una
ProgressBar
de
ProgressBar
en la parte superior de un
Button
(ambos están dentro de un
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"/>
Pero incluso después de llamar a
bringToFront
en
ProgressBar
en
onCreate
, siempre se queda detrás del
Button
.
ProgressBar progressBar = (ProgressBar)findViewById(R.id.progressBar);
progressBar.bringToFront();
Establecer una elevación en la
ProgressBar
;
2dp
parece funcionar.
android:elevation="2dp"
También puede intentar configurar
translationZ
como se sugiere en la respuesta aceptada a una
pregunta similar
.
También encontré esta respuesta como una alternativa.
Necesitamos usar Android: Elevación para controlar esto.
android:elevation="10dp"
Este atributo de elevación solo funciona en el nivel API> 21. Pero a continuación, eso se comportará normalmente. Si agregamos Progreso debajo de la vista de Botón, muestra la vista que está en la parte inferior en la parte superior de la otra vista.