3

我开发一个应用程序,我作出了如下布局:如何使CardView通过CardView?请参阅细节

enter image description here

有一个CircleImageViewCardView

这里的XML代码:

<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    app:layout_behavior="@string/appbar_scrolling_view_behavior" 
    tools:context="com.playrapp.playr.Profile" 
    tools:showIn="@layout/activity_profile"> 

    <android.support.v7.widget.CardView 
     android:id="@+id/profileCard" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_centerInParent="true" 
     app:contentPadding="10dp"> 

</android.support.v7.widget.CardView> 

    <de.hdodenhof.circleimageview.CircleImageView 
     android:id="@+id/userImageProfile" 
     android:layout_width="150dp" 
     android:layout_height="150dp" 
     android:layout_marginTop="50dp" 
     android:src="@mipmap/ic_launcher" 
     android:layout_centerHorizontal="true"/> 

</RelativeLayout> 

这里,cardview是在ImageView的。我希望imageview能够通过cardview。我怎样才能做到这一点?

请让我知道。

+0

包装在一个虚拟的LinearLayout –

回答

1

CardView在默认情况下在xml文件中设置为app:elevation="0dp"

+0

此做了工作,但cardview不再看看卡片! :/ –

+0

你是什么意思?你能分享一个截图吗? – Katharina

+0

只有一个问题 - 为什么你想在Cardview上放置一个图像?你不能把它放进去吗? – Katharina

4

CardView的海拔高于CircleImageView。因此,您必须将较高的海拔高度设置为CircleImageView才能显示在CardVew之上。

设置CardView海拔为app:cardElevation="4dp",并设置CircleImageView海拔为android:elevation="8dp"

这里是工作的XML代码。试试这个:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    app:layout_behavior="@string/appbar_scrolling_view_behavior"> 

    <android.support.v7.widget.CardView 
     android:id="@+id/profileCard" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_centerInParent="true" 
     android:layout_margin="16dp" 
     app:cardCornerRadius="4dp" 
     app:cardElevation="4dp" 
     app:cardUseCompatPadding="false" > 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:orientation="vertical" 
      android:gravity="center_horizontal" 
      android:layout_marginTop="75dp" 
      android:padding="24dp"> 

      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="Hammad Nasir" 
       android:textSize="32sp" 
       android:textColor="#727272"/> 

      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="\@hammadnasir" 
       android:textSize="24sp" 
       android:textColor="#727272" /> 

     </LinearLayout> 
    </android.support.v7.widget.CardView> 


    <de.hdodenhof.circleimageview.CircleImageView 
     android:id="@+id/userImageProfile" 
     android:layout_width="150dp" 
     android:layout_height="150dp" 
     android:layout_marginTop="75dp" 
     android:layout_centerHorizontal="true" 
     android:src="@mipmap/ic_launcher" 
     android:elevation="8dp" /> 

</RelativeLayout> 

OUTPUT:

enter image description here

希望这将有助于〜