转载请标明出处:

http://blog.csdn.net/developer_jiangqq/article/details/50589570

本文出自:【江清清的博客】

()前言

【好消息】个人网站已经上线运行,后面博客以及技术干货等精彩文章会同步更新,请大家关注收藏:http://www.lcode.org

今天我们一起来看一下文本输入框TextInput组件的相关使用讲解以及模仿实现一下QQ登录界面的效果。具体环境搭建以及相关配置的请查看之前的相关文章。

刚创建的React Native技术交流3群(496508742),React Native技术交流4群(458982758),请不要重复加群!欢迎各位大牛,React Native技术爱好者加入交流!同时博客左侧欢迎微信扫描关注订阅号,移动技术干货,精彩文章技术推送!

TextInput组件允许用户在应用中通过键盘进行输入文本信息。并且该组件还提供了多种配置属性例如:自动拼写修复,自动大小写切换,占位默认字符设置以及多种不同类型的键盘切换例如:我们可以弹出数字键盘。

()实例

TextInput组件和前面讲的Image或者Text组件差不多,用起来都非常简单。我们直接在应用中添加一个TextInput组件,然后给该组件添加相关属性(:边框颜色,粗细,背景,默认值)以及监听方法(例如:输入信息,焦点变化等事件)。我们首先看一下官方提供的一个简单例子:

<TextInputstyle={{height: 40, borderColor: 'gray',borderWidth: 1}}onChangeText={(text) =>this.setState({text})}value={this.state.text}/>

该直接定义了TextInput组件,同时设置组件的风格高度,变宽粗细以及边框颜色。并且我们这边监听了TextInputonChangeText的事件来进行获取用户的输入信息。除了该监听事件方法以外还有onSubmitEditing(提交编辑)以及onFoucs(输入框获取焦点的时候调用)等相关的监听方法。

下面在演示另外一个TextInput实例,该创建了三个TextInput,同时每个TextInput都添加了默认信息(hit),第一个TextInput组件设置高度40,边框粗细和边框的颜色,切可以输入多行信息。第二个TextInput设置左右额边距以及自动获取到焦点。第三个TextInput设置不可编辑状态。具体代码如下:

<View style={styles.container}><Text style={styles.welcome}>Welcome to React Native!</Text><TextInputstyle={{height:40,borderColor:'red',borderWidth:1}}multiline={true}defaultValue='默认信息1'/><TextInputstyle={{marginLeft:10,marginRight:10}}autoFocus={true}defaultValue='默认信息2'/><TextInputeditable={false}defaultValue='默认信息3'/></View>

具体运行效果如下:

()属性方法(这边讲解平台公用以及Android生效的属性方法)

3.1.View 支持View的相关属性

3.2.autoCapitalize 控制TextInput输入的字符进行切换成大写(可选择参数:'none', 'sentences', 'words','characters')

  • none:不自动切换任何字符成大写
  • sentences:默认每个句子的首字母变成大写
  • words:每个单词的首字母变成大写
  • characters:每个字母全部变成大写

3.3.autoCorrect bool 设置拼写自动修正功能 默认为开启(true)

3.4.autoFocusbool 设置是否默认获取到焦点默认为关闭(false)。该需要componentDidMount方法被调用之后才会获取焦点哦(componentDidMount是React组件被渲染之后React主动回调的方法)

3.5.defaultValue string 给文本输入设置一个默认初始值。

3.6.editablebool 设置文本框是否可以编辑 默认值为true,可以进行编辑

3.7.keyboardType 键盘类型(可选参数:"default", 'email-address','numeric', 'phone-pad', "ascii-capable", 'numbers-and-punctuation','url', 'number-pad', 'name-phone-pad', 'decimal-pad', 'twitter', 'web-search') 该用来选择默认弹出键盘的类型例如我们甚至numeric就是弹出数字键盘。鉴于平台的原因如下的值是所有平台都可以进行通用的

  • default
  • numeric 数字键盘
  • email-address 邮箱地址

3.8.maxLengthnumber 可以限制文本输入框最大的输入字符长度

3.9.multiline bool 设置可以输入多行文字,默认为false(表示无论文本输入多少,都是单行显示)

3.10.onBlur function 监听方法,文本框失去焦点回调方法

3.11.onChange function 监听方法,文本框内容发生改变回调方法

3.12.onChangeText  function监听方法,文本框内容发生改变回调方法,该方法会进行传递文本内容

