当前位置: 首页 > news >正文

React Native 可触摸组件基础知识

在 React Native 中要实现可触摸的组件方式有三种,第一种方式就是使用TouchableHighlight组件,第二种方式就是使用TouchableOpacity组件,最后一种方式就是使用TouchableWithoutFeedback组件。

TouchableHighlight

TouchableHighlight组件主要是响应触摸的组件。当用户按下此组件时,此组件的亮度会变成高亮显示(由透明改为不透明),从而让用户感知到进行了交互。TouchableHighlight假如不设置underlayColor属性的话,underlayColor 的默认值为黑色。假如此组件的子元素也有样式的话,可能会发生颜色重叠导致一些问题。

TouchableHighlight组件必须有一个子级(不能为零个或多个)。如果您希望有多个子组件,请将它们包装在视图中。具体实例如下:

import { StyleSheet, Text, TouchableHighlight, View } from "react-native";
import React, { useState } from "react";export default function TouchComponent() {const [count, setCount] = useState<number>(0);return (<View style={styles.container}><Text style={styles.mainTitle}>触摸组件实例</Text><TouchableHighlightactiveOpacity={0.4}underlayColor="#DDDDDD"onPress={() => setCount(count + 1)}><View style={styles.button}><Text>点击加1</Text></View></TouchableHighlight><Text>{count}</Text></View>);
}const styles = StyleSheet.create({container: {margin: 8,},mainTitle: {fontSize: 22,fontWeight: "bold",padding: 10,borderBottomWidth: 1,borderColor: "#e3e3e3",},button: {alignItems: "center",backgroundColor: "#DDDDDD",padding: 10,},
});

TouchableOpacity

TouchableOpacity组件跟TouchableHighlight的作用一致,此组件的透明度会发生改变(由不透明改为透明),从而能让用户感知到进行了交互。假如此组件的子元素也有样式的话,可能会发生颜色重叠导致一些问题。

通过将子组件包装在 Animated.View 中(添加到视图层次结构中)来控制不透明度。请注意,这可能会影响布局。具体的实例如下:

import {StyleSheet,Text,TouchableHighlight,TouchableOpacity,View,
} from "react-native";
import React, { useState } from "react";export default function TouchComponent() {const [count, setCount] = useState<number>(0);return (<View style={styles.container}><Text style={styles.mainTitle}>触摸组件实例</Text><TouchableOpacity onPress={() => setCount(count + 1)}><Text style={styles.button}>点击加1</Text></TouchableOpacity><Text>{count}</Text></View>);
}const styles = StyleSheet.create({container: {margin: 8,},mainTitle: {fontSize: 22,fontWeight: "bold",padding: 10,borderBottomWidth: 1,borderColor: "#e3e3e3",},button: {alignItems: "center",backgroundColor: "#DDDDDD",padding: 10,},
});

TouchableWithoutFeedback

TouchableWithoutFeedback此组件是不会发生任何视觉反馈信息的。TouchableWithoutFeedback 仅支持一个孩子。如果您希望有多个子组件,请将它们包装在视图中。重要的是,TouchableWithoutFeedback 的工作原理是克隆其子级并向其应用响应者道具。因此,任何中间组件都需要通过这些 props 传递给底层的 React Native 组件。

import {StyleSheet,Text,TouchableHighlight,TouchableOpacity,TouchableWithoutFeedback,View,
} from "react-native";
import React, { useState } from "react";export default function TouchComponent() {const [count, setCount] = useState<number>(0);return (<View style={styles.container}><Text style={styles.mainTitle}>触摸组件实例</Text><TouchableWithoutFeedback onPress={() => setCount(count + 1)}><View style={styles.button}><Text>点击加1</Text></View></TouchableWithoutFeedback><Text>{count}</Text></View>);
}const styles = StyleSheet.create({container: {margin: 8,},mainTitle: {fontSize: 22,fontWeight: "bold",padding: 10,borderBottomWidth: 1,borderColor: "#e3e3e3",},button: {alignItems: "center",backgroundColor: "#DDDDDD",padding: 10,},
});

相关文章:

React Native 可触摸组件基础知识

在 React Native 中要实现可触摸的组件方式有三种&#xff0c;第一种方式就是使用TouchableHighlight组件&#xff0c;第二种方式就是使用TouchableOpacity组件&#xff0c;最后一种方式就是使用TouchableWithoutFeedback组件。 TouchableHighlight TouchableHighlight组件主…...

用户、权限和Vim编辑器

