Material You-ის მონეტის თემის ძრავა არის Android 12-ის მთავარი მომენტი და აი, როგორ მუშაობს იგი

click fraud protection

Google-ის მასალა თქვენ არც ისე რთული გასაგებია, თუმცა არ არის ბევრი ინფორმაცია ერთ ადგილას. შეამოწმეთ აქ!

სწრაფი ბმულები

  • როგორ მუშაობს მონეტის თემის ძრავა
  • რა დაემართა Runtime Resource Overlays-ს (RRO)?
  • მასალა თქვენ ჯერ კიდევ იხვეწება
  • ცვლილებები Android 13-ში

ჯერჯერობით ყველაზე დიდი ცვლილება Android 12 არის მასალა შენ, Google-ის Material დიზაინის ენის უახლესი ვერსია. მასალა თქვენ, როგორც Google აღწერს, ”ცდილობს შექმნას დიზაინი, რომელიც ინდივიდუალურია ყველა სტილისთვის, ხელმისაწვდომია ყველა საჭიროებისთვის, ცოცხალი და ადაპტირებული ყველა ეკრანისთვის.Android 12-ის შემუშავებისას, Google-მა შექმნა ახალი თემატური ძრავა, სახელწოდებით „მონეტი“, რომელიც წარმოქმნის პასტელი ფერების მდიდარ პალიტრას. მომდინარეობს მომხმარებლის ფონიდან. ეს ფერები შემდეგ გამოიყენება სისტემის სხვადასხვა ნაწილზე და მათი მნიშვნელობები ხელმისაწვდომი ხდება ა API, რომელსაც მომხმარებლის აპლიკაციებს შეუძლიათ გამოიძახონ, რითაც აპებს შეუძლიათ გადაწყვიტონ, სურთ თუ არა მათი ხელახლა შეღებვა UI. Google ახორციელებს სრულყოფილებას Material You-ზე და კომპანიამ განაახლა თავისი აპლიკაციების უმეტესობა დინამიური ფერების ჩასართავად.

მატერიალური დიზაინის ისტორიის ავარიული კურსისთვის ის პირველად დაიწყო Android 5 Lollipop-ით, თანდაყოლილი აქცენტით მომხმარებლის გამოცდილებაზე. როგორც Google აყენებს, "მასალა არის სახელმძღვანელო მითითებების, კომპონენტების და ხელსაწყოების ადაპტირებადი სისტემა, რომელიც მხარს უჭერს საუკეთესო პრაქტიკას. მომხმარებლის ინტერფეისის დიზაინი." მასში გამოსახულია ბრტყელი, პასტელი ფერის პალიტრები, სიღრმე, რბილი განათება და რეალისტური ფიზიკა. Android 9 Pie-მა დაინახა Material Design 2-ის გამოჩენა, თუმცა მას არ ჰქონდა ისეთი დიდი ვიზუალური რემონტი, როგორიც იყო მასალის დიზაინის პირველი გამეორება. Android 12-მა გამოუშვა მასალის დიზაინი 3, რაც უფრო მნიშვნელოვანი რემონტია.

თუმცა, წაართვით ფერადი თემების ძრავა და Material You სინამდვილეში არ არის რომ განსხვავებული. ფაქტობრივად, "შენ"-ით აღმნიშვნელი პირადი ელემენტი მეტ-ნაკლებად მთლიანად ქრება.

როგორ მუშაობს მონეტის თემის ძრავა

"მონეტის" თემის ძრავა არის ადგილი, სადაც ჯადოქრობა ხდება, როდესაც საქმე Material You-ს ეხება, და ეს არის ალგორითმი, რომელიც წყვეტს რა ფერები შეირჩევა ფონიდან. "Monet" დაემატა AOSP-ს Android 12L-ში. Custom ROM დეველოპერებს ასევე შეუძლიათ ამის განხორციელება "მონეტის" ღია კოდის დანერგვა. მესამე მხარის აპლიკაციების შემქმნელები უფასოა დინამიური ფერების მხარდაჭერის დასამატებლად ახლავე, თუნდაც ის იმუშავებს მხოლოდ შეზღუდული რაოდენობის მოწყობილობებზე ამჟამად.

