दिलचस्प पोस्ट
कर्ल और एचटीपीURL कनेक्शन – पोस्ट JSON डेटा जब माउस विंडो छोड़ता है तो मैं कैसे पता लगा सकता हूँ? Git हुक को रिपॉजिटरी में डाल देना स्टैंडअलोन के रूप में Django ORM का उपयोग करें अनन्त पृष्ठ स्क्रॉलिंग को सक्षम करने के लिए ViewPager बदल रहा है crti.o फ़ाइल लापता है JSG के साथ webjars.org से Font Awesome का उपयोग कैसे करें गज़ले 6 का उपयोग करके आप सभी एपीआई कॉलों को कैसे लॉग करते हैं ब्राउज़र के पसंदीदा / बुकमार्क को जावास्क्रिप्ट से जोड़ें लेकिन सभी ब्राउज़रों के लिए (मेरा Chrome में काम नहीं करता है)? जावास्क्रिप्ट फाइलों की सेवा करते समय, यह आवेदन / जावास्क्रिप्ट या एप्लिकेशन / एक्स-जावास्क्रिप्ट का इस्तेमाल करना बेहतर है SQL सर्वर में स्थानीय और वैश्विक अस्थायी तालिकाओं ज़िपफ़ाइल मॉड्यूल के साथ ज़िपफ़ाइल से फ़ाइल हटाएं उपयोगकर्ता ने लॉग इन करते समय मुझे PHP सत्र में स्टोर करने की क्या आवश्यकता है? LoadComplete और gridComplete घटनाओं में क्या अंतर है? सी # में नामकरण सम्मेलनों क्या हैं?

नेविगेशनदृश्य के लिए पाद लेख कैसे जोड़ें – एंड्रॉइड सपोर्ट डिज़ाइन लाइब्रेरी?

मैं NavitationView पाद सेटिंग्स और प्रोफ़ाइल आइटम कैसे सेट कर सकता हूं? ईमेल नेविगेशन ड्रॉवर द्वारा इनबॉक्स की तरह लग रहा है NavitationView आइटम मेनू संसाधन से फुलाया जाता है, लेकिन मुझे नहीं पता कि मेनू संसाधन में नीचे की वस्तुओं को कैसे सेट करना है, या मैं NavigationView या एक निचले ऑफसेट को कस्टम दृश्य कैसे सेट कर सकता हूं? मैंने इस <LinearLayout...> को पाद लेख के रूप में देखने का प्रयास किया है, लेकिन छोटी स्क्रीन पर पाद लेख आइटम पर डालता है और मैं मेनू स्क्रॉल नहीं कर सकता, मैंने NavigationView व्यू के लिए एक पाद लेख पैडिंग सेट करने की कोशिश की है, लेकिन पाद लेख भी पैडिंग लेता है ।

यह छोटी स्क्रीन पर स्क्रॉल नहीं है:

 <android.support.design.widget.NavigationView android:id="@+id/drawer" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_gravity="start" app:headerLayout="@layout/kuona_drawer_header" app:menu="@menu/drawer"> <LinearLayout...> </android.support.design.widget.NavigationView> 

नहीं स्कॉलिंग

यह स्क्रॉल, लेकिन पाद लेख इसके मेनू आइटम पर है:

 <android.support.design.widget.NavigationView android:id="@+id/drawer" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_gravity="start" android:paddingBottom="96dp" app:headerLayout="@layout/kuona_drawer_header" app:menu="@menu/drawer"> <LinearLayout...> </android.support.design.widget.NavigationView> 

यहां छवि विवरण दर्ज करें

ड्रॉवर मेन्यू res/menu/drawer.xml फ़ाइल:

 <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"> <group android:checkableBehavior="single"> <item android:id="@+id/action_current_list" android:checked="true" android:icon="@drawable/ic_current_list" android:title="@string/current_list" /> <item android:id="@+id/action_manage_lists" android:icon="@drawable/ic_my_lists" android:title="@string/my_lists" /> <item android:id="@+id/action_search_products" android:icon="@drawable/ic_search_black_24dp" android:title="@string/search_products" /> <item android:id="@+id/action_deals" android:icon="@drawable/ic_product_promo" android:title="@string/deals" /> </group> </menu> 

Solutions Collecting From Web of "नेविगेशनदृश्य के लिए पाद लेख कैसे जोड़ें – एंड्रॉइड सपोर्ट डिज़ाइन लाइब्रेरी?"