用户 用户分类 超级管理员&#xff1a;可以登录&#xff0c;拥有所有权限&#xff0c;用户Id为0 普通用户&#xff1a;可以登录&#xff0c;但只能操作家目录&#xff0c;用户Id为1000 程序用户&#xff1a;不能登录&#xff0c;用于管理程序&#xff0c;用户Id为1~999 添…...

git版本管理加合并笔记

目录 1.创建空文件夹&#xff0c;右键Bash here打开 2.打开链接&#xff0c;点击克隆下载&#xff0c;复制SSH链接 3.输入git SSH链接 回车 4.换成https在桌面上进行克隆仓库就正常了 5.去vscode里改东西 6.提交 7.创建dev分支 8.在dev里修改内容&#xff0c;提交&…...

Failed to load property source from location ‘classpath:/application.yml‘

项目场景&#xff1a; 今天到公司启动项目&#xff0c;突然发现项目起不起来了 问题描述 出现 Failed to load property source from location ‘classpath:/application.yml’ 错误 原因分析&#xff1a; 刚开始以为是 application.yml 中格式错误&#xff0c;但是发现同…...

Ajax复习

Ajax复习 一、简介 ​ AJAX 全称为 Asynchronous JavaScript And XML&#xff0c;就是异步的 JS 和 XML。 ​ 一句话总结&#xff1a;无刷新通信。 二、 特点 优点 无刷新通信 允许你根据用户事件来更新部分页面内容 缺点 没有浏览历史&#xff0c;不能回退 存在跨域问题…...

里式替换原则(LSP)

目录 简介: 作用: 过程: 总结: 简介: 里式替换原则&#xff08;Liskov Substitution Principle&#xff0c;简称LSP&#xff09;的提出者是美国计算机科学家Barbara Liskov。Barbara Liskov是一位计算机科学家&#xff0c;麻省理工学院教授&#xff0c;也是美国第一个计算机…...

mysql------做主从复制,读写分离

1.为什么要做主从复制&#xff08;主从复制的作用&#xff09; 做数据的热备&#xff0c;作为后备数据库&#xff0c;主数据库服务器故障后&#xff0c;可切换到从数据库继续工作&#xff0c;避免数据丢失。 架构的扩展。业务量越来越大,I/O访问频率过高&#xff0c;单机无法满…...

Anaconda虚拟环境跨系统迁移

旧设备运行代码 conda activate name conda env export > environment.yml注意&#xff1a;如果当前路径已经有了 environment.yml 文件&#xff0c;conda 会重写这个文件 新设备运行代码 # 将environment.yml 拷贝到新设备中conda env create -f environment.yml...

第四章 IRIS 编程简介 - Macros

文章目录 第四章 IRIS 编程简介 - MacrosMacrosInclude Files这些代码元素如何协同工作 第四章 IRIS 编程简介 - Macros Macros ObjectScript 还支持定义替换的宏。定义可以是一个值、整行代码或&#xff08;使用 ##continue 指令&#xff09;多行。使用宏来确保一致性。例如…...

大厂考核重点:mysql索引面试题

很多同学面对Mysql索引相关的面试题都是死记硬背的&#xff0c;这肯定是不行的&#xff0c;也不容易记住&#xff0c;所以大家还是要循循渐进&#xff0c;从理解开始&#xff0c;慢慢掌握&#xff0c;当然对于想要准备面试题的同学&#xff0c;这几个问题是需要记住并理解的&am…...

MySQL使用binlog日志做数据恢复

MySQL的binlog日志是MySQL日志中非常重要的一种日志&#xff0c;记录了数据库所有的DML操作。通过binlog日志我们可以进行数据库的读写分离、数据增量备份以及服务器宕机时的数据恢复。 定期备份固然可以在服务器发生宕机的时候快速的恢复数据&#xff0c;但传统的全量备份不可…...

USB Type-C端口集成式ESD静电保护方案 安全低成本

Type-C端口是根据USB3.x和USB4协议传输数据的&#xff0c;很容易受到电气过载&#xff08;EOS&#xff09;和静电放电&#xff08;ESD&#xff09;事件的影响。由于Type-C支持随意热插拔功能&#xff0c;其内部高集成度的芯片&#xff0c;更容易受到人体静电放电的伤害和损坏。…...

Shiro学习总结

第一章 入门概述 1.概念 shiro是一个Java安全框架&#xff0c;可以完成&#xff1a;认证、授权、加密、会话管理、与web集成、缓存… 2.优势 ● 易于使用&#xff0c;构建简单 ● 功能全面 ● 灵活&#xff0c;可以在任何应用程序环境中工作&#xff0c;并且不需要依赖它们…...

AS中回退git历史版本并删除历史提交记录

