Как разместить представление поверх другого, используя макет ограничения?

#android #android-constraintlayout

Вопрос:

Я пытаюсь разместить CircleImageView поверх CardView. Что-то вроде этого

Вот что я сделал

вот мой xml-код

    <androidx.core.widget.NestedScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_behavior="@string/appbar_scrolling_view_behavior">

       <androidx.constraintlayout.widget.ConstraintLayout
           android:layout_width="match_parent"
           android:layout_height="match_parent">

           <de.hdodenhof.circleimageview.CircleImageView
               android:layout_width="126dp"
               android:layout_height="126dp"
               android:src="@drawable/ic_profile_image_2"
               app:civ_border_color="?attr/colorOnPrimary"
               app:civ_border_width="8dp"
               app:layout_constraintEnd_toEndOf="@ id/cardView2"
               app:layout_constraintStart_toStartOf="parent"
               app:layout_constraintTop_toTopOf="@id/cardView2"
               app:layout_constraintBottom_toTopOf="@id/cardView2"/>

           <androidx.cardview.widget.CardView
               android:id="@ id/cardView2"
               android:layout_width="match_parent"
               android:layout_height="900dp"
               app:cardCornerRadius="16dp"
               app:layout_constraintBottom_toBottomOf="parent"
               app:layout_constraintEnd_toEndOf="parent"
               app:layout_constraintStart_toStartOf="parent"
               app:layout_constraintTop_toTopOf="parent" />

       </androidx.constraintlayout.widget.ConstraintLayout>

    </androidx.core.widget.NestedScrollView>
 

Как разместить CircleImageView поверх CardView, а также разместить TextInputLayout под CircleImageView?

Ответ №1:

Просто добавьте эту строку в свой CircleImageView

  android:elevation="5dp"
 

Комментарии:

1. Как разместить TextInputLayout ниже CircleImageView в CardView

2. @Pennox Возьмите за правило: для отображения фрейма или ограничения, если вы разместили представление под другим представлением (в коде), оно появится над ним в desgin.

3. @Pennox Также вы можете использовать атрибут android:высота, чтобы определить, какой вид отображается вверху, вид, у которого android:высота равна 5, будет над видом, у которого высота равна 2, и оба будут отображаться над видом, у которого высота 0.. и так далее.

Ответ №2:

Просто, на вашей CircleImageView съемочной android:elevation="8sp" площадке и чтобы избежать любого теневого использования android:outlineProvider="none"