【问题标题】:How to place view on top of another using constraint layout?如何使用约束布局将视图放在另一个视图之上?
【发布时间】:2021-11-24 10:33:23
【问题描述】:

我正在尝试将 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 之下?

【问题讨论】:

    标签: android android-constraintlayout


    【解决方案1】:

    只需将此行添加到您的CircleImageView

     android:elevation="5dp"
    

    【讨论】:

    • 如何在 CardView 中的 CircleImageView 下面放置 TextInputLayout
    • @Pennox 遵守规则:对于 FrameLayout 或 ConstraintLayout,如果您将视图放在另一个视图下(在代码中),它将出现在他的设计中。
    • @Pennox 您还可以使用 android:elevation 属性来确定哪个视图出现在顶部,具有 android:elevation 等于 5 的视图将超过具有等于 2 的视图和两者将出现在具有高度 0.. 的视图上,依此类推。
    【解决方案2】:

    简单地说,在您的CircleImageView 上设置android:elevation="8sp" 并避免任何阴影使用android:outlineProvider="none"

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-09-28
      • 1970-01-01
      • 1970-01-01
      • 2020-03-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多