این درس نحوه ثبت شنونده را توضیح می دهد تا برنامه شما بتواند از تغییرات نمایان بودن رابط کاربری سیستم مطلع شود. اگر میخواهید بخشهای دیگر UI خود را با پنهان کردن/نمایش نوارهای سیستم همگامسازی کنید، این کار مفید است.
ثبت شنونده
برای اطلاع از تغییرات نمایان بودن رابط کاربری سیستم، یک View.OnSystemUiVisibilityChangeListener
را در نمای خود ثبت کنید. این معمولاً نمای مورد استفاده شما برای کنترل دید ناوبری است.
به عنوان مثال، می توانید این کد را به متد onCreate()
اکتیویتی خود اضافه کنید:
کاتلین
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. } }
جاوا
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. } } });
به طور کلی تمرین خوبی است که رابط کاربری خود را با تغییرات در نمایان شدن نوار سیستم هماهنگ نگه دارید. برای مثال، میتوانید از این شنونده برای مخفی کردن و نمایش نوار اکشن در هماهنگی با نوار وضعیت پنهان و نمایش استفاده کنید.