الاستجابة للتغييرات في إذن الوصول إلى واجهة المستخدم

يوضّح هذا الدرس كيفية تسجيل مستمع حتى يتم إشعار تطبيقك من التغييرات في إمكانية رؤية واجهة مستخدم النظام يعد ذلك مفيدًا إذا كنت تريد مزامنة أجزاء أخرى من واجهة المستخدم مع أشرطة إخفاء/عرض أشرطة النظام.

تسجيل أداة استماع

لتلقّي إشعار بالتغييرات التي تطرأ على إذن الوصول إلى واجهة مستخدم النظام، سجِّل View.OnSystemUiVisibilityChangeListener إلى العرض. وهذه هي طريقة العرض التي تستخدمها عادةً للتحكم في مستوى رؤية التنقل.

على سبيل المثال، يمكنك إضافة هذا الرمز إلى صفحة نشاطك طريقة onCreate():

Kotlin

window.decorView.setOnSystemUiVisibilityChangeListener { visibility ->
    // Note that system bars will only be "visible" if none of the
    // LOW_PROFILE, HIDE_NAVIGATION, or FULLSCREEN flags are set.
    if (visibility and 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.
    }
}

Java

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.
        }
    }
});

من المفيد عمومًا إبقاء واجهة المستخدم متزامنة مع التغييرات في شريط النظام مستوى الرؤية. على سبيل المثال، يمكنك استخدام أداة الاستماع هذه لإخفاء شريط الإجراءات وإظهاره في حفلة موسيقية مع إخفاء شريط الحالة وعرضه.