آموزش Navigation Drawer متریال دیزاین در اندروید
سلام دوستان در این سری از آموزش برنامه نویسی اندروید به آموزش Navigation Drawer متریال دیزاین در اندروید می پردازیم قبلا آموزش های متفاوتی از Navigation Drawer مانند Navigation Drawer فارسی , Navigation Drawer متریال دیزاین را برای شما قرار دادیم در این آموزش نمونه ای دیگر از Navigation Drawer متریال دیزاین را برای شما قرار می دهیم در ادامه می توانید پیش نمایشی از Navigation Drawer را مشاهده کنید در ادامه با ما همراه باشید تا نحوه استفاده از Navigation Drawer متریال را یاد گیرید.
ابتدا باید کتاب خانه ای به پروژه خود اضافه کنید برای این منظور همانند زیر عمل کنید.
وارد فایل Build.gradle از نوع Top-Level شده و آن را همانند زیر ویرایش کنید.
1 2 3 4 5 6 | allprojects { repositories { ... maven { url 'https://jitpack.io' } } } |
وارد فایل Build.grdle از نوع Module شده سپس در بخش dependencies خط زیر را اضافه کنید.
1 2 3 | dependencies { compile 'com.github.shrikanth7698:Custom-Navigation-Drawer:v0.0.1' } |
پروژه را sync کنید قند شکن فراموش نشود تحریم ها شدیدتر شده است 😐
استفاده از این کتاب خانه بسیار ساده است.
ابتدا لازم است شما در root لایه ای که می خواهید این منو نمایش داده شود مثلا یکی از layout هاتون کد زیر را تعریف کنید.
1 2 3 4 5 6 7 8 9 | <com.shrikanthravi.customnavigationdrawer2.widget.SNavigationDrawer android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/navigationDrawer"> <FrameLayout android:id="@+id/frameLayout" android:layout_width="match_parent" android:layout_height="match_parent"/> </com.shrikanthravi.customnavigationdrawer2.widget.SNavigationDrawer> |
ما در این آموزش نحوه ساخت فرگمنت را دوباره آموزش نخواهیم داد شما می توانید از لینک زیر نحوه ساخت فرگمنت را یاد گیرید.
آموزش Fragment در اندروید
در ابتدای کار sNavigationDrawer را find کردیم بعد از آن ما باید لیستی از MenuItem درست کنیم در این لیست باید یک icon یک متن به آن بدهیم هر تعداد که دوست داشته باشید می توانید منو اضافه کنید در بالا ما چهار منو در نظر گرفتیم برای اینکه این لیست در منو نمایش داده شود باید از متد setMenuItemList استفاده کنیم که ورودی آن لیستی از MenuItem که ما در بالا ساختیم در بالا ما برای تغییر هر فرگمنت یک انیمیشن از راست به چپ استفاده کردیم انیمیشن ها برای خود اندروید است چیز سفارشی استفاده نشده است.
از متد setOnMenuItemClickListener به منظور اینکه متوجه شویم کدام یک از آیتم ها کلیک شده است استفاده شده است.
در بالا باید به جای NewsFragment , FeedFragment , MessagesFragment و MusicFragment فرگمنت های خودتان را که ساختید جایگزین کنید. برای اینکه متوجه شوید چه زمانی فرگمنت در حال باز شدن یا باز شده است و یا بسته شده است می توانید از متد setDrawerListener استفاده کنید.
این آموزش هم به پایان رسید.
موفق و پیروز باشید.
سلام ممنون از اموزش خوبتون ..2 تا سوال داشتم
1- button گذاشتم تو صفحه اصلی ولی تو همه اکتیویتیا نشونشون میده؟!!!!
2-بک گراند هم میذارم ولی نشون نمیده
ممنون میشم راهنمایی بفرمایید برای پروژه ای لازم دارم
سلام و درود برای اینکه رنگ menu تغییر کند لازم است background لیست را تغییر دهید ویژگی background خود navigationdrawer پشتیبانی می کند. و سوال دومتون رو متوجه نمیشم دکمه را در navigation drawer تعریف کردید ؟
من میخوام بتونم تو هر ایتم های این منو که روش کلیک میکنم محتوای همون اکتیویتی رو نشون بده
ولی
مثلا الان من تو اکتیویتی NEWS چندتا دکمه گذاشتم ، تو اکتیویتي feed یه سری برنامه نوشتم و به همین صورت توی هر ایتم این منو یه سری برنامه نوشتم…
ولی موقع اجرای برنامه ، فقط چیزایی که تو اکتیویتی news , هست رو واسه همه اکتیویتیام نشون میده
انگار که هرچی رو تو صفحه اصلی میزارم سراسری واسه همه اکتیویتیا تعریف میشه …
سلام و درود شما باید از فرگمنت استفاده کنید چون نمیشه با استفاده از اکیتیویتی همچین کاری رو انجام داد شما باید navigationdrawer رو توی اکتیویتی بالا بیارید و صفحه وسط رو framelayout در نظر بگیرید سپس fragment ها را باهم replace کنید در هنگام کلیک بروی nav item
این کد رو ببینید متوجه می شوید.
موفق باشید.
ممنون از پاسختون
میتونم ایمیلتون رو داشته باشم؟؟
برای پروژه ی مهمی دارم این منو رو درست میکنم ولی خیلی ایراد دارم در بخش فرگمنت ،ارتباطشون دادم ولی ارور های عجیب غریبی میده که حتی سرچ کردم هم ،جواب پیدا نکردم
خواستم اگه میشه پروژه ام رو ایمیل کنم که راهنمایی بفرمایید..
امکانش هست؟؟
خواهش می کنم
info@programchi.ir