我需要檢查一個設備是否有軟導航欄,我遵循建議here。一步檢測onePlusOne設備中的軟導航欄可用性?
它的偉大工程,除了上萬普拉斯設備,出於某種原因,這個代碼:
int id = resources.getIdentifier("config_showNavigationBar", "bool", android");
return id > 0 && resources.getBoolean(id);
返回false,即使顯示了軟導航欄。
任何想法如何才能得到正確的結果?
我不想計算真正的寬度和可用寬度,它看起來像昂貴的操作。
謝謝。
弄來了一個解決方案? –
是的。最後,我用這個代碼: public boolean hasNavBar(){ Display d = getWindowManager()。getDefaultDisplay(); DisplayMetrics dm = new DisplayMetrics(); d.getRealMetrics(dm); int realHeight = dm.heightPixels; int realWidth = dm.widthPixels; d.getMetrics(dm); int displayHeight = dm.heightPixels; int displayWidth = dm.widthPixels; return(realWidth - displayWidth)> 0 || (realHeight - displayHeight)> 0; } 這給了所有設備上最好的結果。 – Sharas