PDA

View Full Version : drawer layout با fragment ها و داشتن زیر منو



mehrdad85
یک شنبه 29 اردیبهشت 1398, 15:01 عصر
سلام دوستان
من داخل فروم خیلی سرچ کردم اما خوب به نتیجه ای نرسیدم در این مورد.
در مورد پیاده سازی لیست های کشویی به کمک فرگمنت ها دوستان راهنمایی کرده بودن و نمونه کد گذاشته بودن تشکر میکنم.
اما من یه مشکلی دارم و اون اینه که میخوام منویی که بهم نمایش داده میشه دارای زیرمنو باشه و با کلیک بر روی یک ایتم از منو اگه زیرمنو داشته باشه به جای اینکه دراور بسته بشه زیرمنوها نمایش داده بشوند و حالا با کیلک بر روی هر کدوم از ایتم های زیرمنو به فرگمنت مورد نظر هدایت بشه.
در تعریف منو در فایل xml مشکلی ندارم این کار را انجام میدم زمان اجرا هم زیرمنو ها بهم نمایش داده می شوند با تغییر visibility هم تلاش کردم که تا زمانی که منویی کلیک شد ایتم های زیرش را نشون بده ولی قبل از اون اینکارو نکنه اما نتونستم این قضیه را مدیریت کنم که با کلیک برروی هر ایتم زیرمنو فرگمنت مدنظر لود بشه.
داخل نت هم سرچ کردم که باید از expandable list استفاده کنم ولی باز هم متوقف شدم و نتونستم این کارو انجام بدم.
ممنون میشم دوستان اگه راهکار یا تجربه مشابه ای دارن به اشتراک بزران.
پیشاپیش از محبت و کمک همه شما عزیزان تشکر میکنم.



سپاس

Nevercom
یک شنبه 29 اردیبهشت 1398, 19:28 عصر
DrawerLayout می‌تونه دوتا آبجکت رو داخل خودش نشون بده (Child). اولین Viewی که داخلش باشه رو بعنوان HeaderView استفاده می‌کنه و دمی رو بعنوان محتوا.
اگر برای محتوا از NavigationView استفاده کنید، این امکان رو بهتون میده تا با تعریف Menu خیلی سریعتر و راحت تر این بخش رو بسازید، اما خب انعطاف کمتری داره. شما می‌تونید بجای استفاده از NavigationView از یه View دیگه مثل RecyclerView استفاده کنید و به هرشکلی که مدنظر خودتون هست اون قسمت رو پیاده سازی کنید.

فقط لازمه که رویدادهای کلیک رو از RecyclerView انتقال بدید به اکتیویتی، که میشه با نوشتن یه Interface ساده این کار رو انجام داد. منظور این هست که در DrawerLayout محدود و مجبور به استفاده از NavigationView برای نمایش محتوا نیستید و از هر View دیگه می‌تونید استفاده کنید.

mehrdad85
دوشنبه 30 اردیبهشت 1398, 21:36 عصر
DrawerLayout می‌تونه دوتا آبجکت رو داخل خودش نشون بده (Child). اولین Viewی که داخلش باشه رو بعنوان HeaderView استفاده می‌کنه و دمی رو بعنوان محتوا.
اگر برای محتوا از NavigationView استفاده کنید، این امکان رو بهتون میده تا با تعریف Menu خیلی سریعتر و راحت تر این بخش رو بسازید، اما خب انعطاف کمتری داره. شما می‌تونید بجای استفاده از NavigationView از یه View دیگه مثل RecyclerView استفاده کنید و به هرشکلی که مدنظر خودتون هست اون قسمت رو پیاده سازی کنید.

فقط لازمه که رویدادهای کلیک رو از RecyclerView انتقال بدید به اکتیویتی، که میشه با نوشتن یه Interface ساده این کار رو انجام داد. منظور این هست که در DrawerLayout محدود و مجبور به استفاده از NavigationView برای نمایش محتوا نیستید و از هر View دیگه می‌تونید استفاده کنید.

سلام
ممنونم از راهنمایت دوست عزیز ولی آیا نمونه ای یا منبعی وجود داره که در این خصوص یکم مطالعه کنم یا نمونه ببینم؟چون یکم سردرگم هستم هم متوجه میشم چی میگید و هم اینکه نه کامل در حدی که بتونم کارم را پیش ببرم.

بینهایت ممنونم از شما