当您想把某个版本后的代码删除&#xff0c;回滚到指定的版本。可以使用一下的方法。 一、打开AS中git历史提交窗口 二、选择需要回滚的版本选项&#xff0c;右键弹出菜单。选择Reset Current Branch to Here... 三、选择 Hard 选项 soft&#xff1a;将合并的更改应用到当前分支…...

线性代数的学习和整理5: 矩阵的加减乘除及其几何意义

目录 1 矩阵加法 1.1 矩阵加法的定义 1.2 加法的属性 1.2.1 只有同类型&#xff0c;相同n*m的矩阵才可以相加 1.2.1 矩阵加法的可交换律&#xff1a; 1.2.2 矩阵加法的可结合律&#xff1a; 1.3矩阵加法的几何意义 2 矩阵的减法 2.1 矩阵减法定义和原理基本同 矩阵的…...

sqlsugar 使用TNS连接oracle

在使用SqlSugar连接Oracle数据库时&#xff0c;可以通过TNS来实现连接。以下是一个示例代码&#xff0c;展示了如何使用TNS连接Oracle数据库&#xff1a; 首先&#xff0c;确保您已经安装了Oracle客户端&#xff0c;并正确配置了TNS的相关信息。 // 引入SqlSugar命名空间 usi…...

用python解压zip文件

因为某个需求&#xff0c;需要用python处理解压文件&#xff0c;这里记录下完成的代码&#xff0c;需要注意的是删除解压出来的文件夹时&#xff0c;很多博客都说直接用removedirs就行&#xff0c;实际我在py3.7上测试会提示“文件夹非空”&#xff0c;而且想想如果直接移除了根…...

代码随想录22| 216.组合总和III, 17.电话号码的字母组合

216.组合总和III 题目链接/文章讲解&#xff1a;链接地址 视频讲解&#xff1a;链接地址 代码思路&#xff1a;回溯三部曲&#xff1a; 1.确定函数参数&#xff1a;n,k,sum,startIndex; 2.结束条件&#xff0c;path k,并且如果sumn 结束递归 3.递归回溯逻辑。 class Solution…...

ITIL4—战略与指导

战略与指导 成功的服务提供&#xff0c;需要朝着商定的目标采取协调一致的行动。本节将探讨服务供应商战略的创建和管理&#xff0c;其目的是首先对战略的本质、范围&#xff0c;以及战略与指导的关系建立基本的理解&#xff0c;然后为与该战略一致的指导活动提供指导。 本节…...

【Spring】Spring循环依赖(超重要!!)

目录 什么是循环依赖问题 循环依赖具体是怎么解决的 具体的解决步骤&#xff1a; 通俗实例&#xff1a; 严谨的循环依赖解决图例 为什么使用的是三级缓存&#xff0c;二级缓存不够用吗&#xff1f; 什么是循环依赖问题 Spring的循环依赖是指在Bean之间存在相互依赖关…...

数据分析之路应该是就此开启了

咱就是说工作以后&#xff0c;就是重新学习的开始啊。 祝自己顺顺利利。 前路漫漫亦灿灿。 数据分析之路&#xff0c;开启吧。 以下是借鉴网上的学习路线。 这个学习路线图主要分为以下几个部分&#xff1a; 基础知识 &#xff1a;包括数学、统计学和编程语言。这是数据分析的…...

win10如何配置jdk环境变量

1.首先要打开系统环境变量配置的页面。具体操作是&#xff1a;打开开始菜单&#xff0c;找到“此电脑”&#xff0c;然后右键“更多”→“属性”。 2.在弹出的页面&#xff0c;选择“高级系统设置” 3.在弹出的页面&#xff0c;选择“环境变量&#xff08;N&#xff09;…”。 …...

pm4py使用指南(非机翻)

目录 1. 日志数据读取及预处理&#xff08;1&#xff09;查看case和event数量&#xff08;2&#xff09;查看起始事件和结束事件&#xff08;3&#xff09;时间戳格式的问题 2. 日志数据过滤3. 流程发现4. 模型转化5. 模型可视化 1. 日志数据读取及预处理 通过 pandas库 读取c…...

ChatGPT帮助提升工作效率和质量:完成时间下降40%,质量评分上升 18%

自ChatGPT去年11月发布以来&#xff0c;人们就开始使用它来协助工作&#xff0c;热心的用户利用它帮助撰写各种内容&#xff0c;从宣传材料到沟通话术再到调研报告。 两名MIT经济学研究生近日在《科学》杂志上发表的一项新研究表明&#xff0c;ChatGPT可能有助于减少员工之…...

第二章 搜索

