当前位置: 首页 > 知识库问答 >
问题:

React Native Samsung One UI 3.0 Dimensions屏幕宽度未返回正确值

何修能
2023-03-14

我用的是react native 0.63.4,我用的是< code >

我使用Dimensions.get(“screen”)。width以使元素具有响应性。由于某些原因,屏幕宽度的值不正确,但较大。因此屏幕上的每个元素都会变大。

预期行为:预期图像
问题:问题图像

我已经用许多设备进行了测试。我只在银河S20超级版和S10精简版上看到这个问题。安装Android 11 后出现问题

代码:

const {height: screen_height, width: screen_width} = Dimensions.get('screen');

<View style={{ flex: 1,justifyContent:"center",alignItems:"center" }}>
  <Text style={{fontSize:screen_width/15}}>text</Text>
</View>;

什么原因可能导致问题?

更新:仅当设备的屏幕分辨率设置为 3200x1440 时,才会出现问题。该应用程序在较低分辨率下按预期工作。

共有3个答案

柯天宇
2023-03-14

我认为您的文本组件与实际视口重叠。你能添加呈现实际(文本)内容的代码吗?

如果它导致了这个问题,那么您可以尝试用flexWrap:'wrap'style属性包装它。

颛孙凯定
2023-03-14

尝试Dimensions.get(“window”)。heightDimensions.get(“window”)。width可以解决您的问题。

酆勇
2023-03-14

替换此代码:

const {height: screen_height, width: screen_width} = Dimensions.get('screen');

有了这个:

let scale = Dimensions.get('screen').scale / Dimensions.get('window').scale;
const screen_height =  Dimensions.get('window').height * scale;
const screen_width =  Dimensions.get('window').width * scale;
 类似资料:
  • 我如何才能使它的应用程序是优化的所有屏幕?

  • 我一直在摆弄动态UICollectionViewCell,并注意到在iOS 8上对< code > uicollectionview cell 调用< code > cell . content view . systemlayoutsizefittingsize(uilayoutfitingcompressedsize)会返回不正确的宽度。目前解决这个问题的唯一方法是显式添加一个宽度约束来强制单

  • 如何在 React 原生中获取屏幕宽度?我需要它,因为我使用了一些重叠的绝对组件,并且它们在屏幕上的位置会随着不同的设备而变化。

  • 我正在尝试将CardView宽度与屏幕宽度匹配,但CardView的宽度与屏幕宽不匹配。我一次又一次地检查了我的代码,甚至使所有属性的宽度等于匹配的父级。 Recyclerview xml-- 卡片视图xml - 膨胀代码 这是屏幕截图

  • 一组六个广义密度: 从每个手机显示的 wiki 页面 按比例缩小到桶中,即如果ppi为300,将进入hdpi桶,因为它小于320? 这是计算屏幕尺寸桶的正确方法吗? 我问的原因是因为我创建了以下值目录资源: 在< code>dimens.xml中,我有不同的边距,并根据桶的大小设置dp,即 我很想知道这是否是正确的方法。

  • 我很清楚关于这个话题有多个问题,但我就是弄不懂它的意思。问题似乎是没有将新值添加到@cacheable列表中。 调试完问题后,我发现问题似乎出在钥匙上。 下面是代码片段 所以当我调用save方法时,用于缓存的关键字是incrementing integer,或者1,2,3...但是当我尝试获取所有文档时,缓存使用SimpleKey[]作为键。如果我尝试为@Cacheable使用相同的键,我会得到S