3.13.onEndEditing function监听方法,当文本结束文本输入回调方法

3.14.onFocus  function 监听方法 文本框获取到焦点回调方法

3.15.onLayoutfunction监听方法 组价布局发生变化的时候调用,调用方法参数为 {x,y,width,height}

3.16.onSubmitEditing function监听方法,当编辑提交的时候回调方法。不过如果multiline={true}的时候,该属性就不生效

3.17.placeholer string 当文本输入框还没有任何输入的时候,默认显示信息,当有输入的时候该值会被清除

3.18.placeholerTextColor string 设置默认信息颜色(placeholer)

3.19.secureTextEntrybool 设置是否为密码安全输入框 ,默认为false

3.20.style 风格属性 可以参考Text组件风格

3.21.value string 输入框中的内容值

以上是一些Android,iOS平台通用的属性,下面根据官网的文档,我这边组要讲解一下适用于Android平台的属性方法

3.22.numberOfLinesnumber设置文本输入框行数,该需要首先设置multilinetrue,设置TextInput为多行文本。

3.23.textAlign 设置文本横向布局方式 可选参数('start', 'center', 'end')

3.24.textAlignVertical 设置文本垂直方向布局方式 可选参数('top', 'center', 'bottom')

3.25.underlineColorAndroid 设置文本输入框下划线的颜色

()TextInput实战-仿照QQ登录界面

下面我们来仿照QQ登录界面的效果,进行布局一下,具体实现代码如下:

/*** Sample React Native App* https://github.com/facebook/react-native*/
'use strict';
import React, {AppRegistry,Component,StyleSheet,Text,Image,View,TextInput,
} from'react-native';class TestInputextends Component {render() {return (<Viewstyle={{backgroundColor:'#f4f4f4',flex:1}}><Imagestyle={styles.style_image}source={require('./img/app_icon.png')}/><TextInputstyle={styles.style_user_input}placeholder='QQ号/手机号/邮箱'numberOfLines={1}autoFocus={true}underlineColorAndroid={'transparent'}textAlign='center'/><Viewstyle={{height:1,backgroundColor:'#f4f4f4'}}/><TextInputstyle={styles.style_pwd_input}placeholder='密码'numberOfLines={1}underlineColorAndroid={'transparent'}secureTextEntry={true}textAlign='center'/><Viewstyle={styles.style_view_commit}><Text style={{color:'#fff'}}>登录</Text></View><Viewstyle={{flex:1,flexDirection:'row',alignItems: 'flex-end',bottom:10}}><Textstyle={styles.style_view_unlogin}>无法登录?</Text><Textstyle={styles.style_view_register}>新用户</Text></View></View>);}
}
const styles =StyleSheet.create({style_image:{borderRadius:35,height:70,width:70,marginTop:40,alignSelf:'center',},style_user_input:{ backgroundColor:'#fff',marginTop:10,height:35,},style_pwd_input:{ backgroundColor:'#fff',height:35,},style_view_commit:{ marginTop:15,marginLeft:10,marginRight:10,backgroundColor:'#63B8FF',height:35,borderRadius:5,justifyContent: 'center',alignItems: 'center',},style_view_unlogin:{fontSize:12,color:'#63B8FF',marginLeft:10,},style_view_register:{fontSize:12,color:'#63B8FF',marginRight:10,alignItems:'flex-end',flex:1,flexDirection:'row',textAlign:'right',}
});AppRegistry.registerComponent('TestInput',() => TestInput);

运行效果如下:

()最后总结

今天我们主要给大家介绍TextInput组件,以及通过一个QQ登录界面具体实例把之前的View,Text,Image组件的基本使用串联了一下。大家有问题可以加一下群React Native技术交流群(282693535)或者底下进行回复一下。

