Dikkat bildirimi panellerini uygulama

Android 17 ve sonraki sürümlerde, anlık bildirimler için ölçeklenebilir kullanıcı arayüzü (HUN), çalışma zamanı kaynak yer paylaşımlarıyla (RRO'lar) ölçeklenebilir kullanıcı arayüzü çerçevesini kullanarak HUN panellerinin pencere yönetimini (konumlandırma, arka plan karartma, animasyonlar) özelleştirmenize olanak tanır. Bu özellik, dahili içerik oluşturmayı etkilemeden bildirimin kapsayıcısı üzerinde kontrol sağlar.

Uygulama

HUN'lar için ölçeklenebilir kullanıcı arayüzünün uygulanması şunları içerir:

  • Herkese açık ve sistem API'leri: Ölçeklenebilir kullanıcı arayüzü ayrıştırıcılarında HunWindow sınıfını ve <HunPanel> XML etiketi ayrıştırma mantığını kullanıma sunar.
  • İş ortağı uygulaması:
    • Özel bir RRO yer paylaşımı tanımlayın.
    • XML dosyası (örneğin, res/xml/hun_panel.xml) oluşturmak için <HunPanel> kök etiketini kullanın.
    • Sınırları, yer çekimini (TOP veya BOTTOM), görünürlüğü ve arka planı (scrim drawable) kontrol etmek için <Variant> öğelerini tanımlayın.
    • <Transitions> kullanarak varyantları sistem etkinlikleriyle (örneğin, _System_Show_Panel) eşleyin.
  • Yeni cihazlar ve yükseltilen cihazlar: Bu, RRO'lar tarafından yapılan bir yapılandırma değişikliğidir. Cihazları yeni sistem görüntüsünü alacak şekilde yükseltmek için HUN davranışını tanımlayan uygun bir RRO oluşturun. Bu sayede kullanıcılar varsayılan değerden sapabilir.
  • Etkinleştirme veya devre dışı bırakma: Bu özelliği etkinleştirmek veya devre dışı bırakmak için window_states yapılandırmasına @xml/hun_panel ekleyin veya @xml/hun_panel simgesini kaldırın.
  • Varsayılan ayarlar: Sistem varsayılan yapılandırmasını geçersiz kılan kendi RRO'nuzu uygulayarak varsayılan ayarları değiştirin.

Koşullar ve doğrulama

Yer paylaşımlarını etkinleştirme ve devre dışı bırakma işlemlerini test etmek için aşağıdaki sırayı kullanın:

adb shell cmd overlay disable --user current com.example.overlay.scalableUI.hun.bottom

RRO'yu etkinleştirir veya devre dışı bırakırsanız HUN sırasıyla en altta veya en üstte gösterilir.

Manuel doğrulama

  • Konumlandırma: HUN'ların belirtilen yerçekimi (TOP veya BOTTOM) ve sınırlar içinde göründüğünü doğrulayın.
  • Etkileşimler: Kapatmak için kaydırmanın çalıştığını doğrulayın (kapatılamıyorsa düğmenin çalıştığını doğrulayın).
  • Animasyonlar: Açık ve kapalı durumlar arasındaki geçiş animasyonlarını doğrulayın.