Material You'nun monet tema motoru, Android 12'nin en önemli özelliğidir ve şu şekilde çalışır:

click fraud protection

Google'ın Materyali Tek bir yerde çok fazla bilgi olmamasına rağmen, anlaşılması o kadar da karmaşık değilsiniz. Buradan kontrol edin!

Hızlı Linkler

  • Monet tema motoru nasıl çalışır?
  • Çalışma Zamanı Kaynak Katmanlarına (RRO'lar) ne oldu?
  • Materyal Hala gelişiyorsunuz
  • Android 13'teki değişiklikler

Şu ana kadarki en büyük değişiklik Android 12 dır-dir Malzeme Siz, Google'ın Materyal tasarım dilinin en son sürümü. Materyal Siz, Google'ın tanımladığı gibi, "her tarza özel, her ihtiyaca uygun, canlı ve her ekrana uyum sağlayan tasarımlar yaratmayı hedefliyor.” Android 12'yi geliştirirken Google, zengin bir pastel renk paleti oluşturan "monet" kod adlı yeni bir tema motoru oluşturdu kullanıcının duvar kağıdından türetilmiştir. Bu renkler daha sonra sistemin çeşitli bölümlerine uygulanır ve değerleri bir uygulama aracılığıyla kullanıma sunulur. Kullanıcının uygulamalarının çağırabileceği API, böylece uygulamaların da kendi renklerini yeniden renklendirmek isteyip istemediklerine karar vermesine olanak tanır. kullanıcı arayüzü. Google, Material You konusunda her şeyi yapıyor ve şirket, uygulamalarının çoğunu dinamik renkleri içerecek şekilde güncelledi.

Materyal Tasarımı tarihi üzerine hızlandırılmış bir kurs için ilk olarak kullanıcı deneyimine odaklanan Android 5 Lollipop ile piyasaya sürüldü. Gibi Google bunu koyuyor, "Materyal, en iyi uygulamaları destekleyen yönergeler, bileşenler ve araçlardan oluşan uyarlanabilir bir sistemdir kullanıcı arayüzü tasarımı." Düz, pastel renk paletleri, derinlik, yumuşak aydınlatma ve gerçekçi özellikler içeriyordu. fizik. Android 9 Pie, Materyal Tasarımı 2'nin gelişini gördü, ancak ilk Materyal Tasarımı yinelemesi kadar büyük bir görsel revizyona yakın değildi. Android 12 lansmanına tanık oldu Materyal Tasarımı 3Bu daha önemli bir revizyondur.

Ancak, renk teması motorunu ortadan kaldırırsanız, Material You aslında O farklı. Aslında "Sen"in ifade ettiği kişisel unsur az çok ortadan kalkıyor.

Monet tema motoru nasıl çalışır?

"Monet" tema motoru, Materyal Siz söz konusu olduğunda sihrin gerçekleştiği yerdir ve bir duvar kağıdından hangi renklerin seçileceğine karar veren algoritmadır. Android 12L'de AOSP'ye "Monet" eklendi. Özel ROM geliştiricileri de bunu uygulayabilir “monet”in açık kaynak uygulaması. Üçüncü taraf uygulama geliştiricileri ücretsizdir dinamik renklere destek eklemek için şu anda yalnızca sınırlı sayıda cihazda çalışacak olsa bile.

Eminim çoğu insanın Material You ile ilgili aklına gelen ilk soru, birlikte çalışan ve her seferinde iyi kontrast oluşturan renkleri seçmeyi nasıl başardığıdır. Renk seçme algoritmasını kırmak amacıyla sayısız duvar kağıdı denedim ama hiçbiri bunu başaramadı. Hala her seferinde birlikte çalışan renkleri seçiyor ki bu en hafif deyimle etkileyici bir başarı. Android 12'nin renk seçme algoritmasının nasıl çalıştığına dair fikir edinmek için iki paskalya yumurtasından biri, masaüstünüze ekleyebileceğiniz bir widget biçiminde geliyor. Widget, Monet tarafından seçilen tüm renkleri gösterir ve tam ekran yapmak için ona dokunabilirsiniz. Tam ekrandayken paylaşmak için bir renge dokunabilirsiniz. Paylaştığınızda çıktı aşağıdaki gibi görünür:

A1-600 (@android:color/system_accent1_600)
currently: #626200

Bir kullanıcı Android 12 cihazında duvar kağıdını değiştirdiğinde görüntü bir renk seçmek için analiz edilir ve başlangıç ​​tohumunu kullanarak Birincil, İkincil, Üçüncül ve Hata renklerini algoritmik olarak seçin renk. Material You'ya genel renk tonunu veren iki nötr renk de seçilmiştir. Aynı zamanda renk teorisi ve erişilebilirlik kurallarını da uyguluyor. Algoritma, bu renklerden %0 parlaklık (SİYAH) ila %100 (BEYAZ) arasında değişen ton paletleri oluşturur. Dinamik tema veya özel tema, söz konusu renk aralığına ilişkin tema niteliklerini ayarlamak için bu ton paletlerindeki değerleri kullanır. Duvar kağıdından 128'e kadar rengi aracı olarak CIELAB renk uzayına çıkarır, daha sonra bu renkler CAM16 ile eşlendi. CAM16 Crenk Agörünüm Mmodel gerçek tohum rengini belirlemek için renkleri sıralamak ve filtrelemek için kullanılır ve ardından bu tohum rengi kullanılarak paletler oluşturulur. Daha sonra bu renkler, sistem genelinde renklerin ayarlanması için RGB'ye geri eşleştirilir.

CIELAB bazen "L*a*b*" olarak da anılır. Algılanan parlaklık/açıklık için L* ve insan görüşünün dört benzersiz rengi (kırmızı, yeşil, mavi ve sarı) için a* ve b*. Hafiflik, kontrast oranının hesaplanmasında kullanılır ve okunabilirliği garanti eder. Uygulandıktan sonra, sistem kullanıcı arayüzüne, uygulamalara ve daha fazlasına uygulanabilecek sistem çapındaki tüm güzel renklerinizi elde edersiniz.

Çalışma Zamanı Kaynak Katmanlarına (RRO'lar) ne oldu?

RRO'lar hiçbir yere gitmedi ve Material You, Fabrikasyon Kaplamalar API'si üzerinden çalışıyor. Geçmişte konuşmuştuk Köksüz temayı geri getirmek için Fabrikasyon Kaplamalar nasıl kullanılabilir?. Fabrikasyon Kaplamalar, Android 12'ye eklenen yeni bir özelliktir ve RRO'lardan biraz farklı çalışırlar. Birincisi, RRO'lar Bir cihaza yüklenen kaplama APK'sı üzerinde çalışın; Fabrikasyon Kaplama ise uygulamaya yalnızca hangi renklerin kullanılacağını söyler kullanmak.

Fabrikasyon Kaplamalar ayrıca RRO'lardan biraz daha sınırlıdır. Android 11'den önce RRO'lar hemen hemen her kaynağı geçersiz kılın: boolean'lar, tamsayılar, boyutlar, nitelikler, düzenler ve hatta ham veri dosyaları. Android 11, RRO'ların çalışma biçiminde bazı değişiklikler yaparak, geçersiz kılma düzenlerini artık gerçekten mümkün kılmadı. Öte yandan, Fabrikasyon Kaplamalar yalnızca tamsayı olarak temsil edilebilecek değerleri geçersiz kılabilir. Buna tamsayılar, boyutlar, boole değerleri ve renkler dahildir. Ham veri kaynaklarını, düzenleri, dizeleri veya dizileri geçersiz kılmak için bunları kullanamazsınız - en azından kolayca değil.

Yine de konu Maddi Siz ve Monet olduğunda bu sınırlamaların pek önemi yok. Fabrikasyon Kaplamalar, bir APK'nın derlenmesini veya uygulamak için sistemin yeniden başlatılmasını beklemeden, sistemin renk ve boyut kaplamalarını anında uygulamasını kolaylaştırır.

Materyal Hala gelişiyorsunuz

Material You'nun dinamik renkleri kesinlikle problemsiz değil ve bunu temelden kırmak o kadar da zor değil. Örneğin duvar kağıdınızı hızlı bir şekilde değiştirirseniz, etkili bir hizmet reddi saldırısı başlatın. Mişaal Rahman onayladı Bu hizmet reddi saldırısının Android 12L'de düzeltildiğini. Material You'nun gelecek sürümlerde geliştirileceğini içtenlikle umuyorum, zira onu ve konseptini çok sevsem de, üzerinde çok çalışılması gerekiyor. Kendi kişisel deneyimime göre, AOSP'ye eklenmemesinin nedeninin kısmen hata olmasından kaynaklandığını düşünüyorum... bu ve Google'ın bunu etkili bir şekilde Pixel serisine özel zamanlanmış bir hale getirmesi. Hatta yakın zamanda Google Pixel 7 cihazımda Android 13'ün Aralık yamasını güncelledikten sonra bir sorunla karşılaştım. Daha sonra logcat'ta Material You ve Google Pixel'den kaynaklandığını tespit ettiğim Pro başlatıcı.

sinir bozucu bir şekilde, Android 12, özel yazı tipi ve özel simge seçeneklerini kaldırdı Material You'nun dinamik teması lehine. Tema sistemi ilk olarak Pixel Themes uygulamasıyla tanıtıldı ve Android'in yer paylaşımı tabanlı tema çerçevesini temel alıyordu. Android 12'nin Material You tema sistemi daha özelleştirilebilir olsa da Google'ın Android 10'da sunduğu özel stilleri içermiyor. İçinde Yorum Google Sorun Takipçisi'nde bir Google çalışanı bu konunun kaldırılmasına ilişkin şu gerekçeyi sundu:

"R'deki özel stil özelliklerinin (yazı tipi, simge şekli, simge paketi ve vurgu rengi) yerini S'de sunduğumuz yeni dinamik tema özelliği alıyor. Yeni dinamik tema özelliğini daha modern ve akıllı görüyoruz. Tüm kullanıcıların keyif alabileceğini umduğumuz basit ve keyifli bir deneyim.”

Gelecekte Google'ın yazı tiplerini ve özel simge seçeneklerini yeniden sunması pek mümkün görünmüyor. Pek çok kullanıcı, Google'ın Material You değişikliklerinden duyduğu hayal kırıklığını dile getirdi ve bunun ne kadar bozuk olabileceği göz önüne alındığında, bunun nedenini tamamen anlıyorum. Google'ın uygulamayı geliştireceğini veya diğer OEM'ler aynı tuzağa düşmüyor Google'ın sahip olduğu uygulamalarında.

Android 13'teki değişiklikler

Google, Material You'yu geliştirdi serbest bırakılması için Android 13ve ilk iyileştirmelerden biri beş ekstra renk stilinin eklenmesiydi. Bu yeni renk stillerine TONAL_SPOT, VIBRANT, EXPRESSIVE, SPRITZ, RAINBOW ve FRUIT_SALAD adı veriliyor. Ekran görüntülerini aldık ve aşağıda gösterdik.

  • TONAL_SPOT: Varsayılan Malzeme Siz renkleri
  • CANLI: Hafifçe değişen tonlar ve daha renkli ikincil ve arka plan renkleri ile daha tonlu bir palet oluşturur
  • İFADE EDİCİ: VIBRANT'tan daha renkli, çok sayıda belirgin ton içeren bir palet oluşturur
  • SPRITZ: Daha düşük renkli bir palet oluşturur

Android 13 ayrıca geliştiricilerin sistem temasını üstlenebilmeleri için temalı uygulama simgelerine sahip olma özelliğini de sundu. Geliştiriciler, uygulamalarında hem uyarlanabilir bir simge hem de tek renkli bir uygulama simgesi sağlayarak bunu destekleyebilirler. Başlatıcının yine de Google Pixel başlatıcısı gibi temalı simgeleri desteklemesi gerekiyor.


XDA Kıdemli Üyesine teşekkürler kdrag0n, hem ProtonAOSP'nin geliştiricisi hem de Material You tema sisteminin yeniden yaratımı, bu makaledeki yardımları için!