यदि आप अपने नेविगेशन मेनू में एक निश्चित (गैर-स्क्रॉलिंग) पाद लेख चाहते हैं, तो आपको नेविगेशन व्यू को दूसरे लेआउट के आसपास लपेट करना होगा, जैसे आपने पोस्ट किया है। नेविगेशनदृश्य फ़्रेम लेआउट की तरह कार्य करता है, इसलिए यह नेविगेशनदृश्य मेनू आइटम के शीर्ष पर स्थित आंतरिक लेआउट को "स्टैकिंग" समाप्त करता है। पाद लेख के लिए LinearLayout का उपयोग करके इसे व्यवस्थित करने का एक तरीका है:

फिक्स्ड फूटर

 <android.support.design.widget.NavigationView android:id="@+id/drawer" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_gravity="start" app:headerLayout="@layout/drawer_header" app:menu="@menu/drawer"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="bottom" android:clickable="true" android:orientation="vertical"> <TextView android:id="@+id/footer_item_1" android:layout_width="match_parent" android:layout_height="48dp" android:gravity="center" android:text="Footer Item 1" /> <TextView android:id="@+id/footer_item_2" android:layout_width="match_parent" android:layout_height="48dp" android:gravity="center" android:text="Footer Item 2" /> </LinearLayout> </android.support.design.widget.NavigationView> 

मैं इस उदाहरण में TextViews का उपयोग किया था, लेकिन आप पाद लेख के लिए जो चाहें उपयोग कर सकते हैं I मेनू के निचले हिस्से से ओवरलैप करने वाले पाद लेख आइटम से बचने के लिए, अपने मेनू संसाधन फ़ाइल के अंत में कुछ डमी आइटम जोड़ें (ये "स्पेसर" की तरह कार्य करेंगे):

रेस / मेनू / drawer.xml

 <menu xmlns:android="http://schemas.android.com/apk/res/android"> <group> <item android:id="@+id/nav_item_1" android:icon="@drawable/ic_nav_item_1" android:title="Nav Item 1" /> <item android:id="@+id/nav_item_2" android:icon="@drawable/ic_nav_item_2" android:title="Nav Item 2" /> <item android:id="@+id/nav_item_3" android:icon="@drawable/ic_nav_item_3" android:title="Nav Item 3" /> <item android:id="@+id/nav_item_4" android:icon="@drawable/ic_nav_item_4" android:title="Nav Item 4" /> <item android:id="@+id/footer_spacer_1" android:checkable="false" android:enabled="false" android:orderInCategory="200" android:title="" /> <item android:id="@+id/footer_spacer_2" android:checkable="false" android:enabled="false" android:orderInCategory="200" android:title="" /> </group> </menu> 

अंत में, वास्तविक पाद लेख के लिए अपनी गतिविधि में क्लिक श्रोताओं को जोड़ने के लिए मत भूलना:

 ... // Click listener for nav footer. View navFooter1 = findViewById(R.id.footer_item_1); navFooter1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // Do footer action } }); View navFooter2 = findViewById(R.id.footer_item_2); navFooter2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // Do footer action } }); ... 

स्क्रोलिंग पादलेख

यदि आप पाईटर को बाकी नेविगेशन व्यू के साथ स्क्रॉल करने की अनुमति देते हैं, तो यह चीजें आसान बनाता है (कोई अतिरिक्त लेआउट या श्रोताओं पर क्लिक नहीं किया जाता है) बस अपने मेनू संसाधन फ़ाइल में एक अद्वितीय <group> रूप में पाद लेख जोड़ें (यह एक विभाजक रेखा बना देगा), और सब कुछ स्वचालित रूप से संभाला जाएगा और एक साथ स्क्रॉल करेगा:

रेस / मेनू / drawer.xml

 <menu xmlns:android="http://schemas.android.com/apk/res/android"> <group android:id="@+id/nav_menu"> <item android:id="@+id/nav_item_1" android:icon="@drawable/ic_nav_item_1" android:title="Nav Item 1" /> <item android:id="@+id/nav_item_2" android:icon="@drawable/ic_nav_item_2" android:title="Nav Item 2" /> <item android:id="@+id/nav_item_3" android:icon="@drawable/ic_nav_item_3" android:title="Nav Item 3" /> <item android:id="@+id/nav_item_4" android:icon="@drawable/ic_nav_item_4" android:title="Nav Item 4" /> </group> <group android:id="@+id/nav_footer"> <item android:id="@+id/nav_footer_1" android:icon="@drawable/ic_footer_item_1" android:title="Footer Item 1" /> <item android:id="@+id/nav_footer_2" android:icon="@drawable/ic_footer_item_2" android:title="Footer Item 2" /> </group> </menu> 

