2014-05-15 14 views
12

मैंने अपने आवेदन में NavigationDrawer लागू किया है। मैं जानना चाहता हूं कि मैं नीचे की तस्वीर के समान मुख्य टुकड़े के नीचे एक लंबवत छाया प्रभाव कैसे जोड़ सकता हूं।एंड्रॉइड: नेविगेशन ड्रॉवर लंबवत छाया

enter image description here

मैं छाया छवि के साथ मेरी drawable पर एक छवि है। इसे "drawer_shadow.9" कहा जाता है लेकिन मुझे नहीं पता कि मैं इसे अपने NavigationDrawer के अंदर कैसे कार्यान्वित कर सकता हूं।

+1

कोई बात नहीं। मैं आपके लिए छवि में जोड़ना चाहता था क्योंकि मैं मदद करना चाहता था। StackOverflow में आपका स्वागत है! – rayryeng

+0

क्या 'drawer_shadow.9' भी दाएं तरफ दराज के लिए उपयोग योग्य है? –

+0

हां, ज़ाहिर है @AlexanderFarber आपको सही 'drawer_shadow.9' – Aspicas

उत्तर

26

आपको छाया के लिए एक ड्रॉ करने योग्य उपयोग करने की आवश्यकता होगी। नेविगेशन ड्रॉवर ऑब्जेक्ट पर setDrawerShadow विधि का उपयोग करें। उदाहरण के लिए:

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

आधिकारिक दस्तावेज के लिए लिंक: setDrawerShadow

आशा इस (दाईं ओर दराज) में मदद करता है

+0

प्राप्त करने की आवश्यकता है xml में ऐसा करने का कोई तरीका है? – RCB

+0

जो मुझे पता नहीं है। – user2511882

+0

क्या आप 'R.drawable.someDrawable' भाग के लिए जानकारी डाल सकते हैं। क्या आपके पास इसका नमूना है? क्या यह एक खींचने योग्य पीएनजी फ़ाइल है या 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

संबंधित मुद्दे