Мне просто нужно определить, находится ли панель навигации справа от экрана, как показано на рисунке ниже. БлагодаряОбнаружение, если панель навигации находится прямо на экране
ответ
Панель навигации будет только в правой части экрана, если он находится в ландшафтном режиме. Таким образом, чтобы обнаружить это, используйте getResources().getConfiguration().orientation
так:
String orientation = getResources().getConfiguration().orientation;
if(orientation.equals("ORIENTATION_LANDSCAPE"){
// screen in landscape, do what you want to do
}
Спасибо за ответ, но я это знаю. Дело в том, что на некоторых устройствах (большинство) NavBar не справа, а внизу. –
@ImmaWake Зачем вам это нужно (просто интересно)? И что касается этого ... Я не уверен, как вы его обнаружите. – hichris123
хорошо, я отправил этот вопрос> http://stackoverflow.com/questions/21058087/android-disable-overlay-of-actionbar-and-navigationbar-for-flag-translucent пару недель назад и не получил ответов, которые помогли. Таким образом, моя работа заключалась в добавлении дополнения к верхней и нижней части моего макета, соответствующего статусной строке и ширине навигатора. –
Следующий фрагмент кода может помочь:
private boolean isNavigationBarRightOfContent(){
Rect outRect = new Rect();
ViewGroup decor = (ViewGroup) mActivity.getWindow().getDecorView();
decor.getWindowVisibleDisplayFrame(outRect);
DisplayMetrics dm = getResources().getDisplayMetrics();
return dm.widthPixels == outRect.bottom;
}
Попробуйте это:
// retrieve the position of the DecorView
Rect visibleFrame = new Rect();
getWindow().getDecorView().getWindowVisibleDisplayFrame(visibleFrame);
DisplayMetrics dm = getResources().getDisplayMetrics();
// check if the DecorView takes the whole screen vertically or horizontally
boolean isRightOfContent = dm.heightPixels == visibleFrame.bottom;
boolean isBelowContent = dm.widthPixels == visibleFrame.right;
- 1. Обнаружение какой части scrollview находится на экране
- 2. Обнаружение, когда блокировка безопасности находится на экране
- 3. Есть ли способ открыть панель OpenFeint прямо на экране «Вызовы»?
- 4. Макет находится за панель навигации (вне экрана)
- 5. Плавно изменяя размер навигации, когда панель инструментов или панель навигации анимируются на экране или вне его.
- 6. Обнаружение, если пользователь находится на панели запуска
- 7. MvvmCross навигации на экране
- 8. Обнаружение объекта на экране
- 9. Обнаружение фрагмента на экране
- 10. Autohotkey: как определить, на каком экране находится панель задач?
- 11. складная панель навигации становится невидимой на мобильном экране
- 12. панель навигации не изменение размера на экране браузера
- 13. Изменение цвета Панель навигации на экране редактирования из Подробнее раздела
- 14. Swift, панель навигации не отображается на экране входа в систему
- 15. iOS - Скрыть панель навигации только на одном экране?
- 16. Обнаружение нескольких пальцев на экране
- 17. IPHONE - обнаружение, если указатель находится внутри координаты
- 18. Обнаружение ладоней на сенсорном экране
- 19. Явное обнаружение изображений на экране
- 20. Обнаружение жестов на экране TableView
- 21. Обнаружение на экране экрана Android
- 22. Как показать вещи прямо на экране Android?
- 23. Панель вкладок + панель навигации
- 24. Навигационная панель навигации на странице навигации
- 25. Пользовательские навигации Пункт на Панель навигации
- 26. Обнаружение, если веб-приложение размещено на главном экране в Android
- 27. Основная панель навигации и вертикальная панель навигации?
- 28. Обнаружение, если смартфон находится в диапазоне
- 29. Почему панель навигации находится поверх UIViewWeb? (Начинающий в OBJ-C)
- 30. Обнаружение, если пользователь находится в группе
возможно дубликат [Detect Android Navigation Bar ориентации] (http://stackoverflow.com/questions/21057035/detect-android-navigation-bar-orientation) – NPike
Как изменить текущее местоположение ориентации для панели навигации? – Benny