मैं आपको यह संकेत दे दूँ कि कैसे इसे हल करना है, लेकिन मुझे नेविगेशनदृश्य पर इसका परीक्षण करने का कोई मौका नहीं है, और मुझे पूरा यकीन है कि यह काम करेगा

यहां नमूना लेआउट xml;

 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:clipToPadding="false" android:paddingBottom="96dp"> <TextView android:layout_width="match_parent" android:layout_height="match_parent" android:background="#6F00" /> <TextView android:layout_width="match_parent" android:layout_height="96dp" android:layout_gravity="bottom" android:layout_marginBottom="-96dp" android:background="#600F" /> </FrameLayout> 

यहाँ परिणाम है:

यहां छवि विवरण दर्ज करें

यह चाल माता-पिता के लिए पैडिंग और बच्चे को माइनस मार्जिन लागू करने से है।


त्वरित प्रयास करें:

 <?xml version="1.0" encoding="utf-8"?> <android.support.design.widget.NavigationView 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:layout_gravity="start" android:clipToPadding="false" android:paddingBottom="96dp" app:headerLayout="@layout/sample_header" app:menu="@menu/sample_menu"> <TextView android:layout_width="match_parent" android:layout_height="96dp" android:layout_gravity="bottom" android:layout_marginBottom="-96dp" android:background="#600F" android:gravity="center" android:text="I STAND BY MY SELF" /> </android.support.design.widget.NavigationView> 

यहां छवि विवरण दर्ज करें

आपको एक कंटेनर नेविगेशन व्यू लेआउट की आवश्यकता है और फिर इसमें दो और नेविगेशन लेआउट शामिल होने चाहिए। आप उन मूल लेआउट के शीर्ष और नीचे पंक्तिबद्ध करते हैं

मैं एक नेविगेशन दृश्य को माता-पिता के रूप में उपयोग करने की सलाह देता हूं, फ़्रेमलेआउट नहीं, क्योंकि यह अनिवार्य रूप से एक ScrimframeLayout है और स्टेटस बार के साथ बेहतर संपर्क करता है

आपकी गतिविधि किस प्रकार दिखनी चाहिए इसका उदाहरण यहां दिया गया है:

 <android.support.v4.widget.DrawerLayout 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:id="@+id/layout_dashboard" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" tools:context=".MainActivity"> <!-- Activity content goes here --> <android.support.design.widget.NavigationView android:id="@+id/navigation_drawer_container" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_gravity="start"> <android.support.design.widget.NavigationView android:id="@+id/navigation_drawer" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_gravity="top" app:menu="@menu/menu_navigation_drawer" /> <android.support.design.widget.NavigationView android:id="@+id/navigation_drawer_bottom" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="bottom" app:menu="@menu/menu_navigation_drawer_bottom" /> </android.support.design.widget.NavigationView> 

आप इसके बारे में अधिक पढ़ सकते हैं और यहां एक उदाहरण देख सकते हैं: http://blog.nitish.io/post/122633295558/android-design-library-navigationview-with-top

सबसे आसान जवाब है एक बटन दराज लेआउट के अंदर जोड़ने और navigationview.xml । Xml में गुरुत्वाकर्षण को नीचे सेट करें।

यहां कोड है:

 <?xml version="1.0" encoding="utf-8"?> <android.support.design.widget.NavigationView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/navigation" android:layout_width="200dp" android:layout_height="match_parent" android:layout_gravity="start" app:headerLayout="@layout/navigation_header" app:menu="@menu/menu_navigation"> <Button android:id="@+id/btn_sing_in" android:layout_width="match_parent" android:layout_height="50dp" android:text="@string/sign_in" android:layout_gravity="bottom"/> </android.support.design.widget.NavigationView> 

यहाँ परिणाम है

