समर्थन lib से NavigationView
का उपयोग करके आप जो प्रभाव चाहते हैं उसे प्राप्त किया जा सकता है।
आप उस here पर एक पूर्ण ट्यूटोरियल पा सकते हैं। और आप उस ट्यूटोरियल here से पूर्ण स्रोत कोड डाउनलोड कर सकते हैं।
और here's another nice tutorial जो आप अनुसरण कर सकते हैं।
लेकिन लंबी कहानी छोटी, यह दृश्य दो मुख्य भागों, एक शीर्षलेख और मेनू भाग के बीच विभाजित है, और उनमें से प्रत्येक को आपको XML पर परिभाषित करना होगा।
कि ट्यूटोरियल से के रूप में:
हैडर देखें
यह दृश्य मूल रूप से नेविगेशन दराज, जो प्रोफ़ाइल चित्र, नाम रखती है और ईमेल आदि आप जरूरत के शीर्ष भाग है इसे एक अलग लेआउट फ़ाइल में परिभाषित करने के लिए हम उसमें में बस एक पल देखेंगे।
मेनू
यह मेनू आपको अपनी शीर्षक के नीचे दिखाना चाहते है, हम एक मेनू फ़ोल्डर में मेनू को परिभाषित है, जैसे आप अपने अतिप्रवाह मेनू के लिए मेनू परिभाषित करते हैं। तो मूल रूप से नेविगेशन व्यू हेडर व्यू और मेनू जो आप अपने स्लाइडिंग ड्रॉवर में उपयोग करने जा रहे हैं, के लिए एक कंटेनर है। तो अब कि आप नेविगेशन व्यू को समझते हैं, हम अपने नेविगेशन ड्रॉवर का निर्माण शुरू कर सकते हैं।
इसी के साथ
मन में, अपने शीर्ष लेख का निर्माण के रूप में आप किसी भी अन्य लेआउट के साथ करना होगा। और मेनू कुछ हद तक टूलबार/एक्शनबार मेनू की तरह परिभाषित किया गया है। उदा .:
navigation_menu.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/drawer_home"
android:checked="true"
android:icon="@drawable/icon_home"
android:title="@string/title_home"/>
<item
android:id="@+id/drawer_content"
android:icon="@drawable/icon_content"
android:title="@string/title_content"/>
<item
android:id="@+id/drawer_about"
android:icon="@drawable/icon_about"
android:title="@string/title_about"/>
<item
android:id="@+id/drawer_exit"
android:icon="@drawable/icon_exit"
android:title="@string/title_exit"/>
</group>
</menu>
फिर, पर अपने Activity
आप बस एक ट्यूटोरियल में पाया की तरह एक लेआउट बनाने के लिए, NavigationView
के साथ DrawerLayout
का उपयोग कर करना होगा।
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/drawer"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:context=".MainActivity">
<LinearLayout
android:layout_height="match_parent"
android:layout_width="match_parent"
android:orientation="vertical"
>
<include
android:id="@+id/toolbar"
layout="@layout/tool_bar"/>
<FrameLayout
android:id="@+id/frame"
android:layout_width="match_parent"
android:layout_height="match_parent">
</FrameLayout>
</LinearLayout>
<android.support.design.widget.NavigationView
android:id="@+id/navigation_view"
android:layout_height="match_parent"
android:layout_width="wrap_content"
android:layout_gravity="start"
app:headerLayout="@layout/header"
app:menu="@menu/navigation_menu"/>
</android.support.v4.widget.DrawerLayout>
तुम भी प्रत्येक स्क्रीन आप इस NavigationView
साथ प्रदर्शित करना चाहते हैं के लिए कुछ Fragments
बनाना होगा। के बाद आप उस किया है, पर अपने Activity
आप NavigationView.OnNavigationItemSelectedListener
, इस तरह लागू करने से चयन की घटनाओं को संभाल कर सकते हैं:
public class MainActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener {
// Your Activity
@Override
public boolean onNavigationItemSelected(MenuItem menuItem) {
Fragment fragment = null;
switch(menuItem.getItemId()) {
case R.id.drawer_home:
fragment = new YourFragment();
break;
case R.id.drawer_content:
fragment = new AnotherFragment();
break;
case R.id.drawer_about:
fragment = new AboutFragment();
break;
case R.id.drawer_exit:
// TODO - Prompt to exit.
finish();
break;
}
if (fragment == null) {
fragment = new YourFragment();
}
drawerLayout.closeDrawers();
FragmentManager fragmentManager = getSupportFragmentManager();
fragmentManager.beginTransaction()
.replace(R.id.container, fragment)
.commit();
return true;
}
}
आपके संपादन के लिए के रूप में, माउस एक ImageView
द्वारा प्रतिनिधित्व किया जा सकता है। और एकाधिक प्रोफाइल के बीच नेविगेट करने के लिए, यह इस बात पर निर्भर करता है कि आपने अपने ऐप पर उस तर्क को कैसे लागू किया है, लेकिन "जेनेरिक" उत्तर के रूप में, आप Spinner
जैसे कुछ का उपयोग करके उन प्रोफाइल को स्विच कर सकते हैं।
उन ट्यूटोरियल है कि चरण में आपकी मदद करेंगे:
एक बार जब आप है कि आपके हैडर पर सेट किए गए , टी संभाल लें वह आइटम चयन और तदनुसार उपयोगकर्ता प्रोफ़ाइल को बदलें। (यह अंतिम भाग इस बात पर निर्भर करता है कि आपने अपने ऐप पर उपयोगकर्ता प्रोफाइल कैसे कार्यान्वित किए हैं)। लेकिन जैसे ही एक सिर शुरू होता है, आप android training site, अधिक विशेष रूप से this part देख सकते हैं।
नवीनतम संपादन की जांच करें, और अगर इसे मदद मिली तो इसे स्वीकार करने के लिए मत भूलना। ;) – Mauker
अरे, परेशान करने के लिए खेद है, लेकिन आपने दाईं ओर "1" कैसे जोड़ा? – Omer
@ ओमर यह जीमेल ऐप से एक स्क्रीनशॉट है। – Tvde1