دوره زبان تخصصی برای برنامه‌نویسان (هدیه ویژه ثبت‌نام در دوره‌های متخصص) (فرصت محدود ⏰)
۰ ثانیه
۰ دقیقه
۰ ساعت
۲ Hamidreza Karimi
استفاده از style‌های متفاوت برای اکتیویتی‌ها و فرگمنت ها
پوریا شفیعی حل شده توسط پوریا شفیعی

با سلام

 

سؤالی که دارم اینه که بهینه‌ترین راه برای استفاده از style‌های متفاوت یا بطور واضح‌تر برای اینکه بخوام در هر فرگمنت

colorPrimary , colorPrimaryDark متفاوتی استفاده کنم چی هست ؟

 

با تشکر

سلام و احترام

 

حمیدرضا جان با توجه به اینکه بنظرم سر فصل NavigationComponent رو مطالعه کردید بهینه‌ترین راهی که میتونم به شما پیشنهاد بدم  این هست که شما یک تولبار برای همه فرگمنت‌ها در نظر بگیرید یعنی چطوری؟ 

ببینید همونطور که میدونیم یکی از دلایل وجود NavigationComponent این هست که یک اکتیویتی به عنوان مادر تمام فرگمنت‌ها در نظر بگریم حال پیشنهاد من و طبق مقاله و راه حل هایی که دیدم و خوندم این هست که تولبار خودتون رو بر روی Activity تعریف کنید و NavHostFragment مربوطه تون رو طبق تصویری که براتون پیوست میکنم ست کنید .

توضیح : تصویر مربوطه لیوت activity من(مادر تمامی فرگمنت ها) هست که یک تولبار عمومی برای تمامی فرگمنت‌ها ست کردم و NavHostFragment (رنگ قرمز رنگ موجود navhost هست)رو در زیر اون تولبار قرار دادم که تولبارم بتونه حالت عمومیت به خودش بگیره .

حال به راحتی میتونم به اون تولبار در هر فرگمنت استایل‌های مختلف بدهیم.

این حداقل جز بهینه‌ترین حالت هایی هست که میتونه باشه 

این راه حل مزایایی داره از جمله : اگر شما بخواهید NaviagtionDrawer ست کنید یا Menu ست کنید به راحتی میتونید این کار رو انجام بدید .

بهترین پاسخ
پوریا شفیعی ۱۰ آذر ۱۳۹۹، ۱۹:۱۱

حمید رضا جان نام colorPrimaryDark در اندروید استودیو جدید تغییر یافته که تصویری مبنی بر راهنمایی اتربیوت‌های themes.xml براتون پیوست میکنم

برای تغییر رنگ PrimaryDark :

getWindow.setStatusBarColor(getResources().getColor(R.color.your_color));

برای تغییر رنگ تولبار:

toolbar.setBackgroundColor(getResources().getColor(R.color.red));
پوریا شفیعی ۱۰ آذر ۱۳۹۹، ۲۱:۴۹