我只需要檢測,如果導航欄位於屏幕的右側,如下面的圖像看到的權利。由於檢測,如果導航欄位於屏幕
回答
導航欄將只在屏幕的右側,如果它是在橫向模式。因此,要檢測這種情況,使用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. Android檢查導航欄位於屏幕的哪一側
- 2. 導航欄處理大於屏幕圖
- 3. jquery導航檢測屏幕大小
- 4. 使用軟導航欄正確檢測屏幕大小
- 5. 如何移動導航欄位置在屏幕上
- 6. 如果屏幕尺寸縮小,導航欄無法響應
- 7. 導航/屏幕
- 8. 導航屏幕
- 9. 更改屏幕導航欄爲黑色
- 10. 導航欄48dp在每個屏幕上
- 11. 1920x1080屏幕導航欄問題
- 12. 在小屏幕上保持導航欄ul水平位置
- 13. 導航欄屏蔽
- 14. iphone全屏導航欄位移
- 15. 檢測屏幕
- 16. 無法訪問導航欄第二個屏幕中的導航欄
- 17. 將左側導向屏幕導航欄移動到屏幕右側的問題
- 18. 基於屏幕大小切換導航
- 19. 導航欄在4「屏幕下的狀態欄下
- 20. 導航欄定位
- 21. 導航欄定位
- 22. 導航欄定位
- 23. 定位導航欄
- 24. Appcelerator。檢測點擊導航欄標題
- 25. 如何檢測屏幕上
- 26. 引導3重新排序導航欄的小屏幕布局
- 27. 導航欄在調整大小屏幕後消失[引導]
- 28. 如何爲所有屏幕一次添加導航欄?
- 29. 如何在啓動屏幕後放置導航欄?
- 30. iOS - 如何不在屏幕上顯示導航欄?
的可能重複[檢測的Android導航欄方向( http://stackoverflow.com/questions/21057035/detect-android-navigation-bar-orientation) – NPike
請如何更改導航欄的當前方向位置? – Benny