घोंसले के शिकार नेविगेशन विचारों के अन्य उत्तरों में वर्णित दृष्टिकोणों के बाद, कुछ समस्याएं सामने आईं:

  • कई मदों के साथ, या लैंडस्केप मोड पर, पाद लेख मेनू आइटम के साथ ओवरलैप किया गया
  • अगर वास्तविक मेनू में बहुत सी चीजें हैं, तो नेस्टेड नेविगेशनदृश्य को स्क्रॉल मिलता है, जो अच्छा नहीं दिख रहा था
  • घोंसले के शिकार में दो नेविगेशन व्यू होने के कारण, कस्टम विचारों को पादलेख के रूप में परिभाषित करने की अनुमति नहीं दी गई।
  • नेस्टेड स्क्रॉलएव्यू का संचालन एक गड़बड़ था (कभी-कभी दो स्क्रॉलबारों को दिखाया गया आदि)
  • फिक्स्ड फूटर हमेशा नीचे होना चाहिए (कुछ के साथ-साथ कई मेनू आइटम के साथ)

इन सभी समस्याओं के लिए मेरा समाधान निम्न था:

 <?xml version="1.0" encoding="utf-8"?> <android.support.v4.widget.DrawerLayout ...> <include layout="@layout/main_content"/> <android.support.design.widget.NavigationView ...> <android.support.v4.widget.NestedScrollView ... android:fillViewport="true" android:scrollbars="vertical"> <LinearLayout ... android:orientation="vertical"> <android.support.design.widget.NavigationView ... app:elevation="0dp" app:headerLayout="@layout/nav_header" app:menu="@menu/nav_menu"> </android.support.design.widget.NavigationView> <LinearLayout android:id="@+id/spacer_to_bottom" ... android:layout_height="0dp" android:layout_weight="1"> </LinearLayout> <include layout="@layout/nav_footer"></include> </LinearLayout> </android.support.v4.widget.NestedScrollView> </android.support.design.widget.NavigationView> </android.support.v4.widget.DrawerLayout> 

यहां, नेस्टेडस्कॉलव्यू उप-नेविगेशनदृश्य के लिए एक स्क्रॉलिंग मापदंड के रूप में कार्य करता है। इसका मतलब है कि, उप-नेविगेशनदृश्य स्क्रॉलबार स्वयं ही प्रदर्शित नहीं करता है, लेकिन पूरी सामग्री को एक सपाट रूप में दिखाया गया है।

लेआउट 'spacer_to_bottom' सभी शेष स्थान को भरता है, ताकि कुछ मेनू आइकन के साथ, फ़ूटर अभी भी नीचे है

अंत में, फिक्स्ड पादलेख रैखिक लेआउट में जोड़ा जाता है, जो वास्तविक मेनू (उप-नेविगेशन व्यू) से शुरू होता है, स्पेसर, और तल पर तल पर है

यहां आप AndroidStudio-Project: https://github.com/MarcDahlem/AndroidSidemenuFooter उदाहरण के रूप में पूर्णतः काम कर रहे उदाहरण पा सकते हैं

विशेष रूप से नेविगेशन ड्रॉवर यहां पाया जा सकता है: https://github.com/MarcDahlem/AndroidSidemenuFooterExample/blob/master/app/src/main/res/layout/activity_main.xml

स्क्रीनशॉट:

कुछ आइटम कई आइटम

अपने दृष्टिकोण के बाद, कुछ मामूली बदलाव आपको जो हासिल करना चाहते हैं, उसकी मदद कर सकते हैं।

 <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="bottom" android:background="@color/background_material_light"> <TextView android:id="@+id/footer_item" android:layout_width="match_parent" android:layout_height="?attr/listPreferredItemHeight" android:background="?attr/selectableItemBackground" android:gravity="center_vertical" android:paddingLeft="?attr/listPreferredItemPaddingLeft" android:text="Something" android:textAppearance="?attr/textAppearanceListItem" /> </LinearLayout> 

और मेनू में कुछ स्टब आइटम सेट करें, ताकि मेनू आइटम ओवरलैप न हो जाए।

 <group> ... <item android:title="" android:orderInCategory="200"/> </group> 

इसके अलावा आप अपने पाद लेख आइटम पर एक क्लिक श्रोता जोड़ना चाहते हैं।

