خب دوستان به یه آموزش برنامه نویسی اندروید دیگه در لینوکس 98 خوش اومدید، من آکام هستم و امروز قصد دارم بهتون یاد بدم که چقدر تغییر رنگ پس زمینه Status Bar در برنامه های اندروید با Kotlin می تونه ساده باشه! با این حال دلم خیلی برای دورانی که با Eclipse برای اندورید برنامه درست می کردیم تنگ شده هرچند الان خیلی از کارها آسون تر شدن اما با این حال شدت تغییرات بحدی زیاد شده که آدم حالش دیگه بهم میخوره! بی خیال، با من باشید با آموزش خیلی خیلی کوتاه تغییر رنگ پس زمینه Status Bar در برنامه های اندروید با Kotlin.
خب اول از همه باید اکتیویتی رو داشته باشیم! واسه این این کار خیلی ساده از کد پایین استفاده می کنم!
val activity = (LocalContext.current as Activity)
حالا تو قدم دوم باید رنگ رو بیارم و اون رو روی Status Bar قرار بدم. تو این مثال من از رنگ سفید برای پس زمینه Status Bar استفاده کردم.
val backgroundArgb = Color.White.toArgb() // status bar background color
activity.window.statusBarColor = backgroundArgb
در آخرین گام از کار باید رنگ Foreground رو مشخص کنیم و اگر رنگی که برای پس زمینه Status Bar انتخاب کردیم تیره بود Foreground رو روشن انتخاب می کنیم برعکس اگر رنگ پس زمینه روشن باید باید Foreground تیره باشه! و این مورد به سادگی با عوض کردن مقدار Boolean پایین امکان پذیره! یه نکته دیگه منظور از Foreground همون رنگ متون و آیکن های توی Status Bar است.
در مورد مثال من چون رنگ پس زمینه Status Bar سفید بود باید آیکن هاش رنگ تیره داشته باشن واسه همین من مقدار Boolean رو روی true ست کردم و ایزی ایزی تامام تامام .. خخخخخخخخ! انگار شاخ غول رو شکستیم!
val wic = WindowCompat.getInsetsController(activity.window, activity.window.decorView)
wic.isAppearanceLightStatusBars = true // true for light backgrounds and false for dark backgrounds
کد نهایی برای منه یه چیزی توی این مایه هاست:
val activity = (LocalContext.current as Activity)
val backgroundArgb = Color.White.toArgb()
activity.window.statusBarColor = backgroundArgb
val wic = WindowCompat.getInsetsController(activity.window, activity.window.decorView)
wic.isAppearanceLightStatusBars = true
کاری که من می کنم اینه که میام کد کامل بالا رو توی اکتویتی اصلی میزارم و بعد دیگه همه Composable هام ازش استفاده می کنن!

مسلما روش های دیگه ای هم هست مثل استفاده از کتابخانه های شخص ثالث یا تغییر تم تو فایل styles.xml ولی من تو این پست صرفا به این آموزش اکتفا می کنم شاید بعدا روش های دیگه رو هم درباره ش نوشتم!