პირველი შეკითხვა, რომელიც დარწმუნებული ვარ, ადამიანების უმეტესობას აქვს Material You-ის შესახებ, არის ის, თუ როგორ ახერხებს ის ფერების შერჩევას, რომლებიც ერთად მუშაობენ და კარგად კონტრასტს ქმნიან ყოველ ჯერზე. მე ვცადე უთვალავი ფონი ფერების შერჩევის ალგორითმის დარღვევის მიზნით, მაგრამ ვერცერთმა ვერ შეძლო ამის გაკეთება. ის მაინც ირჩევს ფერებს, რომლებიც ყოველ ჯერზე ერთად მუშაობენ, რაც, რბილად რომ ვთქვათ, შთამბეჭდავია. Android 12-ის ფერების შერჩევის ალგორითმის მუშაობის გასაგებად, ორი სააღდგომო კვერცხებიდან ერთი გამოდის ვიჯეტის სახით, რომელიც შეგიძლიათ დაამატოთ თქვენს სამუშაო მაგიდაზე. ვიჯეტი აჩვენებს მონეტის მიერ არჩეულ ყველა ფერს და შეგიძლიათ შეეხეთ მას სრულ ეკრანზე. როდესაც ის სრულ ეკრანზეა, შეგიძლიათ შეეხეთ ფერს მის გასაზიარებლად. როდესაც მას აზიარებთ, გამომავალი ასე გამოიყურება:

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

როდესაც მომხმარებელი ცვლის ფონს Android 12 მოწყობილობაზე, სურათის ანალიზი ხდება ფერის შესარჩევად და ალგორითმულად აირჩიეთ პირველადი, მეორადი, მესამეული და შეცდომის ფერები საწყისი თესლის გამოყენებით ფერი. ასევე არჩეულია ორი ნეიტრალური ფერი, რომელიც მასალას ანიჭებს მთლიან ელფერს. ამავე დროს, იგი იყენებს ფერების თეორიას და ხელმისაწვდომობის წესებს. ამ ფერებიდან ალგორითმი ქმნის ტონალურ პალიტრებს, რომლებიც მერყეობს 0% სიკაშკაშედან (შავი) 100% (თეთრი). დინამიური თემატიკა ან მორგებული თემა იყენებს მნიშვნელობებს ამ ტონალურ პალიტრებში თემის ატრიბუტების დასაყენებლად ამ ფერის დიაპაზონისთვის. ის ამოიღებს 128-მდე ფერს ფონიდან CIELAB ფერთა სივრცეში, როგორც შუამავალი, შემდეგ ეს ფერებია შედგენილია CAM16-ზე. CAM16 ოლორ გარეგნობა ოდელი გამოიყენება ფერების დახარისხებისა და ფილტრაციისთვის, თესლის რეალური ფერის დასადგენად, შემდეგ კი წარმოიქმნება პალიტრები ამ თესლის ფერის გამოყენებით. ამის შემდეგ, ეს ფერები დაბრუნდება RGB-ში, რათა დადგინდეს ფერები მთელ სისტემაში.

CIELAB ზოგჯერ ასევე მოიხსენიება როგორც "L*a*b*". L* აღქმული სიკაშკაშისთვის/სიმსუბუქისთვის და a* და b* ადამიანის ხედვის ოთხი უნიკალური ფერისთვის - წითელი, მწვანე, ლურჯი და ყვითელი. სიმსუბუქე გამოიყენება კონტრასტის კოეფიციენტის გამოსათვლელად, რაც უზრუნველყოფს წაკითხვის გარანტიას. გამოყენების შემდეგ, თქვენ მიიღებთ ყველა თქვენს საკმაოდ სისტემურ ფერს, რომელიც შეიძლება განხორციელდეს სისტემის ინტერფეისში, აპებში და სხვა.