尊重原创,转载请注明:From Sky丶清(http://blog.csdn.net/developer_jiangqq) 侵权必究!

关注我的订阅号(codedev123),每天分享移动开发技术(Android/IOS),项目管理以及博客文章!(欢迎关注,第一时间推送精彩文章)

关注我的微博,可以获得更多精彩内容

【React Native开发】React Native控件之TextInput组件讲解与QQ登录界面实现(11)相关推荐

  1. 【Win 10应用开发】SplitView控件

    [Win 10应用开发]SplitView控件 原文:[Win 10应用开发]SplitView控件 SplitView控件用于呈现分隔视图,简单地说,就是把一个视图分割为两部分,Content属性所 ...

  2. 用友二次开发 用友控件 Js宿主脚本 调用用友T6 登录 参照 控件示例

    用友二次开发 用友控件 Js宿主脚本 调用用友T6 登录 参照 控件示例 /*****************************************, code by 张朋 ' Email: ...

  3. 分享-WinForm界面开发之布局控件WeifenLuo.WinFormsUI.Docking的使用

    分享自伍华聪的-WinForm界面开发之布局控件"WeifenLuo.WinFormsUI.Docking"的使用 本篇介绍Winform程序开发中的布局界面的设计,介绍如何在我的 ...

  4. Qt界面开发(各种控件以及图表)

    Qt界面开发(各种控件以及图表) 1.Qt简洁窗体 源代码链接:点击打开链接 2.QT漂亮界面 源代码链接:点击打开链接 3.音乐播放器界面 源代码链接:点击打开链接 4.六宫格界面 源代码链接:点击 ...

  5. firefox扩展开发(八) :控件激活

    firefox扩展开发(八) :控件激活 2008-06-11 17:01 当我们用鼠标点击一个控件,或者用TAB键移动到一个控件上时,我们说这个控件被激活 了(focus),离开这个控件时,我们说这 ...

  6. UG/NX二次开发 选择坐标系控件 UF_UI_specify_csys

    文章作者:里海 来源网站:https://blog.csdn.net/WangPaiFeiXingYuan 简介: UG/NX二次开发 选择坐标系控件 UF_UI_specify_csys 与 老函数 ...

  7. android include 控件详解,Android开发中include控件用法分析

    本文实例讲述了Android开发中include控件用法.分享给大家供大家参考,具体如下: 我们知道,基于Android系统的应用程序的开发,界面设计是非常重要的,它关系着用户体验的好坏.一个好的界面 ...

  8. VS+QT开发Ocx/ActiveX控件 一

    VS+QT开发Ocx/ActiveX控件 一 VS+QT开发Ocx/ActiveX控件-------网页中全屏 二 QT开发ActiveX控件 一:所用IDE版本,需用管理员权限 二:创建Active ...

  9. java activex 开发教程_ActiveX控件和自定义控件组开发(1)

    ActiveX是Microsoft对一系列策略性面向对象程序技术和工具的称呼,它与Java中的Applet功能类似,其依赖的主要技术是组件对象模型(COM),它是"成品"的软件模块 ...

最新文章

  1. 卷积神经网络模型解读汇总——LeNet5,AlexNet、ZFNet、VGG16、GoogLeNet和ResNet
  2. Android使用WebView加载网页
  3. 洛谷 P3865 【模板】ST表
  4. Microsoft Dynamics CRM server 2013 一般销售流程之 报价单功能详解
  5. Name Server Daemon (NSD)
  6. elasticsearch分词聚合查询demo
  7. python 持续集成 教程_jenkins+python自动化测试持续集成教程
  8. python手机编译器推荐_Python编译器最新版|Python编译器手机版下载 v1.2 安卓版 - 数码资源网...
  9. 判断浏览器是否支持websocket的方法
  10. Mock(模拟后端接口数据)配合Vuex的使用
  11. 设计模式----简单工厂
  12. xcopy使用与案例使用
  13. Atitit.异步编程 java .net php python js 的比较
  14. Python(函数的参数)
  15. 专业词汇及解释(持续更新,自用)
  16. google是否还能孤独求败,百度 VS google
  17. WinPcap笔记:VisualStudio2015配置WinCap
  18. FIRST集和 FOLLOW集的计算
  19. “健康童乐园”10000户落成促进乡村儿童身心智全面健康成长
  20. 中国通史—春秋战国的学术思想

热门文章

  1. java定义全局变量_在java中怎么定义一个全局变量
  2. 纪念币的收藏价值,那是毋庸置疑的
  3. 情人节微信公众号图文排版应该用哪些素材?
  4. 作图方法5——分位数—分位数图
  5. 笔记本电脑开机黑屏没反应怎么办?
  6. k8s - labels 标签介绍
  7. phpmyadmin mysql更新_phpMyAdmin官方下载-phpMyAdmin(MySQL数据库管理)v5.10 最新版-ucbug软件站...
  8. taro之--使用nutui
  9. 计算机关机怎么按,电脑关机按钮怎么设置?关机按钮设置方法介绍
  10. 教程一级计算机基础及应用,全国计算机等级考试教程:一级计算机基础及Photoshop应用...