इसके एक प्रकार का बमर जो नेविगेशनदृश्य में पाद लेख जोड़ने का कोई प्रावधान नहीं है। लेकिन आप ऐसा कुछ करने की कोशिश कर सकते हैं,

 <?xml version="1.0" encoding="utf-8"?> <android.support.v4.widget.DrawerLayout 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:id="@+id/drawer_layout" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" tools:openDrawer="start"> <include layout="@layout/app_bar_base" android:layout_width="match_parent" android:layout_height="match_parent" /> <android.support.design.widget.NavigationView android:id="@+id/nav_view_container" android:layout_width="wrap_content" android:layout_height="match_parent" android:fitsSystemWindows="false" android:layout_gravity="start" > <android.support.design.widget.NavigationView android:id="@+id/nav_view" android:layout_width="wrap_content" android:layout_height="wrap_content" android:scrollbarAlwaysDrawVerticalTrack="true" android:scrollbars="vertical" android:isScrollContainer="true" app:headerLayout="@layout/nav_header_base" app:menu="@menu/activity_base_drawer" android:layout_gravity="top" android:layout_marginBottom="x" /> <android.support.design.widget.NavigationView android:id="@+id/nav_view_footer" android:layout_width="wrap_content" android:layout_height="x" app:headerLayout="@layout/hear_layout" app:menu="@menu/menu_items" android:scrollbars="none" android:layout_gravity="bottom" /> </android.support.design.widget.NavigationView> </android.support.v4.widget.DrawerLayout> 

यदि आपका पाद लेख एक सूची है,

  app:headerLayout="@null" app:menu="@menu/activity_base_drawer_footer" 

लेकिन, अगर यह कोई कस्टम दृश्य है,

  app:headerLayout="@layout/my_cutom_footer_view" app:menu="@null" 

इसके अलावा, इस मामले में, आपको x = height of your custom footer view निर्धारित करने की आवश्यकता होगी

आशा करता हूँ की ये काम करेगा।

NavigationView पहला बच्चा ListView जिसमें हेडर और मेनू आइटम शामिल हैं।

एक पाद लेख जोड़ने के लिए केवल एक चीज को कॉल करना है। AddFooterView को ListView पर कॉल करें

अधिक जानकारी: http://www.andreabaccega.com/blog/2015/08/28/how-to-add-footer-to-navigationview/

पेस्ट कोड कॉपी करें:

 public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); ListView listView = (ListView) navigationView.getChildAt(0); View toRet = LayoutInflater.from(view.getContext()).inflate(R.layout.drawer_footer, listView, false); // Manipulate the view (if you need to) before calling addFooterView. listView.addFooterView(toRet, null, false); } 

निश्चित पाद लेख और स्क्रॉल मेनू के साथ मेरा समाधान (100% परीक्षण किया गया)

  <android.support.design.widget.NavigationView android:id="@+id/container_navigation" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_gravity="" android:nestedScrollingEnabled="true" android:scrollIndicators="none"> <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.design.widget.NavigationView android:id="@+id/navigation" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_above="@+id/navigation2" android:layout_gravity="top" android:nestedScrollingEnabled="true" android:paddingBottom="@dimen/dimen_20_dp" app:headerLayout="@layout/nav_header" app:itemIconTint="@color/black_800" app:itemTextColor="@color/black_800" app:menu="@menu/navigation_drawer_items"> </android.support.design.widget.NavigationView> <android.support.design.widget.NavigationView android:id="@+id/navigation2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="bottom" android:background="@color/white_100" android:orientation="horizontal"> <TextView android:id="@+id/empty_spacer" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:drawableTop="@drawable/ic_search" android:gravity="center" android:text="Share" /> <TextView android:id="@+id/mnuRate" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:drawableTop="@drawable/ic_search" android:gravity="center" android:text="Rate" /> <TextView android:id="@+id/mnuHelp" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:drawableTop="@drawable/ic_search" android:gravity="center" android:text="Help" /> </LinearLayout> </android.support.design.widget.NavigationView> </RelativeLayout> </android.support.design.widget.NavigationView> 

बस अपने नेविगेशनदृश्य के अंदर एक और लेआउट डाल:

 <android.support.design.widget.NavigationView android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_gravity="start" android:background="#000000" app:itemTextColor="#FFFFFF" app:headerLayout="@layout/fragment_side_menu_header" app:menu="@menu/side_menu"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:layout_gravity="bottom"> <TextView android:textColor="#FFFFFF" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="test" /> <TextView android:textColor="#FFFFFF" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="test2" /> </LinearLayout> </android.support.design.widget.NavigationView> 

चाल को layout_gravity = "bottom" का उपयोग करना है – यह आपके पूरे लेआउट को नीचे और टेस्ट पर रखेगा, test2 ठीक से स्टैक किया जाएगा।

