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

سلام دوستان در این سری از آموزش برنامه نویسی اندروید به آموزش ایجاد حالت شب و روز در برنامه نویسی اندروید می پردازیم شاید شما یک برنامه مانند کتاب درست کردید و خواستید برای راحتی کاربر حالت شب و روز را در آن پیاده سازی کنید تا چشمان کاربر هنگام مطالعه در شب اذیت نشود برای این کار در ادامه با ما همراه باشید.
مثل همیشه ابتدا باید کتاب خانه آن را در برنامه قرار دهیم
پس برای اینکار ابتدا وارد فایل Build.gradle شده نوع module سپس خط زیر را در Dependencies اضافه کنید.

سپس پروژه را sync کرده (علت خطاهای گریدل را قبلا بررسی کرده ایم در سایت جستجو کنید)
برای استفاده از باید کمی دقت کنید و همانند زیر عمل کنید فکر کنید ما یک اکتیویتی داریم که نام آن DemoActivity است پس برای اینکه امکان تغییر حالت (شب و روز) وجود داشته باشد باید مثل زیر اکتیویتی خودتان را ویرایش کنید.

شما باید قبل از Oncreate کد NightOwl.owlBeforeCreate قرار دهید. سپس بعد از setContentview کد NightOwl.owlAfterCreate و یک onResume درست کردیم تا برنامه هنگام تغییر crash ندهد.
تا اینجا هنوز کاری نکردیم حالا باید در layout خود هر object را که می خواهید رنگش در حالت شب تغییر کند ایجاد کنید مثلا می خواهیم رنگ یک Textview در شب برابر با نفره ای باشد پس همانند زیر برای textview خود حالت night را تعریف می کنیم (برای هر object که بخواهید می توانید آن را تعریف کنید)

حالا برای اینکه تغییرات اعمال شود باید در هر جایی که می خواهید کد زیر را اجرا کنید (ما در یک دکمه این کار را انجام داده ایم)

فقط دقت کنید حالت night در layout به چندین بخش تقسیم می شود
در متن برابر با night_textColor است.
در EditText برای hint آن برابر با night_textColorHint است.
در عکس هم برابر با night_src است.
برای listView برابر با night_listSelector است
برای خط listView یا Divider برابر با night_divider است.
برای Layout های مختلف برای تغییر بگراند آن برابر با night_background است.
 
این آموزش هم به پایان رسید.
 
موفق باشید.

مطالعه بیشتر