მესამე მხარის ეს ბიბლიოთეკა შემოაქვს Android 12-ის Material You თემატიკას ნებისმიერ აპლიკაციაში

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

მასალა შენ არის Google-ის დიზაინის ენის უახლესი ვერსია. Material You-ით Google ხაზს უსვამს პერსონალიზაციას, რის გამოც Android 12, არის ახალი დინამიური თემების სისტემა, რომელიც აფერადებს თქვენს UX-ს ფერების გამოყენებით ამოღებულია თქვენი ფონიდან. ეს დინამიური თემატური სისტემა, კოდური სახელწოდებით "მონეტი", პირდაპირ ეთერში გავიდა Android 12 Beta 2-ში, მაგრამ Google-ს ჯერ არ აქვს დოკუმენტირებული API-ები/განხორციელება, არ უზრუნველჰყოს მხარდაჭერის ბიბლიოთეკები ან გახსნას Google Play აპების გამოსაქვეყნებლად, რომლებიც მიზნად ისახავს API-ს. დონე 31 (Android 12), ასე რომ, დეველოპერების აბსოლუტურ უმრავლესობას არც კი შეწუხებულა მათი აპლიკაციების ადაპტირება დინამიური თემის მხარდასაჭერად სისტემა.

ეს იმას არ ნიშნავს არა თუმცა, დეველოპერი თამაშობს Android 12-ის თემატური სისტემით. დეველოპერი პოპულარული ავტომატიზაციის აპლიკაცია Tasker მან აჩვენა დინამიური თემების მხარდაჭერა თავის აპლიკაციაში Android 12-ის ოფიციალური API-ების გამოყენებით. მეორეს მხრივ, სხვა დეველოპერი, kdrag0n,

აღადგინა სისტემა მთლიანად საკუთარი ფერის მოპოვებისა და პალიტრის გენერირების ალგორითმის გამოყენებით. Kdrag0n-მა გააზიარა წყაროს კოდი თავისი თემის ძრავისთვის და მუშაობს Jetpack Compose და Flutter ბიბლიოთეკაზე, ასე რომ, მესამე მხარის აპებმა, რომლებიც შექმნილია OS-ის ძველი ვერსიებისთვის, შეუძლიათ განახორციელონ მისი შეხედულება "მონეტის" შესახებ.

ახლა, XDA აღიარებული დეველოპერი Quinny899 მან შექმნა საკუთარი ბიბლიოთეკა, რომელიც დაფუძნებულია kdrag0n-ის მორგებულ „მონეტის“ განხორციელებაზე (ე.ი. ეს არის არა Google-ის თემის ძრავზე დაყრდნობით). დეველოპერებს შეუძლიათ ამ MonetCompat ბიბლიოთეკის ინტეგრირება თავიანთ აპებში, რათა დაამატონ მხარდაჭერა მათი აპლიკაციის ინტერფეისის დინამიურად თემის შესაქმნელად მომხმარებლის ფონიზე დაყრდნობით. ეს ბიბლიოთეკა მუშაობს Android 5.0 და ზემოთ მომუშავე მოწყობილობებზე (გამოიყენება პალიტრა API თავსებადობის რეჟიმში) და Android 8.1 Oreo და ზემოთ ნორმალურ რეჟიმში. ბიბლიოთეკას არ შეუძლია ფერების ამოღება ცოცხალი ფონებიდან Android 8.1-მდე ვერსიებზე, პლატფორმის API-ებში შეზღუდვების გამო.

რაც შეეხება იმას, თუ რატომ შეიძლება სურდეს დეველოპერს ამ ბიბლიოთეკის გამოყენება, თავად Quinny899 განმარტავს პროექტის GitHub გვერდზე. „ამჟამად ასევე უცნობია, უზრუნველყოფს თუ არა Google მონეტის საკუთარ უკან თავსებადობის ბიბლიოთეკას Android 12-ის გამოშვებით, ამიტომ ეს ბიბლიოთეკა შესაძლოა საბოლოოდ შეიცვალოს ოფიციალური ბიბლიოთეკით. ამ პროექტში არ არის გამოყენებული Google-ის საკუთრების კოდი და, შესაბამისად, ის ლიცენზირებულია MIT ლიცენზიით მესამე მხარის აპებში გამოსაყენებლად."