इसे इस्तेमाल करो..

 <android.support.design.widget.NavigationView android:id="@+id/navigation" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_gravity="start" app:headerLayout="@layout/nav_header" app:itemIconTint="@color/accent" app:itemTextColor="@color/primary_text" app:menu="@menu/navigation_drawer_items"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="bottom" android:background="@color/grey_200" android:orientation="vertical"> <View android:layout_width="match_parent" android:layout_height="@dimen/divider_height" android:background="@color/grey_600"/> <com.facebook.share.widget.LikeView android:id="@+id/like_view" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="start" android:padding="@dimen/small"/> <com.facebook.login.widget.LoginButton android:id="@+id/login_button" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="@dimen/small"/> </LinearLayout> </android.support.design.widget.NavigationView> 

फिर नेविगेशनमेनू दृश्य में नीचे पैडिंग सेट करें

 final View menuView = navigationView.getChildAt(0); final View bottomView = navigationView.getChildAt(1); bottomView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { @Override public void onGlobalLayout() { menuView.setPadding(0, 0, 0, bottomView.getMeasuredHeight()); } }); 

मैं इस फॉर्म का उपयोग करता हूं, मेरे लिए काम करना परिदृश्य और चित्र में

 <android.support.design.widget.NavigationView android:id="@+id/nav_view" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_gravity="start"> <LinearLayout android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.design.widget.NavigationView android:id="@+id/navigation" android:layout_width="wrap_content" android:layout_height="0dp" android:layout_weight="1" app:headerLayout="@layout/master_main_header" app:itemIconTint="@color/blue" app:menu="@menu/menu_drawer"> </android.support.design.widget.NavigationView> <Button android:id="@+id/master_btn_closession" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="0" android:background="@color/blue" android:text="Cerrar sesión" /> </LinearLayout> </android.support.design.widget.NavigationView> 

कोशिश करो, मेरे लिए यह काम।

 <android.support.design.widget.NavigationView android:id="@+id/nav_view1" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_gravity="start" android:fitsSystemWindows="true"> <ScrollView android:layout_width="wrap_content" android:layout_height="match_parent"> <LinearLayout android:layout_width="wrap_content" android:layout_height="match_parent" android:orientation="vertical"> <android.support.design.widget.NavigationView android:layout_width="wrap_content" android:layout_height="match_parent" android:id="@+id/nav_view" app:headerLayout="@layout/nav_header_admin" app:menu="@menu/activity_admin_drawer"/> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:id="@+id/lyNavFooter"> <!--INCLUDE YOUR FOOTER HERE --> </LinearLayout> </LinearLayout> </ScrollView> </android.support.design.widget.NavigationView> 

 <include layout="@layout/app_bar_main" android:layout_width="match_parent" android:layout_height="match_parent" /> <android.support.design.widget.NavigationView android:layout_width="match_parent" android:layout_height="match_parent" android:layout_gravity="start" android:fitsSystemWindows="true" app:menu="@menu/activity_main_drawer"> <android.support.v4.widget.NestedScrollView android:layout_width="match_parent" android:layout_height="match_parent" android:fillViewport="true" android:scrollbars="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> <android.support.design.widget.NavigationView android:id="@+id/nav_view" android:layout_width="match_parent" android:layout_height="wrap_content" app:elevation="0dp" app:headerLayout="@layout/nav_header_main" app:menu="@menu/activity_main_drawer"> ></android.support.design.widget.NavigationView> <LinearLayout android:id="@+id/spacer_to_bottom" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:orientation="vertical" /> </LinearLayout> </android.support.v4.widget.NestedScrollView> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="bottom" android:layout_marginBottom="0dp"> <include layout="@layout/nav_footer_main" /> </LinearLayout> </android.support.design.widget.NavigationView> 

