查找屏幕是否有圆角

时间:2018-04-30 16:55:48

标签: android

我正在寻找一种方法来确定Android设备是否具有带圆角的屏幕,理想情况下也是半径。

我的用例是一个由单个全屏OpenGL视图组成的游戏。它渲染一些靠近边缘和边界的UI元素,为游戏本身提供尽可能多的区域。但是当屏幕有圆角时,它们会被部分隐藏,所以它们需要以不同的方式定位。

2 个答案:

答案 0 :(得分:5)

Android S Developer Preview 通过 WindowInsets.getRoundedCorner(int position) 添加了 RoundedCorner API。它提供了每个圆角的中心点和半径。

参考:https://developer.android.com/about/versions/12/features#rounded_corner_apis

答案 1 :(得分:0)

目前(2018年5月7日)您只能使用isRounded()方法检查物理屏幕是否为圆形(对于Android Wear)但是无法检查屏幕边角是否已四舍五入。

我认为只有少数设备有圆角。因此,只需检查设备名称并相应调整布局即可。

有一个流行的Android库可以获得Android设备的市场名称。点击此处查看更多信息:https://github.com/jaredrummler/AndroidDeviceNames

<强>用法:

String deviceName = DeviceName.getDeviceName();

希望此解决方法可以暂时帮助您。

将来所有设备都可能会发布圆角屏幕(只是一个假设)。