რა დაემართა Runtime Resource Overlays-ს (RRO)?

RRO-ები არსად წასულა და მასალა თქვენ მუშაობს Fabricated Overlays API-ის მეშვეობით. წარსულში ჩვენ ვისაუბრეთ როგორ შეიძლება გამოყენებულ იქნას Fabricated Overlays უძირო თემების დასაბრუნებლად. Fabricated Overlays არის Android 12-ის ახალი დამატება და ისინი ოდნავ განსხვავებულად მუშაობენ RRO-ებისგან. ერთი, RROs იმუშავეთ მოწყობილობაზე დაინსტალირებული გადაფარვის APK-ის მეშვეობით, მაშინ როდესაც Fabricated Overlay უბრალოდ ეუბნება აპს რა ფერები გამოყენება.

შეთხზული გადაფარვები ასევე ოდნავ უფრო შეზღუდულია ვიდრე RRO. Android 11-მდე RRO-ებს შეეძლოთ უგულებელყოფს თითქმის ნებისმიერ რესურსს: ლოგინებს, მთელ რიცხვებს, განზომილებებს, ატრიბუტებს, განლაგებას და თუნდაც ნედლეულს მონაცემთა ფაილები. Android 11-მა შეიტანა გარკვეული ცვლილებები RRO-ების მუშაობაში, რითაც უმთავრესი განლაგება აღარ არის შესაძლებელი. მეორეს მხრივ, შეთხზულ გადაფარვებს შეუძლიათ მხოლოდ მნიშვნელობების გადაფარვა, რომლებიც შეიძლება იყოს წარმოდგენილი მთელი რიცხვებით. ეს მოიცავს მთელ რიცხვებს, ზომებს, ლოგინებს და ფერებს. თქვენ არ შეგიძლიათ მათი გამოყენება ნედლეული მონაცემთა რესურსების, განლაგების, სტრიქონების ან მასივების გადასაფარად – ყოველ შემთხვევაში, არც ისე მარტივად.

მიუხედავად ამისა, ამ შეზღუდვებს ნამდვილად არ აქვს მნიშვნელობა, როდესაც საქმე ეხება მასალას თქვენ და ფულს. Fabricated Overlays სისტემას უადვილებს ფერისა და განზომილების გადაფარვის გამოყენებას, APK-ის შედგენის ან სისტემის გადატვირთვის მოლოდინის გარეშე მის გამოსაყენებლად.

მასალა თქვენ ჯერ კიდევ იხვეწება

Material You-ის დინამიური ფერები, რა თქმა უნდა, არ არის პრობლემების გარეშე და არც ისე რთულია მისი ფუნდამენტურად გატეხვა. თუ ფონს სწრაფად შეცვლით, მაგალითად, შეგიძლიათ ეფექტურად დააწესოს უარი სერვისზე თავდასხმაზე. მიშაალ რაჰმანი დაადასტურა რომ სერვისზე უარის თქმის ეს შეტევა დაფიქსირდა Android 12L-ში. გულწრფელად ვიმედოვნებ, რომ Material You გაუმჯობესდება მომავალ ვერსიებში, რადგან მე მიყვარს ის და მისი კონცეფცია, მას ბევრი შრომა სჭირდება. ჩემი პირადი გამოცდილებიდან ვგრძნობ, რომ მისი უგუნურება ნაწილობრივ არის იმის გამო, რომ ის არ დაემატა AOSP-ს... ეს და ის ფაქტი, რომ Google-მა ის ეფექტურად აქცია Pixel-ის სერიების დროული ექსკლუზიურად. ახლახან პრობლემაც კი შემექმნა ჩემს Google Pixel 7-ზე Android 13-ის დეკემბრის პატჩის განახლების შემდეგ. Pro, რომელიც მოგვიანებით დავადგინე logcat-ში, რომ გამოწვეული იყო Material You-ით და Google Pixel-ით გამშვები.

