2014-05-15 19 views
12

내 응용 프로그램에 NavigationDrawer을 구현했습니다. 아래 그림과 같이 주요 조각 아래에 세로 그림자 효과를 어떻게 추가 할 수 있는지 알고 싶습니다.안드로이드 : 내비게이션 서랍 세로 그림자

enter image description here

나는 그림자 이미지 내 당김에 하나 개의 이미지가 있습니다. "drawer_shadow.9"라고 부르지 만, 이걸 내 NavigationDrawer 안에 어떻게 구현할 수 있는지 모르겠습니다.

+1

문제가 없습니다. 내가 도와주고 싶었 기 때문에 나는 이미지를 추가하고 싶었다. StackOverflow에 오신 것을 환영합니다! – rayryeng

+0

'drawer_shadow.9'도 오른쪽 서랍에 사용할 수 있습니까? –

+0

네, 당연히 @AlexanderFarber 당신은 올바른'drawer_shadow.9'가 필요합니다 – Aspicas

답변

26

그림자에 드로어 블을 사용해야합니다. navigationDrawer 개체에 setDrawerShadow 메서드를 사용하십시오. 예를 들면 :

navigationDrawer.setDrawerShadow(R.drawable.someDrawable, GravityCompat.START); 

공식 문서에 대한 링크 : setDrawerShadow

는 희망이 (오른쪽에 서랍)

+0

XML에서 그것을 할 수있는 방법이 있습니까? – RCB

+0

알고 있지 않습니다. – user2511882

+0

'R.drawable.someDrawable' 부분에 대한 정보를 넣을 수 있습니까? 그 견본이 있습니까? drawable png 파일입니까, 아니면 xml을 통한 그라디언트입니까? – RCB

1

을하는 데 도움이 활동 레이아웃 :

<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:id="@+id/drawer_layout" 
android:layout_width="match_parent" 
android:layout_height="match_parent"> 

<LinearLayout 
    ... 
</LinearLayout> 

<LinearLayout 
    android:layout_width="280dp" 
    android:layout_height="match_parent" 
    android:layout_gravity="end" 
    android:orientation="horizontal"> 

    <View 
     android:layout_width="20dp" 
     android:layout_height="match_parent" 
     android:background="@drawable/drawer_shadow" 
     android:paddingEnd="0dp" 
     android:paddingLeft="-20dp" 
     android:paddingRight="0dp" 
     android:paddingStart="-20dp" /> 

    <fragment 
     android:id="@+id/fragment_drawer" 
     android:name="com.....HomeDrawer" 
     android:layout_width="260dp" 
     android:layout_height="match_parent" 
     android:layout_gravity="end" 
     android:choiceMode="singleChoice" 
     tools:layout="@layout/drawer_home" /> 

</LinearLayout></android.support.v4.widget.DrawerLayout> 

draver 그림자 :

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
<item> 
    <shape> 
     <gradient 
      android:startColor="#00FFFFFF" 
      android:endColor="#f2e9e9e9" 
      android:type="linear" /> 
     <size 
      android:height="@dimen/activity_vertical_margin" 
      android:width="5dp"> 
     </size> 
    </shape> 
</item> 

효과 :

enter image description here

관련 문제