【问题标题】:Reliable absolute position at screen with React Native使用 React Native 在屏幕上可靠的绝对位置
【发布时间】:2022-01-07 23:44:19
【问题描述】:

获取任何元素在屏幕上的绝对位置最可靠的方法是什么?

我的问题是,当使用我的方法添加上面的元素(父元素)时,我无法获得元素的绝对位置。

上下文:我需要获取一个元素在屏幕上的绝对位置,以检查我的跟随手指的元素(使用 reanimated 制作的动画)是否与我无法从中获取绝对位置的那个元素相交。

我尝试过的方法:

event.target.measure

问题是我在“下拉框”上有一个滑动元素,它只会产生错误的位置。

ref.current.measure

这个有效但不可靠。它在 useEffect 中触发大约十次,并且只产生一次正确的位置。

我可以尝试其他可靠的方法吗? 我不明白为什么很难在屏幕上获得与父级无关的绝对位置。

【问题讨论】:

    标签: react-native react-native-reanimated-v2


    【解决方案1】:

    我不确定您的代码是如何连接的,也不确定您是否想以 hacky 方式制作此功能,但您可以从布局属性 https://reactnative.dev/docs/view#onlayout 获取元素的绝对位置

    【讨论】:

    • 嘿,@Dawid 非常感谢您的回答。您给出的答案仅计算相对于父母的位置。我将制作一个抽象问题的示例 repo。
    • 发送一个 repo,我们可以解决这个问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-16
    • 1970-01-01
    • 2013-08-28
    • 2021-07-23
    • 1970-01-01
    • 2021-12-18
    • 2019-01-20
    相关资源
    最近更新 更多