გამაღიზიანებლად, Android 12-მა წაშალა პერსონალური შრიფტისა და პერსონალური ხატულების არჩევანი Material You-ის დინამიური თემის სასარგებლოდ. თემატური სისტემა პირველად დაინერგა Pixel Themes აპლიკაციით და ის დაფუძნებული იყო Android-ის გადაფარვაზე დაფუძნებულ თემების ჩარჩოზე. მიუხედავად იმისა, რომ Android 12-ის Material You თემების სისტემა უფრო კონფიგურირებადია, ის არ შეიცავს Google-ის მიერ Android 10-ში შემოღებულ პერსონალურ სტილებს. Ში კომენტარი Google Issue Tracker-ზე, Google-ის თანამშრომელმა დაასახელა მისი წაშლის შემდეგი დასაბუთება:

„მორგებული სტილის მახასიათებლები (შრიფტი, ხატის ფორმა, ხატის პაკეტი და აქცენტის ფერი) R-ში იცვლება ახალი დინამიური თემის ფუნქციით, რომელსაც ჩვენ ვნერგავთ S-ში. ჩვენ ვხედავთ ახალი დინამიური თემების ფუნქციას, როგორც უფრო თანამედროვე და ინტელექტუალურ. მარტივი და სასიამოვნო გამოცდილება, რომლითაც ვიმედოვნებთ, რომ ყველა მომხმარებელი შეძლებს ისარგებლოს. ”

როგორც ჩანს, ნაკლებად სავარაუდოა, რომ Google მომავალში ხელახლა დანერგავს შრიფტებსა და პერსონალურ ხატულას არჩევანს. ბევრმა მომხმარებელმა გამოხატა თავისი იმედგაცრუება Google-ის Material You-ის ცვლილებებთან დაკავშირებით და იმის გათვალისწინებით, თუ რამდენად გატეხილი შეიძლება იყოს ის, მე სრულიად მესმის, რატომ. ჩვენ ვიმედოვნებთ, რომ Google გააუმჯობესებს მის განხორციელებას, ან ასე სხვა OEM-ები არ ხვდებიან იმავე ხაფანგში მათ დანერგვაში, რომელიც Google-ს აქვს.

ცვლილებები Android 13-ში

Google-მა გააუმჯობესა Material You გათავისუფლებისთვის Android 13და ერთ-ერთი პირველი გაუმჯობესება იყო ხუთი დამატებითი ფერის სტილის დამატება. ფერების ამ ახალ სტილებს უწოდებენ TONAL_SPOT, VIBRANT, EXPRESSIVE, SPRITZ, RAINBOW და FRUIT_SALAD. ჩვენ გადავიღეთ ეკრანის ანაბეჭდები და ვაჩვენეთ ისინი ქვემოთ.

  • TONAL_SPOT: ნაგულისხმევი მასალების ფერები
  • VIBRANT: წარმოქმნის უფრო ტონალურ პალიტრას ოდნავ განსხვავებული ფერებით და უფრო ფერადი მეორადი და ფონის ფერებით
  • ექსპრესიული: წარმოქმნის პალიტრას მრავალი გამოკვეთილი ელფერით, რომლებიც უფრო ფერადია ვიდრე VIBRANT
  • SPRITZ: ქმნის უფრო დაბალი ფერის პალიტრას

Android 13-მა ასევე გააცნო დეველოპერებს შესაძლებლობა ჰქონდეთ აპების თემატური ხატები, რათა მათ შეძლონ სისტემის თემა. დეველოპერებს შეუძლიათ მხარი დაუჭირონ ამას თავიანთ აპებში როგორც ადაპტური ხატულის, ასევე მონოქრომატული აპლიკაციის ხატის მიწოდებით. გამშვებს მაინც სჭირდება თემატური ხატების მხარდაჭერა, როგორიცაა Google Pixel გამშვები.


მადლობა XDA-ს უფროს წევრს kdrag0n, ორივე ProtonAOSP-ის დეველოპერი და Material You თემების სისტემის აღდგენა, ამ სტატიაში მათი დახმარებისთვის!