React Native之触摸事件(Touchable系列和onLongPress)

1 触摸事件

普通点击我们可以使用onPress方法,我们可以使用Touchable 系列控件设计我们的按钮

TouchableHighlight 背景会在用户手指按下时变暗

TouchableNativeFeedback用户手指按下时形成类似墨水涟漪的视觉效果

TouchableOpacity指按下时降低按钮的透明度,而不会改变背景的颜色

TouchableWithoutFeedback 不显示任何视觉反馈

检测用户是否进行了长按操作,可以在上面列出的任意组件中使用onLongPress属性来实现

 

 

 

2 测试关键代码如下

要记得导入相应的组件

import React, {Component} from 'react';
import {Platform, ScrollView, StyleSheet, Text, View, TextInput, NativeModules, DeviceEventEmitter, Image, Button, AppRegistry, TouchableHighlight, TouchableOpacity, TouchableNativeFeedback, TouchableWithoutFeedback} from 'react-native';
export default class App extends Component<Props> {render() {return (<View style={styles.container}><View style={styles.buttonContainer}><Button onPress={this.showMsg} title="press me"/></View>  <View style={styles.buttonContainer}><Button onPress={this.showMsg} title="press me" color="#841584"/></View> <View style={styles.buttonContainer}><TouchableHighlight onPress={this.showMsg} underlayColor="white"><View style={styles.button}><Text style={styles.text}>TouchableHighlight</Text></View></TouchableHighlight></View> <View style={styles.buttonContainer}><TouchableOpacity onPress={this.showMsg}><View style={styles.button}><Text style={styles.text}>TouchableOpacity</Text></View></TouchableOpacity></View> <View style={styles.buttonContainer}><TouchableNativeFeedback onPress={this.showMsg}><View style={styles.button}><Text style={styles.text}>TouchableNativeFeedback</Text></View></TouchableNativeFeedback></View> <View style={styles.buttonContainer}><TouchableWithoutFeedback onPress={this.showMsg}><View style={styles.button}><Text style={styles.text}>TouchableWithoutFeedback</Text></View></TouchableWithoutFeedback></View> <View style={styles.buttonContainer}><TouchableWithoutFeedback onLongPress={this.showMsg}><View style={styles.button}><Text style={styles.text}>onLongPress me</Text></View></TouchableWithoutFeedback></View> <View style={styles.layoutButtonContainer}><Button onPress={this.showMsg} title="onLongPress me"/><Button onPress={this.showMsg} title="onLongPress me" color="#841584"/></View> </View>);}//记得这里调用的时候不需要加上()showMsg(){alert("showMsg(){}");  }//记得末尾加上分号,调用的时候也要加上()showMessage = () => {alert("showMessage = () => {}");};
}const styles = StyleSheet.create({container: {flex: 1,justifyContent: 'center'},buttonContainer: {margin:10},layoutButtonContainer: {margin:10,flexDirection: 'row',justifyContent: 'space-between'},button: {alignItems: 'center',backgroundColor: '#842534'},text: {padding: 10,color: 'white'}
});

 

 

 

3 手机效果如下

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/289211.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

社交背水一战?校园日记背后,支付宝野心你真能懂?

“校园日记”昨天火了一天&#xff0c;我们也是时候来聊聊支付宝背后的具体战略和意图了。今天早上看到虎嗅的头条《支付宝的“圈子”&#xff0c;阿里做社交的背水一战》&#xff0c;文章观点主要分析了支付宝做社交的必要性&#xff0c;以及这次切入社交领域的巧妙性。 这篇文…

北大青鸟s2结业考试机试_重庆北大青鸟「学员心声」任何一次的考试,都是一次珍贵的蜕变...

相信不少同学&#xff0c;在每次考完试后都会有一段 “舒适期‘’。虽然这时候有讲评、有成绩、有排名&#xff0c;但就是感觉学习压力少了许多。然而重庆北大青鸟校区鼓励学员考完要分析、总结考试结果&#xff0c;这样才能更好的找出在学习中遇到的问题并加以解决。以下分享的…

React Native之(var和let区别 )(简单解构)(map对象遍历)(可变顺序参数和不可以变顺序参数函数)

1 var和let区别 let左右范围在块里面,var定义的变量可提升,用let声明的变量不可以声明2次 2 简单解构 let [a, b, c] [1, 2, 3];3 map对象遍历 const map new Map();map.set(first, hello);map.set(second, world);for (let [key, value] of map) {console.log(key "…

【鉴权/授权】一步一步实现一个简易JWT鉴权

微信公众号&#xff1a;趣编程ACE关注可了解.NET日常开发技巧。如需源码&#xff0c;请公众号留言 源码;**[如果您觉得本公众号对您有帮助&#xff0c;欢迎下方扫码加入群聊]鉴权、授权专题之简易鉴权我记得作为实习生去公司上班的时候&#xff0c;领导就直接让我熟悉注册、登录…

17、字符设备控制技术

字符设备控制技术 前面的学习&#xff0c;我们学习了驱动程序&#xff0c;实现程序的读写功能。现在设备还有一项更重要的功能--控制。 控制设备的函数&#xff1a;ioctl。 Cmd&#xff1a;参数是我们发送的命令&#xff0c;例如重启。 第三个参数&#xff1a;是依赖第二个…

如何在Lua与C/C++之间实现table数据的交换

为什么80%的码农都做不了架构师&#xff1f;>>> 之前在《C/C和Lua是如何进行通信的&#xff1f;》一文中简单的介绍了lua与宿主之间的通信。简单的说两种不同的语言之间数据类型不一样又如何进行数据交换呢&#xff1f;那就是lua_State虚拟栈&#xff0c;通过栈操作…

华为ar2200路由器 策略路由_路由交换篇 06 华为路由器RIP协议的配置

任务2 RIP路由协议的配置■ 任务背景某大型企业已有12台路由器&#xff0c;需要组建内部网络实现资源共享&#xff0c;考虑公司规模较大不适合采用静态路由组网&#xff0c;工程师对公司的实际情况进行了分析&#xff1a;1、路由跳数较多&#xff0c;不适合使用静态路由组网&am…

c均值算法的设计与实现_如何使用C链表实现 LRU 算法

什么是 LRU 算法LRU 是一种缓存淘汰策略。计算机的缓存容量有限&#xff0c;如果缓存满了就要删除一些内容&#xff0c;给新的内容腾位置。但是要删除哪些内容呢&#xff1f;我们肯定希望删掉那些没有用的缓存&#xff0c;而把有用的数据继续留在缓存中&#xff0c;方便之后继续…

VS Code部署Teams webhook到Azure Functions

点击上方蓝字关注我们&#xff08;本文阅读时间&#xff1a;6分钟&#xff09;Microsoft Teams这款产品对于我们来说已经很熟悉了&#xff0c;作为开发者&#xff0c;我们也可以通过官方的一些开发模式来build我们自己的Teams应用。今天快速跟大家分享一下&#xff0c;如何在VS…

记一次TCP连接异常故障解决

为什么80%的码农都做不了架构师&#xff1f;>>> 一.情况表现为 1.在公司内网对站点的http访问&#xff1a; linux主机出现故障&#xff1a;curl以及抓包分析&#xff0c;发现服务端不响应linux客户端的请求&#xff0c;无法建立TCP连接&#xff0c;浏览器返回“无法…

微软官方pe工具_微软官方下载工具

二、进入官网下载百度搜索“win10下载”进入微软官网win10下载地址&#xff0c;点击“立即下载工具”开始下载&#xff1b;三、运行软件下载完成后&#xff0c;右键以“管理员身份”打开&#xff0c;点击“接受”。四、选择用途选择第一个升级自己的电脑&#xff1b;选择第二个…

Task.Factory.StartNewTResult 和 Task.RunTResult 到底有什么区别?

前言这不是和《Task.Factory.StartNew 和 Task.Run 到底有什么区别&#xff1f;》一样吗&#xff0c;怎么又写一篇&#xff1f;起先我也是这么觉得的&#xff0c;但实际发现并非如此。实现代码查看这 2 个方法的内部实现&#xff0c;其内部实现逻辑其实是一样的&#xff0c;只是…

【遥感物候】C#遥感数据GIMMS 3G NDVI头文件批量生成器(几何校正)

长时间序列全球NDVI数据GIMMS 3g(点击下载),原数据无投影,格式为VI3g,IE浏览器下载的为.txt格式。GIS软件无法直接打开,Envi 5可以打开。 ENVI中点击File->Open File as->Binary会弹出填写元数据的窗口,填写基本信息: Envi5.1中打开二进制(Binary)数据是,需要…

分享一个基于.NET6包含DDD,ES,CQRS等概念的开源项目

当你在学习DDD、CQRS或时间溯源时&#xff0c;除了大量的学习资源&#xff08;比如书籍和文章&#xff09;之外&#xff0c;你还接触到了许多概念&#xff0c;这些资源只是在讨论理论问题。这很好&#xff0c;我们知道他们在说什么&#xff0c;但我们如何在一个真正的项目中使用…

React Native之通过createStackNavigator实现携带参数的页面与页面之间的跳转

1 实现的功能 在网上看React Native文档,我特码就想实现一个页面到另外一个页面的跳转,然后另外一个页面怎么获取参数,特么没找到一个说清楚的,要么太复杂,要么说了不理解,下面是我自己写的一个App.js文件,实现一个Home页面跳到另外Details页面,并且携带了参数怎么在Details页…

google浏览器插件 开发 获取页面指定数据_程序员必备的4款Chrome插件,编程神器...

一直有粉丝留言&#xff0c;想要大侠推荐几款程序员使用的插件&#xff0c;大侠特意去问了隔壁的程序员哥哥&#xff0c;终于被我问出了这4款编程神器&#xff01;这4款插件不仅仅是提高效率那么简单哦&#xff0c;还可以让你的Chrome浏览器变得高端大气&#xff0c;一起来看看…

MATLAB多元非线性回归

解释变量&#xff1a;商品价格&#xff08;x1&#xff09;人均月收入&#xff08;x2&#xff09;&#xff0c;被解释变量&#xff1a;商品需求量&#xff08;y&#xff09;&#xff0c;进行二元回归分析&#xff0c;并进行检验 商品价格(元/件) 月收入(元) 需求(件) 89 …

.NET高级调试 | 通过JIT拦截无侵入调试 C# Emit 生成的动态代码

大家还记得上一篇的测试代码吗&#xff1f;我们用了&#xff1a;Console.WriteLine("Function Pointer: 0x{0:x16}", Marshal.GetFunctionPointerForDelegate(addDelegate).ToInt64());来获得 委托 的 函数指针 地址&#xff0c;通过这个突破口最终实现了 动态代码 的…

使用IAR开发CC2530遇到的两个问题

2019独角兽企业重金招聘Python工程师标准>>> 首先说明&#xff0c;IAR for 8051为7.51版本&#xff0c;操作系统为windows7 32位。 上手CC2530&#xff0c;在IDE的使用上就遇到了2个问题。 一个是用SmartRF Programmer Flash下载HEX文件不成功&#xff0c;提示说cou…

openssh登陆时提示服务器拒绝了密码

升级openssh7.5后&#xff0c;登陆报错按照网上的说法是不允许root用户登陆但是&#xff0c;/etc/ssh/sshd_config 已经写入PermitRootLogin yes解决方法&#xff1a;设置/etc/sysconfig/selinux 中的SELINUXdisabled然后重启就OK了转载于:https://blog.51cto.com/adamcrab/194…