#android #button #android-cardview #android-elevation
#Android #кнопка #android-cardview #android-повышение
Вопрос:
Я не могу поместить кнопку над CardView.
Это отображается выше в XML, когда я устанавливаю translationZ
для кнопки, но когда я запускаю приложение, кнопка по-прежнему не отображается выше.
Вот мой XML:
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.cardview.widget.CardView
android:id="@ id/cardView"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_constraintBottom_toTopOf="parent"
app:layout_constraintEnd_toStartOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:cardCornerRadius="10dp"
app:cardElevation="12dp">
<ImageView
android:id="@ id/imageView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop"
android:src="@drawable/imageDrawable"/>
</androidx.cardview.widget.CardView>
<Button
android:id="@ id/button"
android:layout_width="38dp"
android:layout_height="40dp"
android:elevation="16dp"
android:translationZ="16dp"
android:background="@drawable/ic_play"
app:layout_constraintBottom_toBottomOf="@ id/cardView"
app:layout_constraintEnd_toEndOf="@ id/cardView"
app:layout_constraintStart_toStartOf="@ id/cardView"
app:layout_constraintTop_toTopOf="@ id/cardView" />
</androidx.constraintlayout.widget.ConstraintLayout>
Этот вопрос задается несколько раз, но я не вижу никаких причин, почему это не работает должным образом.
Это просто кнопка воспроизведения над ImageView.
Я также изменил положение моей кнопки в XML, поместив ее в последнюю позицию, ничего не изменилось.
Комментарии:
1. подумайте о добавлении
Button
insideCardView
сlayout_gravity="center"
помощью (CardView
extendsFrameLayout
)2. Вау… Это сработало, да, я такой тупой.. Повышение уровня работает не так, как я ожидал.
3. Вы можете ответить на него, если хотите
4. добавлено в качестве ответа, но на самом деле это не так 🙂 ваш вопрос о
elevation
/translationZ
, я только что предложил другую структуру макета, которая «обходит» вашу реальную проблему
Ответ №1:
подумайте о добавлении Button
inside CardView
с layout_gravity="center"
помощью ( CardView
extends FrameLayout
)