यह मेरे लिए नेविगेशन ड्रॉवर (चित्र और लैंडस्केप अभिविन्यास) के पाद पर छवियां डाल रहा है

  <?xml version="1.0" encoding="utf-8"?> <android.support.v4.widget.DrawerLayout 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:id="@+id/drawer_layout" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" tools:openDrawer="start"> <include layout="@layout/app_bar_main3" android:layout_width="match_parent" android:layout_height="match_parent" /> <android.support.design.widget.NavigationView android:layout_width="match_parent" android:layout_height="match_parent" android:layout_gravity="start" android:background="#f00" android:fitsSystemWindows="true" app:menu="@menu/activity_main3_drawer"> <android.support.v4.widget.NestedScrollView android:layout_width="match_parent" android:fillViewport="true" android:layout_height="match_parent" android:scrollbars="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> <android.support.design.widget.NavigationView android:id="@+id/nav_view" app:elevation="0dp" android:layout_height="wrap_content" android:layout_width="match_parent" android:background="#ff0" app:headerLayout="@layout/nav_header_main3" app:menu="@menu/activity_main3_drawer"> ></android.support.design.widget.NavigationView> <LinearLayout android:id="@+id/spacer_to_bottom" android:layout_width="match_parent" android:orientation="vertical" android:background="#0f0" android:layout_height="0dp" android:layout_weight="1"> <include layout="@layout/nav_footer_main3"></include> </LinearLayout> </LinearLayout> </android.support.v4.widget.NestedScrollView> </android.support.design.widget.NavigationView> </android.support.v4.widget.DrawerLayout> 

मेरा nav_footer_main3 है

  <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="60dp"> <ImageView android:id="@+id/imageView" android:layout_gravity="center_horizontal" android:layout_width="200dp" android:layout_height="50dp" android:background="@drawable/logo_1" /> </LinearLayout> 

संस्करण के लिए स्क्रोलिंग पादलेख> 23.xx

आखिरकार मैं जो चाहता था उसे हासिल करने में कामयाब रहा, दुर्भाग्यवश ऐसा लगता है कि अभी सूचीई दृश्य के संदर्भ को पकड़ना और 23.xx के संस्करण के रूप में एक शीर्ष और पाद लेख जोड़ने के लिए संभव नहीं है (जैसा कि एंड्रिया बासीगा द्वारा वर्णित है)। हेडर के लिए यह करना अभी भी संभव है:

  <android.support.design.widget.NavigationView .. app:headerLayout="@layout/item_drawer_footer" .. /> 

लेकिन फिलहाल पाद लेख जोड़ना संभव नहीं है। हालांकि, मुझे एक वैकल्पिक हल मिल गया है यदि आप बस पाद लेख जोड़ने का प्रयास कर रहे हैं: आप केवल दृश्य को उल्टा करते हैं, यह उस शीर्ष पर हैडर को जोड़ देगा जो सामान्य पाद लेख की तरह व्यवहार करता है बस अपने मेनू को रिवर्स ऑर्डर में बनाना सुनिश्चित करें

  // Grab reference to the embedded recycler view RecyclerView mRecyclerView = (RecyclerView) navigationView.getChildAt(0); // Create a LinearLayoutManager and set it to reversed LinearLayoutManager mLayoutManager = new LinearLayoutManager(this); mLayoutManager.setReverseLayout(true); // Apply layout manager to the recycler view mRecyclerView.setLayoutManager(mLayoutManager); 

नेविगेशन के तल पर लेआउट जोड़ने के लिए मैं इसे प्राप्त करता हूं:

  <android.support.design.widget.NavigationView android:id="@+id/navigation_drawer_container" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_gravity="start"> <android.support.v4.widget.NestedScrollView android:layout_width="match_parent" android:layout_height="match_parent" android:fillViewport="true"> <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:weightSum="1"> <android.support.design.widget.NavigationView android:id="@+id/nav_view" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_gravity="top" android:layout_weight="0.8" app:headerLayout="@layout/nav_header_home" app:menu="@menu/activity_home_drawer" /> <android.support.design.widget.NavigationView android:id="@+id/navigation_drawer_bottom" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_below="@+id/nav_view" android:layout_weight="0.2"> <LinearLayout android:id="@+id/linearLayout" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_below="@+id/scrollView" android:orientation="vertical"> <TextView android:id="@+id/text_dashboard_followUsAt" android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingLeft="16dp" android:paddingStart="16dp" android:text="Follow us at" /> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" android:paddingLeft="16dp" android:paddingStart="16dp"> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="5dp" android:src="@drawable/fb" /> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="5dp" android:src="@drawable/fb" /> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="5dp" android:src="@drawable/fb" /> </LinearLayout> <TextView android:id="@+id/text_dashboard_version" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="end" android:layout_marginTop="25dp" android:paddingBottom="5dp" android:paddingEnd="16dp" android:paddingRight="16dp" android:text="Version 1.0" /> </LinearLayout> </android.support.design.widget.NavigationView> </LinearLayout> </RelativeLayout> </android.support.v4.widget.NestedScrollView> </android.support.design.widget.NavigationView>