RN控件之TextInput
- /**
- * Sample React Native App
- * https://github.com/facebook/react-native
- */
- 'use strict';
- import React, {
- AppRegistry,
- Component,
- StyleSheet,
- Text,
- View,
- Image,
- TextInput,
- } from 'react-native';
- class MyProject2 extends Component {
- render() {
- return (
- <View style={{backgroundColor:'#f4f4f4',flex:1}}>
- <Image style={styles.style_image} source={require('./images/qq.jpg')}/>
- <TextInput
- style={styles.style_user_input}
- placeholder="QQ号/手机号/邮箱"
- numberOfLines={1}
- autoFocus={true}
- underlineColorAndroid={'transparent'}
- textAlign="center"
- />
- <View style={{height:1,backgroundColor:'#f4f4f4'}}/>
- <TextInput
- style={styles.style_pwd_input}
- placeholder="密码"
- numberOfLines={1}
- underlineColorAndroid={'transparent'}
- secureTextEntry={true}
- textAlign="center"
- />
- <View style={styles.style_view_commit}>
- <Text style={{color:'#fff'}}>登录</Text>
- </View>
- <View style={{flex:1,flexDirection:'row',alignItems:'flex-end',bottom:10}}>
- <Text style={styles.style_view_unlogin}>无法登录?</Text>
- <Text style={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:'#63bbff',
- height:35,
- borderRadius:5,
- justifyContent:'center',
- alignItems:'center'
- },
- style_view_unlogin:{
- fontSize:12,
- color:'#63bbff',
- marginLeft:10,
- },
- style_view_register:{
- fontSize:12,
- color:'#63bbff',
- marginRight:10,
- alignItems:'flex-end',
- flex:1,
- flexDirection:'row',
- textAlign:'right'
- }
- });
- AppRegistry.registerComponent('MyProject2', () => MyProject2);
一.TextInput组件介绍
1.TextInput组件跟Image和Text组件差不多,可以添加相关属性(例如:边框颜色,粗细,背景,默认值)以及监听方法(例如:输入信息,焦点变化等事件)
2.属性方法(平台公用以及Android生效的属性方法)
(1)支持View的相关属性
(2)autoCapitalize:控制输入的字符进行切换成大写(参数:'none','sentences','words','characters')
none:不自动切换任何字符大写
sentences:默认每个句子的首字母大写
words:每个单词的首字母变成大写
characters:每个字母全部变成大写
(3)autoCorrect(bool):设置瓶邪自动修正功能,默认开启(true)
(4)autoFocus(bool):设置是否默认获取到焦点,默认为关闭(false).需要comonentDidMount方法调用之后才会获取焦点(componentDidMount是React组件被渲染之后React主动回调的方法)
(5)defaultValue(string):给文本框输入一个默认初始值.
(6)editable(bool):设置文本框是否可以编辑,默认为true,可以进行编辑
(7)keyboard(type):
键盘类型(可选参数:"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 邮箱地址
(8)maxLength(number):可以限制文本输入框最大的输入字符长度
(9)multiline (bool) : 设置可以输入多行文字,默认为false(表示无论文本输入多少,都是单行显示)
(10)onBlur (function): 监听方法,文本框失去焦点回调方法
(11)onChange (function): 监听方法,文本框内容发生改变回调方法
(12)onChangeText (function):监听方法,文本框内容发生改变回调方法,该方法会进行传递文本内容
(13)onEndEditing (function):监听方法,当文本结束文本输入回调方法
(14)onFocus (function) :监听方法 文本框获取到焦点回调方法
(15)onLayout (function):监听方法 组价布局发生变化的时候调用,调用方法参数为 {x,y,width,height}
(16)onSubmitEditing (function):监听方法,当编辑提交的时候回调方法。不过如果multiline={true}的时候,该属性就不生效
(17)placeholder (string) :当文本输入框还没有任何输入的时候,默认显示信息,当有输入的时候该值会被清除
(18)placeholderText Color (string): 设置默认信息颜色(placeholer)
(19)secureTextEntry (bool): 设置是否为密码安全输入框 ,默认为false
(20)style 风格属性 可以参考Text组件风格
(21)value ( string ):输入框中的内容值
以上是一些Android,iOS平台通用的属性,下面根据官网的文档,我这边组要讲解一下适用于Android平台的属性方法
(22)numberOfLines (number):设置文本输入框行数,该需要首先设置multiline为true,设置TextInput为多行文本。
(23)textAlign 设置文本横向布局方式 可选参数('start', 'center', 'end')
(24)textAlignVertical: 设置文本垂直方向布局方式 可选参数('top', 'center', 'bottom')
(25)underlineColorAndroid: 设置文本输入框下划线的颜色
RN控件之TextInput的更多相关文章
- React Native控件只TextInput
TextInput是一个允许用户在应用中通过键盘输入文本的基本组件.本组件的属性提供了多种特性的配置,譬如自动完成.自动大小写.占位文字,以及多种不同的键盘类型(如纯数字键盘)等等. 比如官网最简单的 ...
- RN控件之DrawerLayoutAndroid导航栏
/** * Sample React Native App * https://github.com/facebook/react-native */ 'use strict'; import Rea ...
- RN控件之ProgressBarAndroid进度条
/** * Sample React Native App * https://github.com/facebook/react-native */ 'use strict'; import Rea ...
- RN控件之View Text
/** * 模仿美团首页部分 * */ 'use strict' import React,{ AppRegistry, Component, StyleSheet, Text, View, Imag ...
- React-Native 之控件布局
Nodejs 一度将前端JS 推到了服务器端,而15年FB的React-Native RN再一次将JS 推到了移动端的开发浪潮中.RN的优势这里不再重复,它是我们这些习惯了服务端.web端开发,而又不 ...
- [RN] React Native 仿美团下拉筛选菜单控件
React Native 仿美团下拉筛选菜单控件 演示效果如下: 使用方法如下: 1.安装 npm install react-native-dropdownmenus --save react-na ...
- React Native环境搭建以及几个基础控件的使用
之前写了几篇博客,但是没有从最基础的开始写,现在想了想感觉不太合适,所以现在把基础的一些东西给补上,也算是我从零开始学习RN的经验吧! 一.环境搭建 首先声明一下,本人现在用的编辑器是SublimeT ...
- Flex 文本控件实现自定义复制粘贴
由于添加了自定义右键菜单,导致Textinput控件默认的右键复制粘贴功能被屏蔽了.最后通过JS脚本实现这个功能,参考代码如下 <?xml version="1.0" enc ...
- Flex_控件
1.Text控件 外观: 代码: <?xml version="1.0" encoding="utf-8"?> <s:Application ...
随机推荐
- 培训笔记——ubuntu安装
1.选择安装位置,如果是做双系统提前准备一个分区,如果覆盖安装就无所谓了2.下载iso镜像文件,制作启动盘,Windows或linux环境下分别有相应的软件可以制作启动光盘或U盘3.开始安装一 设置开 ...
- JSP页面EL表达式不解析
问题是这样:在搭建springMVC环境的时候,笔者写了一个简单的Controller如下: @Controller public class HelloController { @RequestMa ...
- Python 3 mysql 数据类型
Python 3 mysql 数据类型 存储引擎决定了表的类型,而表内存放的数据也要有不同的类型,每种数据类型都有自己的宽度,但宽度是可选的 详细参考: http://www.runoob.com/m ...
- shell 查看系统有关信息
磁盘: 查看磁盘空间或者挂载情况 df -ah 或者 df -h 内存: 查看内存使用情况 free -m total used free shared buffers cached Mem: -/+ ...
- hbase shell-security(安全指令)
hbase shell安全指令篇: grant list_security_capabilities revoke user_permission 正在编辑中
- 解决COMODO Internet Security更新慢或失败的问题
方法一: COMODO 默认更新服务器只有一个:http://download.comodo.com/ 我电信网络更新速度非常慢: 实在没有办法了,找到了几个更新服务器: http://eu1.dow ...
- Jquery的load()
我一直认为jquery的load函数是以GET方式请求另一个文件并加载到当前DOM里的.当我带参数加载一个ASP脚本时是这样做: $("#showData").load(" ...
- 启动Hadoop时DFSZKFailoverController没有启动
在启动Hadoop成功后,并没有报错信息,jps查看进程,发现DFSZKFailoverController没有启动成功,后来发现是因为防火墙的原因,关掉重试就OK了 systemctl stop f ...
- Linux下查看Python安装了哪些脚本模块
Linux下查看Python安装了哪些脚本模块 1.什么是rpm ? rpm 即RedHat Package Management,是RedHat的发明之一 .现在包括OpenLinux.fedora ...
- 恢复delete删除的数据
SELECT * FROM tablename AS OF TIMESTAMP TO_TIMESTAMP('2010-12-15 11:10:17', 'YYYY-MM-DD HH:MI:SS')