mic*_*srb 14 android android-layout
我正在寻找一种方法来确定Android设备是否具有带圆角的屏幕,理想情况下也是半径.
我的用例是一个由单个全屏OpenGL视图组成的游戏.它渲染一些靠近边缘和边界的UI元素,为游戏本身提供尽可能多的区域.但是当屏幕有圆角时,它们会被部分隐藏,所以它们需要以不同的方式定位.
截至 2019 年 6 月 6 日更新
Android 正式支持运行 Android 9(API 级别 28)及更高版本的设备上的显示剪切。
参考: https: //developer.android.com/guide/topics/display-cutout/
目前(2018年5月7日)您只能使用方法检查物理屏幕是否圆角(适用于Android Wear),[isRounded()][1]而无法检查屏幕角是否圆角。
我认为只有少数设备具有圆角。因此,最好只检查设备名称并相应地调整布局。
有一个流行的 Android 库可以获取 Android 设备的市场名称。请在此处查看更多信息:https ://github.com/jaredrummler/AndroidDeviceNames/
用法:
String deviceName = DeviceName.getDeviceName();
Run Code Online (Sandbox Code Playgroud)
希望这个解决方法能暂时帮助您。
也许未来的所有设备都将发布圆角屏幕(只是一个假设)。
Android SDeveloper Preview 添加了一个RoundedCornerAPI,通过WindowInsets.getRoundedCorner(int position). 它提供每个圆角的中心点和半径。
参考:https : //developer.android.com/about/versions/12/features#rounded_corner_apis