zoukankan      html  css  js  c++  java
  • 记react-native-gesture-handler的组件使用

    前面一直使用Swipable组件,现在由于想给android加入水波纹效果,不想单独封装一个组件(现在可以直接使用0.63.x的Pressable组件),加上可能更好的效果,
    但是发现了很多问题

    版本: 最新的1.7.0

    • 1.BaseButton、RectButton、BorderlessButton会导致style中设置border无效

    • 2.BaseButton在android上面有水波纹效果,但是ios上就没有按压效果了,可以使用RectButton加上activeOpacity和underlayColor

     //@ts-ignore
        BaseButton.defaultProps = {
          //@ts-ignore
          ...(BaseButton.defaultProps || {}),
          rippleColor: "#e0e0e0"
        };
        //@ts-ignore
        RectButton.defaultProps = {
          //@ts-ignore
          ...(RectButton.defaultProps || {}),
          underlayColor: '#e0e0e0',
          activeOpacity: 0.8,
        };
    
    
    • 3.在上面三个组件中无法使用系统的Touchable**组件,完全没反应,必须要替换为react-native-gesture-handler的对应的Touchable**组件

    • 4.在absolute布局中使用react-native-gesture-handler的对应的Touchable**组件,里面的内容不会显示

    • 5.在RectButton中使用react-native-gesture-handler的对应的Touchable**组件, 并且将Touchable**组件设置为disabled,正常的逻辑是该部分可以响应到RectButton上面,但是目前该部分完全无法点击

    结论

    react-native-gesture-handler的对应的Touchable**组件兼容性太差,得不偿失

    为了给android加上水波纹效果,还是单独自己封装一个组件,ios/android分别使用不同的Touchable组件,也就是Pressable组件的实现过程

  • 相关阅读:
    javaSE第十五天
    javaSE第十四天
    javaSE第十三天
    javaSE第十二天
    javaSE第十一天
    javaSE第十天
    javaSE第九天
    python011 Python3 字典
    python010 Python3 元组
    python009 Python3 列表
  • 原文地址:https://www.cnblogs.com/yz1311/p/13540983.html
Copyright © 2011-2022 走看看