reactnative动态设置值(react native实现监控手势上下拉动效果)
类别:编程学习 浏览量:1676
时间:2022-03-31 12:05:16 reactnative动态设置值
react native实现监控手势上下拉动效果react native实现监控手势进行上下拉动效果,详细核心代码如下:
代码:
import {PanResponder} from 'react-native'; var Dimensions = require('Dimensions'); const deviceHeight = Dimensions.get("window").height; const deviceWidth = Dimensions.get("window").width; class TaskfinishedPage extends Component { constructor(props) { super(props); console.disableYellowBox = true; this.state = { silderMargin: deviceHeight-230, }; this.lastY1 = this.state.silderMargin; } componentWillMount () { this._panResponder = PanResponder.create({ onStartShouldSetPanResponder: (evt, gestureState) => { return true; }, onMoveShouldSetPanResponder: (evt, gestureState) => { return true; }, onPanResponderGrant: (evt, gestureState) => { this._highlight(); }, onPanResponderMove: (evt, gestureState) => { console.log(`gestureState.dx : ${gestureState.dx} gestureState.dy : ${gestureState.dy}`); if(50<this.lastY1 + gestureState.dy&&this.lastY1 + gestureState.dy<deviceHeight-230){ this.setState({ // marginLeft1: this.lastX1 + gestureState.dx, silderMargin: this.lastY1 + gestureState.dy, }); } }, onPanResponderRelease: (evt, gestureState) => { this._unhighlight(); this.lastY1 = this.state.silderMargin; }, onPanResponderTerminate: (evt, gestureState) => { }, }); } //这两个方法手触摸以及离开时触发; _unhighlight(){ this.setState({ sliderBackgroundcolor: 'transparent', }); } _highlight(){ this.setState({ sliderBackgroundcolor: 'transparent', }); } render() { return ( <Container}> <Header> <Left> <Button transparent onPress={() => { NavigationUtil.resetGoBack(this.props.navigation); }}> <Icon name='arrow-back' style={{color:'#000'}}/> </Button> </Left> <Body > <Text style={{color:'#000'}}>Finshed任务详情</Text> </Body> <Right /> </Header> <View style={{ flex: 1 }}> <View style={ [styles.panelView, { backgroundColor: this.state.sliderBackgroundcolor, marginTop: this.state.silderMargin, zIndex:100 } ]} {...this._panResponder.panHandlers} > </View> </View> </Container> ); } const styles = { panelView: { width: deviceWidth-20, height: 410, marginLeft:10, marginRight:10, borderRadius:6, } } export default TaskfinishedPage;
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持开心学习网。
您可能感兴趣
- react子组件的动态参数(浅谈React Component生命周期函数)
- react app框架(浅谈React原生APP更新)
- vue3.0 如何使用useroute(详解vue3中setUp和reactive函数的用法)
- react绑定详解(React列表栏及购物车组件使用详解)
- react native常用组件(react native环境安装流程)
- react循环有几种方法(React forwardRef的使用方法及注意点)
- react自适应布局如何实现(React实现分页效果)
- react和antd项目教程(React引入antd-mobile+postcss搭建移动端)
- react组件参数(浅析React中的受控组件和非受控组件)
- html5创作(HTML5录音实践总结Preact)
- react表单组件怎么写(react antd实现动态增减表单)
- react初学难点(使用react的7个避坑案例小结)
- react 组件如何发布(React如何创建组件)
- react动态添加组件属性(react使用antd的上传组件实现文件表单一起提交功能完整代码)
- react的基本知识(React中refs的一些常见用法汇总)
- reactnative ios(详解React Native与IOS端之间的交互)
- 经度,世界时间腕表的灵魂(世界时间腕表的灵魂)
- 阿里最新财报公布 三季度营收增长3 ,将增加150亿美元回购额度 在美股价小涨(阿里最新财报公布)
- 赵薇时胖时瘦 最近变美少女 原因在这里 躺着就变瘦(赵薇时胖时瘦最近变美)
- 学会这26种姿势,你就可以和兵哥哥切磋了(你就可以和兵哥哥切磋了)
- 吴彦祖陈冠希 恩怨 ,失去曾让他流泪的女友,终遇走过18年真爱(吴彦祖陈冠希恩怨)
- 痴情男神 吴彦祖 与妻子恋爱8年,结婚10年,家庭幸福美满(痴情男神吴彦祖)
热门推荐
- python程序开发过程(python调用外部程序的实操步骤)
- js项目经验(JS实现扫雷项目总结)
- mysql突然报错206无法连接(详解MySQL连接挂死的原因)
- html5音频处理(recorder.js 基于Html5录音功能的实现)
- 宝塔面板里面的文件编辑怎么点开(宝塔面板可以上传多大文件?怎么设置文件大小?)
- lnmp SSL证书使用教程(lnmp1.5使用Let'sEncrypt创建SSL证书自动续期问题)
- 云服务器git(详解在阿里云上搭建自己的git服务器)
- nginx动静分离的原理(Nginx动静分离实现案例代码解析)
- 简述css3动画与过渡效果(CSS3制作翻转效果_动力节点Java学院整理)
- nodejs子进程调试(Node.js实现断点续传)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9