2014-05-15 30 views
12

Tôi đã triển khai NavigationDrawer trong đơn đăng ký của mình. Tôi muốn biết làm thế nào tôi có thể thêm một hiệu ứng đổ bóng dọc mà là dưới Fragment chính, tương tự như hình dưới đây.Android: Điều hướng Ngăn chặn bóng dọc

enter image description here

Tôi có một hình ảnh có thể vẽ được bằng hình ảnh bóng. Nó được gọi là "drawer_shadow.9" nhưng tôi không biết làm thế nào tôi có thể thực hiện điều này bên trong của tôi NavigationDrawer.

+1

Không có vấn đề. Tôi muốn thêm hình ảnh cho bạn bởi vì tôi muốn giúp đỡ. Chào mừng bạn đến với StackOverflow! – rayryeng

+0

Bạn có thể sử dụng 'drawer_shadow.9' cho ngăn kéo bên phải không? –

+0

vâng, tất nhiên @AlexanderFarber bạn cần có đúng 'drawer_shadow.9' – Aspicas

Trả lời

26

Bạn sẽ cần phải sử dụng một bản vẽ cho bóng. Sử dụng phương thức setDrawerShadow trên đối tượng NavigationDrawer. Ví dụ:

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

Liên kết với các tài liệu chính thức: setDrawerShadow

Hope this helps

+0

Có cách nào để làm điều đó trong xml không? – RCB

+0

không phải là nhận thức được. – user2511882

+0

Bạn có thể đặt thông tin cho phần 'R.drawable.someDrawable'. Bạn có một mẫu cho điều đó không? Nó có phải là một tệp png có thể kéo được hay giống như một gradient thông qua xml? – RCB

1

(Drawer trên bên phải) Hoạt động bố trí:

<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 bóng:

<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> 

hiệu lực:

enter image description here

Các vấn đề liên quan