بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

بهترین و استانداردترین روش ساخت navigation drawer چی هست

مدیریت گفتگو
arashcode 9 سال پیش
آخرین تغییر: 9 سال پیش

با سلام دوستان من کمی در مورد navigation drawer سردرگم شدم چون رهکارهای زیادی گفته شده مثلا من یه ویدئو که دریافت کردم میگه برای هر اکتیویتی یه لایه جدید میسازیم و داخلش navigation drawer رو درست می کنیم و فایل اصلی لایه رو داخلش اینکلود می کنیم  می خواستم ببینم بهترین راه کدومه و اینکه چرا از اکتیویتی که خود گوگل داد استفاده نمیشه؟

نظرات

پاسخ‌ها 3

مسعود فرمانی 9 سال پیش

یه راه استاندارد و مناسب که خودِ من هم از اون استفاده میکنم استفاده از ویجت های DrawerLayout و NavigationView( از پکیج support.design ) هست ( دقت کنید چون هدف از دراور لایوت قراردادن منوهایی از برنامه هست که معمولا جانبی هستند از menu.xml استفاده کنید به جای طراحی یک لایه برای اون ....)

این یه نمونه خیلی ساده اس واسه آشنایی شما : ( به این نکته هم دقت کنید که چون این ویجت ها متعلق به پکیج ساپورت دیزاین هستن حتما باید اکتیویتون AppCompatActivity و تم هم یکی از تم های AppCompat باشه...)

 <?xml version="1.0" encoding="utf-8"?>

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

<android.support.design.widget.NavigationView
android:id="@+id/navigation_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
android:fitsSystemWindows="true" />
</android.support.v4.widget.DrawerLayout>

نظرات

sana ebadi 9 سال پیش
بله دوستمون درس میگن . به نظر من برای ساخت نوگیشن دراور ساده نیازی به استفاده از لیست ویو و .. نیست . و کارتون با ساخت یک منو اوکی هست . حتی میشه ایکون قرار داد. تم داد بهش و حتی اون ها رو جدا کنید با یک خط افقی . مثلا در فایل منو اینجور بنوسید . که براتون میذارم . و از این راه استفاده کنید .
sana ebadi 9 سال پیش

<?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/nav_home"
android:icon="@drawable/ic_home"
android:title="@string/nav_home"/>


<item
android:id="@+id/nav_photos"
android:icon="@drawable/ic_photo_library"
android:title="@string/nav_photos"/>

<item
android:id="@+id/nav_movies"
android:icon="@drawable/ic_action_movie"
android:title="@string/nav_movies"/>

<item
android:id="@+id/nav_notifications"
android:icon="@drawable/ic_notifications"
android:title="@string/nav_notification"/>

<item
android:id="@+id/nav_settings"
android:icon="@drawable/ic_settings"
android:title="@string/nav_settings"/>
</group>

<item android:title="Other">

<menu>
<item
android:id="@+id/nav_about_us"
android:title="@string/nav_about_us"/>

<item
android:id="@+id/nav_privacy_policy"
android:title="@string/privacy_policy"/>

</menu>
</item>
</menu>

 

به این صورت حالت مجزایی بهش خواهید داد. و اینکه راحت هست . و در رابطه با  اینکلود کردن. شما یه فایل منو دارین حالا نمونه اش اینجوره . یه لایه برای header هست و یه لایه که دوستمون قرار دادن ولی یه دوتا اتریبویت که ب هNavigationView   که منو و هدر رو بهش اضافه میکنید.

app:headerLayout="@layout/nav_header_main"
app:menu="@menu/activity_main_drawer"

این ساخت نویگیشن دراور هم ساده اس هم کامل و بی نقص هست .

موفق باشید.

 



نظرات

nero 360 9 سال پیش

از راهنمایی کامل سایت زیر استفاده کن 
و اینکه حتما از یک اکتیویتی و چند فرگمنت استفاده کن
Navigation drawer link

نظرات


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .