用 measure
可以获取元素的位置, 长宽, 但是元素半径之类的数据怎么获取啊??
我要实现个Pinterest那样的点击一个图片通过"放大"的动画来打开详情页动画(Pinterest也是用RN实现的), 那我就要获取被点击的图片的坐标尺寸还有 borderRadius
啊, 难道我必须事先保存吗?
在网页是很容易实现(getComputedStyle
), 但是RN找了半天都没找到啊(没人需要这些属性值? 或者因为这些style属性是都是自己设置的, 所以自己保存好数据? 但是太不灵活了吧)
[BTW, 也在StackOverflow提了这个问题
reactjs - How to get React Native element's style values? - Stack Overflow ]
感觉这个思路不太对,做 UI 的话应该
- 用外部决定内部,简单来说一个东西放上去就要知道有多大,而不是放完了看有多大。
- 不能用 UI 来决定逻辑,简单来说就是不能通过 UI 什么样或有什么来决定功能是什么逻辑。
这些准则适用于很多地方,不仅仅是 RN,包括网页上也是。
我的目的是点击一个图片, 然后动画放大加载跳到另外一个页面(例如现在的 App Store 就这样啦)
我想专门写一个这样的函数, 不是针对某一个图片, 所以只要你传给我动画的原始图片和目的地(坐标,和缩放后的尺寸), 就自动计算该怎么动画了
你不用每次调用的时候都要调用方去计算原始图片的坐标和圆角给这个函数吧??
应该这个函数自己去计算, 会更玲巧 Isn’t it?
我已经实现过这个目的, 但是是在小程序 (你有兴趣的话可以看一下, 搜 “民夫果园” ), 因为被点击的图片有时是在首页(大图), 有时是在 “推荐”(小图), 所以我要调用时简单些啊