【1】、不同大小的手机屏幕,对应的App每页最佳文本框个数,是不同的。

【1.1】如果是iPhone4的屏幕尺寸,分辨率为640x960px的时候, 文本框个数最大值为:2个文本框

【计算公式】

第 一步、(960px屏幕总高度)-(40px的电量条高度)-(88px的顶部条高度)-(88px的下一步按钮的高度)-(键盘高度 520px)=224px的文本框高度; 第二步、(224px的总文本框高度)/(88px单个文本框高度)=2.5个文本框≈2个文本框

【基本尺寸】

40px是电量条的高度;

44px的高度是普通屏幕可点击高度的最小值;

iPhone4是高清屏,所以可点击高度的最小值为88px;

即,可以点击的单个文本框的高度最小值为88px。

键盘高度为520px;分析键盘高度,是为了防止键盘弹起的时候,遮挡了文本框。

【1.2】如果是如果是iPhone5的屏幕尺寸,分辨率为640x1136px的时候,

文本框个数最大值为:4个文本框

【计算公式】

第一步、(1136px屏幕总高度)-(40px的电量条高度)-(88px的顶部条高度)-(88px的下一步按钮的高度)-(键盘高度520px)=400px的文本框高度;

第二步、(400px的总文本框高度)/(88px单个文本框高度)=4.5个文本框≈4个文本框

【1.3】如果是如果是iPhone6的屏幕尺寸,分辨率为750x1334px的时候, 文本框个数最大值为:6个文本框

【计算公式】

第一步、(1334px屏幕总高度)-(40px的电量条高度)-(88px的顶部条高度)-(88px的下一步按钮的高度)-(键盘高度520px)=598px的文本框高度;

第二步、(598px的总文本框高度)/(88px单个文本框高度)=6.8个文本框≈6个文本框

【综上所述】考虑到支持小屏幕iPhone4的手机,文本框个数的最佳范值是小于2个;

类似尺寸的Android屏幕,参考上述计算公式,即可算出对应文本框个数最大值。

【2】、从避免键盘遮挡文本框的角度来看,滑动键盘和打字键盘是不同的。

如上图所示

左边是【打字键盘】,没有可以点击【完成】输入的按钮,如果是3个文本框:那么需要上下滑动,才可以点击下一步按钮。为了不需要上下滑动,一个App的页面,文本框个数的最大值是2个。

右 边是【滑动键盘】,点击有效期文本框示,弹出的滑动键盘上有可以点击的【完成】的按钮,如果最后一个文本框是类似【有效期】的可以弹出滑动键盘,有【完 成】的按钮,那么最后一个文本框,在点击【完成】按钮之后,就可以出现【下一步】的按钮了。也就是键盘,就不会遮挡文本框了。在最后一个文本框是类似【有 效期】文本框,可以弹出滑动键盘的时候,一个App的页面,文本框个数的最大值可以是3个。

【3】、最后一个文本框,是否是短信验证码的输入框。

如上图所示

左图只有1个文本框,右图有4个文本框。【左图】VS【右图】,右图的缺点有3个:

一是,【右图】因为文本框超过2个,所以键盘弹起时会遮挡文本框,需要不断上下滑动,才可以完成输入;

二是,【右图】的提示文字和文本框,呈现出文字在上,文本框在下的两行排列方式,实在是浪费了屏幕的高度。如果文字在左,文本框在右的一行排列方式,那就可以节省使用屏幕的高度了;

三 是,【右图】的手机号文本框和短信验证码放在同一页,用户需要在填完手机号之后,点击一次【获取验证码】才可以发送验证码短信,而左图在只有一个短信验证 码的文本框的情况下,用户跳转到这个页面的时候,短信验证码就在跳转的一瞬间,就发送到手机上了,为用户节省了点击一次【获取验证码】的时间。

【综上所述】如果文本框是短信验证码的输入框,那么文本框个数的最佳值是1个。

来源于近乎;近乎源码下载地址:http://www.jinhusns.com/Products/Download/?type=xcj

