在开发 Android Wear 表盘时,如何像 Moto 360 一样检测屏幕是否是圆的并且有下巴(又名扁平轮胎带)?
我试过 onSurfaceChanged
,但那里的宽度和高度是相同的。
我在有下巴的模拟器上试过这个,但仍然无法检测到下巴,是模拟器还是我的代码有问题?:
@Override
void onApplyWindowInsets(WindowInsets insets) {
super.onApplyWindowInsets(insets);
// check if MOTO360 or other Chin layouts
Log.d(TAG,String.format("isRound : %s, BottomInset :%d",insets.isRound()?"YES":"NO",insets.getStableInsetBottom()));
// LOG OUTPUT : isRound : YES, BottomInset :0
if (insets.isRound() && insets.getStableInsetBottom() > 0)
ClockPaintingRoutines.flat_display_mode=true;
}
最佳答案
我在用:
insets.getSystemWindowInsetBottom() > 0
这在模拟器上对我有用,但我没有真正的设备来测试它。