ყველაფერი რაც აქამდე ვიცით Android Q-ის მუქი რეჟიმის შესახებ

click fraud protection

Google-ის Android-ის შემდეგი ვერსია, Android 10 Q, მოიცავს სისტემურ ბნელ რეჟიმს. როგორ გაუმკლავდებიან აპები Android Q-ში ბნელ თემებს?

ჩვენს პირველი პოსტი დეტალურად განვიხილავთ იმ ცვლილებებს, რომლებიც აღმოვაჩინეთ განვითარებადი Android Q კონსტრუქციიდან, რომელიც მივიღეთ, მოკლედ ვისაუბრეთ ბნელ რეჟიმში, რომელიც ყველა აღფრთოვანებულია. შეგახსენებთ, Google-ის ჩაშენებული მუქი რეჟიმი Android Q-ში შეიძლება ჩართოთ ახალი „Dark Mode“ ოფციის მეშვეობით ეკრანის პარამეტრებში. მუქი რეჟიმი შეიძლება იყოს ყოველთვის გამორთული, მუდამ ჩართული, ან ავტომატურად ჩართულია ღამით და გამორთულია დილით. მუქი რეჟიმის თემები SystemUI (მოცულობის პანელი, კვების მენიუ, სწრაფი პარამეტრების პანელი, შეტყობინებები), პარამეტრების აპლიკაცია და ჩარჩო (აქცენტის ფერი და ა.შ.).

ზემოთ: მუქი რეჟიმი Android Q-ში Google Pixel 3 XL-ზე. ქვემოთ: მსუბუქი თემა Android Pie-ში Google Pixel 2 XL-ზე.

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

შეტყობინებები, ტელეფონი, კონტაქტები, სიახლეები, Ითამაშე თამაშები, YouTube, რუკები, და სხვა განახლებულია მომხმარებლისთვის მიმართული მუქი რეჟიმის გადამრთველებით, ხოლო სხვა აპები მოსწონს გუგლ ქრომი Google I/O 2019-მდე ჯერ კიდევ ასწორებენ ნებისმიერ ხარვეზს. Google-მა ასევე დაიწყო მესამე მხარის აპლიკაციების დეველოპერების წახალისება ჩაერთეთ ბნელ თემებს მათ აპლიკაციებში, რადგან კომპანია აღიარებს, რომ ისინი შესანიშნავია ბატარეის მუშაობისთვის (მინიმუმ სმარტფონებზე OLED დისპლეით).

დეველოპერებს რომ დაეხმარონ აპლიკაციების განახლებაში Android Q-ის ბნელი რეჟიმის მხარდაჭერით, Google გთავაზობთ დეველოპერის ახალ ვარიანტს, რომელიც, როგორც ჩანს, აიძულებს ყველა აპს გადავიდეს ბნელ რეჟიმში. ეს პარამეტრი არ არის განკუთვნილი იმ მომხმარებლებისთვის, რომლებსაც სურთ ყველაფერი მუქი რეჟიმის დაყენება, რადგან სისტემისთვის რთულია სწორი ფერების შერჩევა ყველა აპისთვის, რომელსაც არ აქვს მშობლიური მუქი რეჟიმი. საბედნიეროდ, Google-მა უკვე ჩაუყარა საფუძველი აპებს ბნელი რეჟიმების მხარდასაჭერად და უკვე არის ბევრი აპი, რომელიც კარგად გამოიყურებოდე Android Q-ის ბნელი რეჟიმის გადაფარვის პარამეტრით ჩართული მაშინაც კი, თუ აპს არ აქვს მომხმარებლის მიმართ მუქი რეჟიმი გადართვა. აქ მოცემულია ეკრანის ანაბეჭდების კოლექცია 24 სხვადასხვა აპლიკაციიდან, სადაც ნაჩვენებია, თუ როგორ გამოიყურებიან ისინი, როდესაც მათზე ბნელი რეჟიმი იძულებულია Android Q-ის გადართვის მუქი რეჟიმის გადართვის გამოყენებით. ყველა აპლიკაცია არ გამოიყურება ისეთი კარგი, როგორც ქვემოთ გაჩვენებთ.

მუქი რეჟიმის დანერგვა Android Q-ში

API მე-8 დონეზე (Android 2.2 Froyo), Google-მა გააცნო - ღამის შესარჩევები რესურსებისთვის. აპის დეველოპერებს შეეძლოთ გადართვა დღის და ღამის რეჟიმებს შორის setNightMode-ის გამოყენებით UiModeManager. თუმცა, setNightMode მოითხოვს, რომ მოწყობილობა იყოს მანქანის რეჟიმში ან დამაგრებულ რეჟიმში, თუ მოწყობილობა არის API დონეზე 22 ან ქვემოთ. AppCompat v23.2 მოიტანა DayNight იმპლემენტაცია, აპლიკაციებს, როგორიცაა Reddit-ის კლიენტები, ავტომატურად გადაერთონ დღის და ღამის თემებს შორის დღის დროზე დაყრდნობით AppCompatDeletegate.setDefaultNightMode(). API დონის 28 (Android 9 Pie) შექმნილია MODE_NIGHT_FOLLOW_SYSTEM (setDefaultNightMode()-ის ნაგულისხმევი მნიშვნელობა) მიჰყვება მომხმარებლის მიერ განსაზღვრულ სისტემის პარამეტრებს პარამეტრებიდან --> დეველოპერის პარამეტრები --> ღამის რეჟიმი. Google არის მუშაობს გაუმჯობესებები DayNight API-ში AppCompat-ში, განსაკუთრებით „ხშირად წარმოქმნილ საკითხებთან დაკავშირებით“, როგორიცაა WebView-თან დაკავშირებული პრობლემები. და ბოლოს, Google-მა ჩართო ღამის რეჟიმის ამოცნობა და აქვს დაბლოკილი აპლიკაციები გარეშე MODIFY_DAY_NIGHT_MODE ხელმოწერა/პრივილეგირებული ნებართვა Android Q-ის ჩარჩოში. ეს უკანასკნელი ცვლილება ნიშნავს, რომ აპებს აღარ შეუძლიათ სისტემის მასშტაბით ღამის რეჟიმის შეცვლა, რაც საშუალებას აძლევდა ბოლო Messages-ის შეცდომის დაბნევას მომხმარებლებს Android Pie-ში.

