优雅的扩大RN组件点击范围

简介: 优雅的扩大RN组件点击范围

工作中,我们在开发的迭代任务中,会优先完成开发的业务需求,保证产品的各项功能模块稳定正常的上线和迭代。

一般情况下,我们通常是根据UI同学的效果图来绘制我们APP的功能UI展示图。

比如下面的这个效果图,这是一个卡片上的按钮,点击按钮会将竖向的整条数据进行删除操作。


微信图片_20220609220033.png


我们正常按照这个效果图,并用代码进行布局UI实现,完成功能开发,没有问题,但是却有一个用户体验的问题。

对于提升用户体验,在RN的官网是有一些建议的。

On mobile phones it's hard to be very precise when pressing buttons. Make sure all interactive elements are 44x44 or larger. One way to do this is to leave enough space for the element, padding, minWidth and minHeight style values can be useful for that. Alternatively, you can use hitSlop prop to increase interactive area without affecting the layout. 

大致意思:在真实手机上准确的点击一个按钮是非常困难的。应该确保组件的大小是44*44或者更大。通常我们通过设置padding,minWidth,minHeight的style的属性值,来扩大按钮的点击范围。但这种方式可能会影响我们的UI设计布局。我们可以使用hitSlop这个属性来扩大点击区域,并且不会影响我们的UI布局。

使用方法:

<TouchableOpacity
            style={{
              position: 'absolute', justifyContent: 'center', alignItems: 'center', top: - 10, right: -5, width: 30, height: 30, zIndex: 99999,
              elevation: 99999
            }}
            onPress={() => onPressDelete(itemData)}
            hitSlop={{left: 30, right: 30, top: 30, bottom: 30}}
          >
            <View style={{
              position: 'absolute', justifyContent: 'center', alignItems: 'center', top: 10, width: 30, height: 30, zIndex: 99999,
              elevation: 99999
            }}>
              <Image source={require('images/compared/delete_gray.png')} />
            </View>
          </TouchableOpacity>

微信图片_20220609220204.png

如上图及代码所示,相当于扩大了30的点击范围。

目录
相关文章
|
4月前
|
搜索推荐 安全 持续交付
2025 轻松部署 ERPNext
2025年,数字化转型加速推进,企业对高效ERP系统需求激增。ERPNext作为开源、模块丰富、高度自定义的ERP系统,备受中小企业青睐。然而,部署复杂度高仍是主要障碍。本文介绍如何通过Websoft9一键部署平台,轻松、快速搭建ERPNext系统,降低技术门槛与部署成本,助力企业实现数字化升级。
323 0
2025 轻松部署 ERPNext
|
5月前
|
存储 运维 监控
zk基础—3.集群与核心参数
本文详细介绍了ZooKeeper(zk)的单机与集群部署方式、机器配置要求、JVM参数设置、核心配置参数、数据快照与事务日志机制、Leader选举相关参数、客户端连接限制、节点存储限制、端口通信、数据文件清理策略、事务日志风险控制、运维命令等内容,帮助读者全面掌握ZooKeeper的部署、调优和日常运维操作。
|
4月前
|
监控 网络安全 数据库
2025 ERPNext 一键部署方案
随着企业数字化转型加速,开源ERP系统ERPNext因其功能全面、灵活易定制等特点备受青睐。然而,其部署涉及Python环境、数据库配置等技术门槛。本文介绍如何通过Websoft9自动化工具一键部署ERPNext,简化流程,降低技术难度,帮助用户快速搭建稳定可用的企业管理系统。
505 0
2025 ERPNext 一键部署方案
|
缓存 JavaScript UED
Vue 中实现组件的懒加载
【10月更文挑战第23天】组件的懒加载是 Vue 应用中提高性能的重要手段之一。通过合理运用动态导入、路由配置等方式,可以实现组件的按需加载,减少资源浪费,提高应用的响应速度和用户体验。在实际应用中,需要根据具体情况选择合适的懒加载方式,并结合性能优化的其他措施,以打造更高效、更优质的 Vue 应用。
|
人工智能 JSON 自然语言处理
国内大模型LLM选择以及主流大模型快速使用教程[GLM4/Qwen/Baichuan/Coze/Kimi]
【7月更文挑战第7天】国内大模型LLM选择以及主流大模型快速使用教程[GLM4/Qwen/Baichuan/Coze/Kimi]
903 10
国内大模型LLM选择以及主流大模型快速使用教程[GLM4/Qwen/Baichuan/Coze/Kimi]
【Azure API 管理】在 Azure API 管理中使用 OAuth 2.0 授权和 Azure AD 保护 Web API 后端,在请求中携带Token访问后报401的错误
【Azure API 管理】在 Azure API 管理中使用 OAuth 2.0 授权和 Azure AD 保护 Web API 后端,在请求中携带Token访问后报401的错误
241 0
|
开发框架 前端开发 JavaScript
跨平台应用开发技术的深度探讨
【7月更文挑战第26天】 跨平台应用开发技术已成为当前软件开发领域的重要趋势。通过合理使用跨平台开发框架和工具,开发者可以更加高效地构建适用于多个平台的应用程序,提高开发效率和用户体验。然而,跨平台开发也面临着性能优化、兼容性问题等挑战,需要开发者不断学习和实践,以应对不断变化的市场需求和技术挑战。
|
人工智能 安全 API
用通义Qwen大模型和Streamlit构建 ChatPDF 应用(附代码)
本文介绍了如何利用通义千问Qwen大模型构建一个本地ChatPDF AI助手,该助手允许用户上传PDF并与之对话,确保文档隐私安全。项目通过阿里云百炼平台获取Qwen-Long模型,支持多种文档格式。现实现步骤包括导入库、加载环境变量、初始化客户端、编码器、页面与对话管理、文件上传、选择模型、获取AI回答及计算费用,主函数整合这些功能,提供交互体验。
1572 0
用通义Qwen大模型和Streamlit构建 ChatPDF 应用(附代码)
|
运维 监控 Linux
Linux系统读写硬盘慢,如何排查?四步教你定位问题!
【8月更文挑战第24天】在Linux系统运维中,硬盘读写速度慢是一个常见且影响重大的问题。它不仅会导致服务器性能下降,还会影响用户体验。本文将详细介绍四个步骤,帮助你快速定位并解决Linux系统硬盘读写慢的问题。
2023 0
小功能⭐️Unity动态更改 Scripting Define Symbols (宏定义)
小功能⭐️Unity动态更改 Scripting Define Symbols (宏定义)