2014-07-30 2 views
7

두 개의 뷰, CardView 및 ImageButton이있는 상대적 레이아웃이 있지만, IB를 cardview 위에 배치해야하지만, cardview는 z 인덱스를 준수하지 않습니다. 주문. 만약 내가 CardView를 LinearLayout으로 대체한다면, 그것은 좋아 보인다. 그래서 문제는 cardview 자체와 같다. CardView는 관계없이 레이아웃의 순서의 다른 뷰 위에 표시 할 것 고도 설정을 가지고, 안드로이드 L에Cardview는 상대 레이아웃에서 z 인덱스 순서를 존중하지 않습니다.

<RelativeLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:background="@drawable/icons_bg_whited" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
tools:context="com.noname.classmates.Activity.Register" 
tools:ignore="MergeRootFrame" 
android:padding="27dip"> 

<android.support.v7.widget.CardView 
    xmlns:card_view="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/card_view" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    card_view:cardCornerRadius="10dp" 
    android:layout_marginTop="38dip"> 

    <FrameLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:id="@+id/container"/> 
</android.support.v7.widget.CardView> 

<ImageButton 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/btn_upload_pic" 
    android:layout_centerHorizontal="true" 
    android:src="@drawable/upload_profile_pic" 
    android:contentDescription="@string/upload_profile_picture" 
    android:background="@android:color/transparent" /> </RelativeLayout> 

답변

13

:

여기 내 코드입니다. 버튼에 표고를 설정하거나 버튼을 CardView 안에 넣는 것이 좋습니다.

+0

또 다른 질문은 그림자를 얻지 않고 고도를 설정할 수 있습니까? – Edgar

+0

보기 그림자 및 윤곽선 사용자 정의 https://developer.android.com/training/material/shadows-clipping.html#Shadows – Hartok

+0

올바른 생각처럼 보입니다. 그러나 cardView 위의 가능한 모든 다른보기를 올리는 것은 전혀 작동하지 않습니다 ... 내 DrawerLayout은 여전히 ​​CardViews 아래에 나타납니다. – Radu