Android Dark Mode Kullanımı

Ramazan Öğünç
Mobillium
Published in
3 min readFeb 21, 2022

Herkese merhaba,

Bu makalemizde Android projesinde dark mode entegrasyonundan bahsedeceğiz.

Şimdiden iyi okumalar 🎉

Android, projede dark mode kullanmak için bize hazır bir yapı sağlamaktadır. Özetle yapacağımız işlemler;

  • Renk ve tema bilgilerini sakladığımız colors.xml, themes.xml ve varsa styles.xml dosyalarının night mode varyantını ekleyeceğiz.
  • Program kısmında dark veya light mode’u setleyeceğiz.

Bu yazımızda colors.xml dosyasının night mode karşılığını ekleyeceğiz. İhtiyacınız halinde aynı yöntem ile siz themes.xml ve styles.xml dosyalarını oluşturabilirsiniz.

Vakit kaybetmeden hemen başlayalım.

Dosyaların night varyantlarını ekleyelim

Android Studio’dan bir proje oluşturabilirsiniz veya var olan bir projeyi açabilirsiniz.

res/values klasörüne sağ tıklıyoruz ve new->value resource file kısmını açıyoruz.

File name’ini colors.xml yazıyoruz.
Avaliable qualifiers kısmında Night Mode’u seçiyoruz.
Ve ok ile Chosen qualifiers kısmına ekliyoruz.
Ok diyerek colors.xml dosyasının night mode varyantını eklemiş oluyoruz.

colors klasörü altında night olarak işaretlenmiş bir tane daha colors.xml dosyasını görebilirsiniz.

Daha sonra renklerimizin light ve dark mode için renklerini ayarlıyoruz.
Benim ayarladığım renkleri aşağıda görebilirsiniz.

Ayarladığımız renkleri ihtiyacımız olan yerde her zaman kullandığınız şekilde kullanabilirsiniz.

Uygulama modunu değiştirelim

Renklerimizi ayarladık. Şimdi de uygulamanın tema modunu değiştirme kodlarını görelim.

// dark/koyu mod için
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES)
// açık/light mod için
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO)
// sistem varsayılan temasını kullanmak için
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM)

Bu kodlar ile biz light veya dark hangisini setlersek uygulama bizim setlediğimiz varyantlı dosyalardaki değişkenleri kullanacaktır.

Böylece uygulamanın temasını değiştirebileceğiz.
Dilerseniz de bu değeri shared preference’ye kaydedip uygulama açıldığında setleyebilirsiniz.
Artık nasıl kullanmanız gerektiği size kalmış 😀

Extra Not:

Son android studio sürümlerinde yeni bir proje oluşturduğumuzda default olarak themes dosyayı light ve dark mode varyanlarıyla gelmekte. Dilerseniz tema renklerini burada verip, uygulama içerisindeki renkleri “?attr/colorPrimary” şeklinde de kullanabilirsiniz.
Uygulama modu değiştirmeyi de yine yukarıdaki gibi yapabilirsiniz.

Özetle

  1. İhtiyacımıza göre colors.xml, styles.xml, themes.xml dosyalarının night varyantını ekleyip. Night mode’u için renk değerlerini düzenliyoruz.
  2. Uygulama içinde program ile night mode’unu aktifleştiriyoruz.
  3. Dilersek night mode değerini shared preference veya database’e kaydedip oradan çekip uygulama açıldığında setliyoruz.

Böylece Android’de dark mode kullanımını gerçekleştirmiş oluyoruz.

İyi geliştirmeler 🎉🚀

--

--