如何检测设备屏幕是否有圆角并估计拐角的半径(如果可能(?
我想更典型地修改我的view
cardview
以适应这些屏幕。我已经使用尺寸成功检索了屏幕宽度和高度
width: Dimensions.get('window').width,
height: Dimensions.get('window').height
我无法根据上述方法的 4 个角处的曲线调整我的父视图。如果我给父视图提供静态半径,它会在矩形屏幕上产生不好的外观和感觉,这是不可接受的。
我想到的一种方法是生成所有带有圆角的设备的列表,并仅对这些设备应用边框半径。但是,维护名单并与市场上的新人一起调整名单更难。
谁能帮我?任何类型的方法或指导方针都会真正帮助我。提前谢谢你
在挣扎之后,我提出了一个更简单的解决方案,为什么我不应该在应用程序第一次启动时询问用户他/她是否具有圆角屏幕,后来在我的应用程序下的设置中提供了一个选项,可以随时更改用户想要。
我将用户的选择存储在本地存储中,并根据该标志修改了我的视图。现在,我不必维护所有设备的列表,而是涵盖所有用例。
目前没有从尺寸获取拐角半径的选项。下面给出的维度对象中只有 4 个值。
{ width: 384, height: 592, scale: 2, fontScale: 1 }
即使您已经回答并接受了自己的答案,它也不是原始帖子的真正解决方案。
我认为基本上所有带凹口的手机都有圆角,而没有凹口的设备通常没有圆角。如果您有凹口,则您的安全区域有一个插图。例如,如果您使用的是 react-native-safe-area-context,您可以通过以下方式获取插图
const insets = useSafeAreaInsets();
const hasNotch = insets.top || insets.bottom || insets.right || insets.left;