App单个页面的最佳文本框个数是多少个?的更多相关文章

  1. JavaScript实现在页面上的文本框中输入小写字母自动变为大写字母

    <script language="javascript" type="text/javascript"> $(function () { $(&q ...

  2. 页面中word文本框的编辑,两种方式

    大致效果图(对其中的功能可以增减): 实现方法1:调用js <link href="../../platform/js/kindeditor/themes/default/defaul ...

  3. html和jsp页面中把文本框禁用,只能读不能写的方法

    方法常用有三种: 第一种,使用   onfocus="this.blur()" <input name="deptno" type="text& ...

  4. Lodop输出页面input文本框的最新值

    默认使用Lodop打印页面上的文本框等,会发现虽然页面上文本框输入了值,打印预览却是空的,这是由于没有把最新的值传入Lodop. 如图,演示的是Lodop如何输出文本框内的新值,这里整个页面只有inp ...

  5. 文本框defalutValue的使用

    以下页面中的文本框的值无论怎么改变,点击“原始值”按钮始终会得到初始页面的时候的值,即“ffffffffffffff” <!DOCTYPE html> <html> <h ...

  6. 如何去掉IE文本框后的那个X css代码

    在IE10以上版本中,页面上的文本框控件在输入文字时候会被自动加上一个X.但是IE这个自作聪明的功能有时候会让我们的页面爆掉,比如当文本框宽度过小,X显示不下时候会顶掉你的文本. 要隐藏这个X可以用I ...

  7. cognos report利用文本框提示优化日期维度

    为了尽量减少手工对日期维度的维护,在日期维度表中年份已经到了2099年,把年份作为下拉框或者月份作为下拉框的时候,选择起来颇为麻烦(当然也可以在此基础之上设置默认为当前月) 如图:提示页面以及html ...

  8. 微信自带浏览器被输入法阻挡文本框的 jQuery 解决方法 by FungLeo

    微信自带浏览器被输入法阻挡文本框的 jQuery 解决方法 by FungLeo 前言 做好了项目之后,在各种浏览器里面測试,都没有问题.非常高兴,交付后端使用.然而发如今微信自带浏览器里面,却是出现 ...

  9. js中对arry数组的各种操作小结 瀑布流AJAX无刷新加载数据列表--当页面滚动到Id时再继续加载数据 web前端url传递值 js加密解密 HTML中让表单input等文本框为只读不可编辑的方法 js监听用户的键盘敲击事件,兼容各大主流浏览器 HTML特殊字符

    js中对arry数组的各种操作小结   最近工作比较轻松,于是就花时间从头到尾的对js进行了详细的学习和复习,在看书的过程中,发现自己平时在做项目的过程中有很多地方想得不过全面,写的不够合理,所以说啊 ...

随机推荐

  1. HTTP学习笔记(五)

    目前,市场上流行有很多web服务器软件,每种服务器都有自己的特点.我们在开发的过程中,经常要和它们打交道,所以了解它们的工作原理也是很重要的. 几款比较流行的服务器 它们会做些什么? 第三篇中有这样的 ...

  2. 测试博文中添加可执行JS代码

    昨天申请开通了博客园的JS权限,今天来看看效果. 测试执行JS 测试执行JS // 运行

  3. 使用FiddlerCore来测试WebAPI

    大家在调试Web相关的API时,经常会用Fiddler来查看相关的请求,以及返回结果.当然你也可以尝试修改或者重复你的请求信息.本文主要介绍如何使用代码来实现fiddler的功能. Fiddler C ...

  4. SWF READER 破解日志。

    网上传闻swf reader是破解最厉害的神器,可以内存抓取+doSWF反编译.所以去官网下了一个: SWF_Reader_2.3 不出所料,demo版本没有反编译的功能.网上搜到一个哥们尝试了下: ...

  5. IOS 推送-客户端处理推送消息

    IOS 推送-客户端处理推送消息 1.推送调用顺序 APN push的消息到达后,UIApplicationDelegate有两个方法和处理消息有关: 1)application:didReceive ...

  6. 从体系架构上分析PRINCE2和pmp的区别

    一, 目标不同 PMP希望造就一个高效的项目经理,PRINCE2希望做成一个高效的项目. 二, 定位不同 PMP 是框架,PMBOK是指南,是统一化语音,是统一指导项目经理what to do. 而P ...

  7. 基础才是重中之重~AutoMapper为已有目标对象映射

    回到目录 AutoMapper各位一定不会陌生,大叔之前的文章中也提到过,曾经也写过扩展方法,以方便程序开发人员去使用它,而在最近,大叔在一个API项目里,在一个POST请求由DTO对象为实体对象赋值 ...

  8. Atitit 信用卡与会员卡(包括银行卡)的发展之路

    Atitit 信用卡与会员卡(包括银行卡)的发展之路 实现跨机构卡片内金额的流动解决方案 1.1. 财务卡片本质上都是会员卡1 1.2. 卡片的发展阶段1 2. 实现跨机构卡片内金额的流动解决方案(加 ...

  9. java多线程 sleep()和wait()的区别

    接触了一些多线程的东西,还是从java入手吧. 相信看这篇文章的朋友都已经知道进程和线程的区别,也都知道了为什么要使用多线程了. 这两个方法主要来源是,sleep用于线程控制,而wait用于线程间的通 ...

  10. rabbitmq消息队列——"工作队列"

    二."工作队列" 在第一节中我们发送接收消息直接从队列中进行.这节中我们会创建一个工作队列来分发处理多个工作者中的耗时性任务. 工作队列主要是为了避免进行一些必须同步等待的资源密集 ...