პირველი აპლიკაცია, რომელიც იყენებს MonetCompat-ს, რა თქმა უნდა, Quinny899-ის DarQ აპია. DarQ არის აპლიკაცია, რომელიც საშუალებას გაძლევთ გადართოთ Android-ის იძულებითი მუქი რეჟიმის პარამეტრი თითო აპის საფუძველზე. ის თავდაპირველად გამოყენებული root წვდომა სისტემის თვისების დაყენება, მაგრამ იყო განახლებულია გამოიყენოს ADB shell სკრიპტი, რომელიც გაშვებულია მომხმარებლის კომპიუტერზე და ამოიწურება root მოთხოვნა. DarQ 2.0-ში მომხმარებლებს აღარ უწევთ ADB სკრიპტის გაშვება კომპიუტერიდან, რადგან აპლიკაცია ახლა ინტეგრირებულია შიზუკუ. Shizuku არის აპი და სერვისი, რომელიც საშუალებას აძლევს სხვა აპებს აწარმოონ shell ბრძანებები ან წვდომა API-ებზე ADB shell მომხმარებლის პრივილეგიებით - იფიქრეთ, როგორც სუპერმომხმარებლის მართვის აპი, მაგრამ ADB shell წვდომისთვის. Android 11+-ზე Shizuku სერვისის გაშვება შესაძლებელია ჩაშენებული უკაბელო გამართვის ფუნქციით, ასე რომ DarQ-ის დასაყენებლად კომპიუტერი აღარ დაგჭირდებათ. Shizuku-ზე გადასვლის შემდეგ, DarQ ასევე იყენებს ProcessObserver-ს და არა AccessibilityService-ს, რომელიც დეველოპერი ამბობს, რომ DarQ-ს საშუალებას აძლევს აღმოაჩინოს, როდის გაიხსნა აპი (და ამით გამოიყენოს ძალის მუქი პარამეტრი) ბევრად მეტი სწრაფად.

თუ რაიმე მიზეზით არ მოგწონთ MonetCompat-ის მიერ წარმოქმნილი ფერი DarQ აპისთვის, შეგიძლიათ სამჯერ შეეხეთ „DarQ 2.0“-ს, რათა ჩართოთ დეველოპერის ოფციები აპში. აქ შეგიძლიათ აირჩიოთ "Monet Color Picker", რათა შეცვალოთ ფერი, რომლის გამოყენებაც გსურთ აპმა.

DarQ 2.0 ცვლილებების ჟურნალი

  • DarQ 2.0-ს აქვს სრულიად ახალი დიზაინი, Material You ელემენტებით და Monet (ფონზე დაფუძნებული) ფერებით.
  • ADB სკრიპტი ახლა გაქრა და ამის ნაცვლად Shizuku მართავს სერვისს არა-root მოწყობილობებზე. თუ არ იცით რა არის Shizuku, იფიქრეთ, როგორც Superuser აპი არა-root მოწყობილობებისთვის. გაუშვით Shizuku ADB-ით კომპიუტერზე (ან თუნდაც თქვენს ტელეფონზე Android 11 და ზემოთ) ერთხელ ჩატვირთვისას და ნებისმიერ აპლიკაციას, რომელიც იყენებს Shizuku-ს, შეუძლია გამოიყენოს ADB სერვისები.
  • ხელმისაწვდომობის სერვისი შეიცვალა ProcessObserver-ით Shizuku/Root სერვისის გამოყენებით. ეს ბევრად უფრო სწრაფია, ვიდრე ხელმისაწვდომობა, ამიტომ აპებმა, რომლებიც ადრე ძალიან სწრაფად იხსნებოდა მხარდაჭერისთვის, ახლა შეიძლება იმუშაოს.
  • ავტომატური ბნელი თემის გაუმჯობესება მზის ამოსვლის/ჩასვლისას, რათა უკეთ იმუშაოს სხვადასხვა მოწყობილობებზე.
  • Xposed მოდულის გაუმჯობესებები აპებისთვის, რომლებიც ცდილობენ დაბლოკონ სიბნელის ძალის გამოყენება, რაც ხელს უშლის მათ ამის გაკეთებას.

წაიკითხე მეტი

DarQ XDA ფორუმის თემა ||| MonetCompat ბიბლიოთეკა GitHub-ზე