在onePlusOne设备中逐步检测软导航栏的可用性?

Sha*_*ras 5 android

我需要检查一个设备是否有软导航栏,我按照这里的建议.

它工作得很好,除了onePlus设备,出于某种原因,这段代码:

int id = resources.getIdentifier("config_showNavigationBar", "bool", android");
    return id > 0 && resources.getBoolean(id);
Run Code Online (Sandbox Code Playgroud)

虽然显示了软导航栏,但返回false.

知道如何才能得到正确的结果?

我更喜欢不计算实际宽度和可用宽度,这似乎是昂贵的操作.

谢谢.

Fre*_*ott 0

不这样不行,你必须计算大小

使用的方法在这个 SO 答案中有详细说明;

如何以编程方式获取导航栏的高度和宽度