یکی از دغدغه های کاربران کار کردن با Navigation View  می باشد که چگونه بتوانند View های موجود در layout اضافه شده به این View را به صورت های مختلفی تغییر بدهند. در این بحث ما به شما نشان می دهیم که چگونه میتوانید یک  layout سفارشی را برای Navigation View ایجاد بکنید, البته در این بحث ما درباره قسمت HeaderBar آن صحبت خواهیم کرد.


ابتدا در فایل xml مورد نظر یک شی Navigation View ایجاد میکنیم ولی قسمت headerLayout را برای آن تعریف نکنید , به فایل Activity یا همان کلاس مربوطه بر میگردیم و یک شئ همتا برای آن ایجاد کرده تا کلاس بتواند این view را شناسایی کنید , پس به این صورت باید عمل کنید :

 

NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);

 

 

حال نوبت به اضافه کردن یک layout به این شئ می باشد , برای این کار ما از یک تابع از کلاس Navigation View استفاده میکنیم که یک بازخورد view  دارد و یک header bar برای شئ Navigation View ایجاد میکند برای معرفی فایل layout  و دریافت view از همان layout باید بصورت زیر عمل کنید :

 

View HeaderLayout = navigationView.inflateHeaderView(R.layout.nav_header_menu);

 

حالا با استفاده از view دریافت شده در بالا میتوانید شئ  های موجود در آن layout مربوطه را دریافت بکنید و هر گونه تغییر مورد علاقه را در آن ایجاد بکنید.

 

نوشته شده توسط گروه برنامه نویسی فورای , مهندس ناصر خالدی ( کپی ممنوع)