2016-08-22 14 views
13

Android'in Çoklu Pencere desteğiyle, durum çubuğunun görünür olup olmadığını nasıl anlarım? Örneğin, dikey yönde olduğunda, en üstteki uygulamam durumunda durum çubuğu görünebilir, ancak alt uygulamadayken görünür olmaz. Şu anda, görüşlerim alt kısımdayken eğlenceli oluyor, çünkü artık orada olmayan durum çubuğuna yer açıyorum.Android Çoklu Pencere Desteği: Durum çubuğunun görünüp görünmediğini tespit etme?

+3

programlı durum çubuğunda yer açmak etmeyin: dokümanlardan doğrudan

. Android kullanın: fitsSystemWindows, View.onApplyWindowInsets(), View.setOnApplyWindowInsetsListener(), Behavior.onApplyWindowInsets() .... Bu zor bir iştir, ancak orada bulunan durum çubuğuna güvenemezsiniz ve N'den önce WindowInsets'i kullanarak her şeyi yeniden uygulamak için zaman ayırmanızı öneririz. – natario

+0

WindowInsets, bilgileri programlı olarak sağlamak için çalışır, ancak bunlar yavaştır. Gerçek verilerin neler olduğunu öğrenmeden önce birden fazla çağrı alırsınız. – Justin

+0

Yeniden uygulanmaya gelince, ben istemiyorum. Birçok görüşe ve bazı kütüphanelere güveniyorum. Hepsinin iyi oynamadığı sistem pencerelerine uyar. Tüm üreticiler arasında Jelly Bean, KitKat ve Marshmallow'un yeniden uygulanması ve test edilmesi son çare. – Justin

cevap

-1

sistem UI çubuğunu demek varsayarsak, durum çubuğunda yani bunu:

View decorView = getWindow().getDecorView(); 

decorView.setOnSystemUiVisibilityChangeListener (new View.OnSystemUiVisibilityChangeListener() { 
@Override 
public void onSystemUiVisibilityChange(int visibility) { 
    // Note that system bars will only be "visible" if none of the 
    // LOW_PROFILE, HIDE_NAVIGATION, or FULLSCREEN flags are set. 
    if ((visibility & View.SYSTEM_UI_FLAG_FULLSCREEN) == 0) { 
     // TODO: The system bars are visible. Make any desired 
     // adjustments to your UI, such as showing the action bar or 
     // other navigational controls. 
    } else { 
     // TODO: The system bars are NOT visible. Make any desired 
     // adjustments to your UI, such as hiding the action bar or 
     // other navigational controls. 
    } 
} 

}); https://developer.android.com/training/system-ui/visibility.html

+0

Bunu çok pencereli ortamda test ettiniz mi? Bana bağlam dışında görünüyor. Bunun OP'nin, içeriği dengelemek için ne kadar ihtiyaç duyduklarını belirlemeye nasıl yardımcı olduğunu göremiyorum. –

+0

ahem Google dokümanlarını doğru şekilde oluşturuyordu.O aslında Google tarafından test edildi. –

+0

Çoklu pencere modundayken sistem görünürlüğü değişmiyor. Tam ekran veya çoklu pencere modunda aynı tepkiyi alıyorum. – Justin

İlgili konular