განახლება: ან განახლება რომ AndroidX მხარდაჭერის ბიბლიოთეკა გაუადვილებს დეველოპერებს ავტომატურად ჩართონ მუქი რეჟიმები თავიანთ აპებში, როდესაც მოწყობილობა გადადის ბატარეის დაზოგვის რეჟიმში.

მუქი რეჟიმის იძულება Android Q-ში

აპლიკაციებს, როგორიცაა Snapchat, Slack, AOSP Email, AOSP Messaging, AOSP Dialer და მრავალი სხვა, აქვთ ღამის რესურსის კვალიფიკაცია, მაშინაც კი, თუ ისინი არ აძლევენ მომხმარებელს აპის ღამის რეჟიმის გამოყენების საშუალებას. სხვა აპლიკაციები, რომლებსაც არ გააჩნიათ მყარი კოდირებული ღამის რესურსების კვალიფიკატორები, როგორიცაა Facebook და Instagram, შეიძლება კარგად გამოიყურებოდეს ან არ იყოს კარგად ჩართული Android Q-ის უგულებელყოფის მუქი თემით. ინსტაგრამი მშვენივრად გამოიყურება, ფეისბუკს კი ბევრი შრომა სჭირდება. ჩემი ტესტირებიდან, ღამის რეჟიმის დეველოპერის ოფციის უგულებელყოფა ძალიან განსხვავდება ფერის ინვერსიისგან ხელმისაწვდომობის პარამეტრებში - შესაძლოა Google აპირებს ამ ფუნქციის გამოყენებას, რათა დაეხმაროს დეველოპერებს, შექმნან მუქი რეჟიმები თავიანთი აპებისთვის, სანამ Android Q Developer Previews არის მიმდინარე. ჩვენ არ ვიცით ზუსტად როგორ მუშაობს ეს ფუნქცია მანამ, სანამ Android Q-ის საწყისი კოდი არ გამოქვეყნდება ან Google არ გამოაქვეყნებს დოკუმენტაციას.

Android Q-ში მუქი რეჟიმის უგულებელყოფა ყველაზე მეტად დარღვეულია აპებში, რომლებიც იყენებენ WebViews-ს.

"შიპიქსელის ფერის ღირებულებაGoogle-ის კრის ბეინსისა და ალან ვივერეტის მიერ წარმოდგენილი საუბარი, დუეტი მოუწოდებს დეველოპერებს მუქი თემების დანერგვაში:

  • DayNight API-ის გამოყენება AppCompat-ში. საფონდო ვიჯეტები ავტომატურად რეაგირებენ ღამის რეჟიმში ცვლილებებზე, ან შეგიძლიათ თქვენს აპლიკაციაშიც დაამატოთ გადამრთველი.
  • გადაფარვის თემების დინამიურად გამოყენება გაშვების დროს getTheme().applyStyle() გამოძახებით. მეტი ინფორმაცია შეგიძლიათ იხილოთ წინა საუბრებში აქ.
  • თქვენი აპლიკაციის სტრუქტურირება ისე, რომ დაეყრდნოს თემის ატრიბუტების გამოყენებას, როგორიცაა colorForeground, colorControlNormal, colorAccent და ა.შ.
  • თქვენი რესურსებისთვის ღამის კვალიფიკაციის დამატება. -ღამის კვალიფიკატორები უნდა იქნას გამოყენებული რესურსებისთვის, რომლებსაც რთულია თემის ფერების ამოღება.
  • ინვერსიული ფერების რეჟიმის ჩართვა (პარამეტრები --> ფერები --> ფერის ინვერსია) სწრაფი წარმოდგენის მისაღებად, თუ როგორ გამოიყურება თქვენი აპლიკაცია ბნელ რეჟიმში. თუ გსურთ გადაიღოთ თქვენი აპლიკაციის სკრინშოტი ინვერსიული ფერებით, უნდა იცოდეთ, რომ ფერის ინვერსია არ გამოჩნდება ეკრანის სურათზე.

გამოსვლისას, Android Q-ის მუქი რეჟიმი გავრცელდება პირველი მხარის Google აპებზე, მაგრამ ჩვენ ვიმედოვნებთ, რომ მესამე მხარის აპები სწრაფად შეითვისებენ ბნელ თემებს თავის აპებში. გარდა ამისა, ვიმედოვნებთ, რომ უფრო მეტი აპი ავტომატურად შეიცვლება ღამის თემებზე, როდესაც მომხმარებელი ჩართავს სისტემის მასშტაბის პარამეტრს. ამჟამად, ერთადერთი აპი, რომელიც მე მინახავს, ​​რომელიც ავტომატურად ცვლის თემებს, როდესაც Android Q-ის სისტემური ბნელი რეჟიმი ჩართულია, არის Google Contacts. ჩვენ ვნახავთ, თუ როგორ განვითარდება მოვლენები რამდენიმე თვეში, როდესაც Android Q გამოვა, მაგრამ ყველა დეველოპერისთვის, ვინც ამას კითხულობს: აითვისეთ ბნელი მხარე!

LineageOS კონტრიბუტორის შეტანით ჯოი რიცოლი.