本篇博文是笔者归纳汇总的AcWing基础课题集&#xff0c;方便读者后期复盘巩固~ PS&#xff1a;本篇文章只给出完整的算法实现&#xff0c;并没有讲解具体的算法思路。如果想看算法思路&#xff0c;可以阅读笔者往期写过的文章&#xff08;或许会有&#xff09;&#xff0c;也可…...

transform_train.json文件解析

transform_train.json 文件内容解析transform_matrix 文件内容解析 {"camera_angle_x": 0.6911112070083618,"frames": [{"file_path": "./train/r_0","rotation": 0.012566370614359171,"transform_matrix": [[…...

Wlan——锐捷零漫游网络解决方案以及相关配置

目录 零漫游介绍 一代零漫游 二代单频率零漫游 二代双频率零漫游 锐捷零漫游方案总结 锐捷零漫游方案的配置 配置无线信号的信道 开启关闭5G零漫游 查看配置 零漫游介绍 普通的漫游和零漫游的区别 普通漫游 漫游是由一个AP到另一个AP或者一个射频卡到另一个射频卡的漫…...

分布式锁系列之zookeeper分布式锁和mysql分布式锁

目录 介绍 下载安装 基本指令​编辑 java集成zookeeper 官方提供版 永久节点 临时节点​编辑 永久序列化节点 判断当前节点是否存在 获取当前节点中的数据内容 获取当前节点的子节点 更新节点内容 删除节点 zookeeper实现分布式锁 Mysql实现分布式锁 总结 介绍 ZooK…...

Ubuntu部署PHP7.4

系统版本&#xff1a;Ubuntu22.04 PHP版本: 7.4 Mysql版本&#xff1a;8.0 Nginx版本: 最新 1. 更新系统 首先&#xff0c;确保系统包是最新的&#xff1a; sudo apt update && sudo apt upgrade -y2. 安装 Nginx Nginx 在默认的 Ubuntu 仓库中&#xff0c;因此安装…...

WPF中的数据转换-StringFormat

WPF中的数据转换-StringFormat 前言 字符串格式化。使用该功能可以通过设置Binding.StringFormat属性对文本形式的数据进行转换——例如包含日期和数字的字符串。对于至少一半的格式化任务&#xff0c;字符串格式化是一种便捷的技术。 使用 当设置Binding.StringFormat属性…...

新企业在哪里做网站好/近期的新闻消息

clean-webpack-plugin 详见上一篇文章&#xff0c;点击查看 copy-webpack-plugin 能够将文件从A路径拷贝到B路径 使用方法&#xff1a; npm i copy-webpack-plugin -D//webpack.config.js let CopyWebpackPlugin require(copy-webpack-plugin);plugins:[new CopyWebpackPlugi…...

网站备案主体授权书/东莞seo计费管理

被称为开眼看世界的林则徐&#xff0c;在自己的书房中写了这样一副对联&#xff0c;以做自勉&#xff1a;海纳百川&#xff0c;有容乃大&#xff0c;壁立千仞&#xff0c;无欲则刚。包容的胸怀是我们做成很多事情的根基&#xff0c;也是一项产业战略、科技事业发展的关键。近几…...

wordpress 数据库备份/如何设置淘宝友情链接

2019独角兽企业重金招聘Python工程师标准>>> 我一般使用struts2的时候都是匹配所有类型的&#xff0c;这时候就会出现一个问题&#xff0c;当去访问一个servlet的时候就系统会把它当作一个action 来访问&#xff0c;就会出现找不到action的问题。所以这个时候就需要…...

漳州那里有做网站/百度首页优化

本篇文章主要讲解通过百度的推送接口&#xff0c;向百度批量提交网站url并让百度加快收录网站页面的方法 作者&#xff1a;任聪聪 日期&#xff1a;2023年4月7日 前置条件 1.需要去百度站长平台&#xff0c;绑定自己的域名。前往用户中心&#xff0c;添加网站。 注&#xff1…...

甘肃 网站建设/长沙网动网络科技有限公司

首先要明白图论的几个定义&#xff1a; 点覆盖、最小点覆盖&#xff1a; 点覆盖集即一个点集&#xff0c;使得所有边至少有一个端点在集合里。或者说是“点” 覆盖了所有“边”。。 最小点覆盖(minimum vertex covering)&#xff1a; 点最少的点覆盖。 点覆盖数(vertex coverin…...

南宁公司网站建设/最厉害的搜索引擎

首先来看这个效果&#xff1a;<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />下面一步步实现这个效果 l 打开Blend 4&#xff0c;新建一个 Silverlight 4.0 项目 “SwitchImage”l 新建一个数据源&#xff0c;添加一个Image字…...