React Native 五:手势

一、Touchable手势
1.React Native提供了4个组件来做这个事情,具体如下:
     TouchableHighlight:高亮触摸,用户点击时,会产生高亮效果;
     TouchableNativeFeedback:
     TouchableOpacity:透明触摸,用户点击时,点击的组件不会出现任何视觉变化;
     TouchableWithoutFeedback:无反馈触摸,用户点击时,点击的组件不会有任何视觉变化;
2.这4个组件,我们可以应用某个部分绑定上Touch事件,并支持一下方法:
     onPress:
     onPressIn:
     onPressOut:
     onLongPress:
3.下面我们以实例演示下,相关代码实现:
Index.android.js文件:
import React, {
  … … 
  TouchableHighlight,
} from 'react-native';

class AwesomeProject extends Component {
  show(text) {
    alert(text);
  }
  //手势相关事件的实现
  onPressIn(){
    this.start = Date.now()
    console.log("press in")
  }
  onPressOut(){
    console.log("press out")
  }
  onPress(text){
    console.log("press")
    alert(text);
  }
  onLonePress(){  AppRegistry,
    console.log("long press "+(Date.now()-this.start))
  }
  render() {
    return(
      <View style={styles.container}>
        //TouchableHighlight包裹绑定Touch手势的组件,并实现支持的4个事件
        <TouchableHighlight style={styles.touchable} onPressIn={this.onPressIn} onPressOut={this.onPressOut}
          onPress={this.onPress.bind(this,'点击了吗?')} onLongPress={this.onLonePress}>
          <View style={styles.button}></View>
        </TouchableHighlight>
      </View>
    )
  };
}
var styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: 'center',
    alignItems: 'center',
    backgroundColor: '#F5FCFF',
  },
  button:{
    width: 200,
    height: 200,
    borderRadius: 100,
    backgroundColor: 'red'
  },
  touchable: {
    borderRadius: 100
  },
});
AppRegistry.registerComponent('AwesomeProject', () => AwesomeProject);
4.点击,我们看见具体的运行效果如下:

5.我们使用Debug模式,研究下4个手势出现的条件和顺序;
摇晃手机,选择Debug JS;
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
React Native是一种用于构建跨平台移动应用的框架,它可以使用JavaScript和React技术来开发原生移动应用。下面是React Native的一些常见用法: 1. 创建一个新的React Native项目: 使用React Native CLI命令行工具创建一个新的React Native项目,例如: ``` npx react-native init MyApp ``` 2. 编写组件: 在项目中编写React Native组件,可以使用class组件或函数式组件来定义自定义组件。组件可以包含UI元素、样式和交互逻辑等。 3. 导入和使用内置组件: React Native提供了许多内置的UI组件和API,可以通过导入和使用它们来构建应用。例如,可以使用View、Text、Image、Button等组件来创建用户界面。 4. 样式和布局: 使用StyleSheet.create()方法创建样式对象,并将其应用于组件的style属性中。可以使用Flexbox布局模型来进行灵活的布局。 5. 处理用户输入和交互: 可以使用内置的触摸事件(如onPress、onLongPress等)来处理用户的输入和交互。还可以使用手势识别器(如PanResponder)来实现更复杂的手势操作。 6. 导航和路由: React Navigation是一个常用的第三方库,用于实现导航和路由功能。可以使用它来创建导航栏、选项卡、侧边菜单等导航组件。 7. 调用原生模块和API: 如果需要访问设备的原生功能和API,可以使用React Native提供的桥接机制来调用原生模块和API。这允许开发者编写原生代码并与React Native应用进行交互。 8. 调试和测试: React Native提供了一些调试和测试工具,如React Native Debugger、Reactotron等,可以帮助开发者调试和测试应用。 以上是React Native的一些常见用法,但还有很多其他的功能和工具可供使用。建议查阅React Native官方文档和相关教程来深入了解和学习React Native的使用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值