/**
* 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的更多相关文章

  1. React Native控件只TextInput

    TextInput是一个允许用户在应用中通过键盘输入文本的基本组件.本组件的属性提供了多种特性的配置,譬如自动完成.自动大小写.占位文字,以及多种不同的键盘类型(如纯数字键盘)等等. 比如官网最简单的 ...

  2. RN控件之DrawerLayoutAndroid导航栏

    /** * Sample React Native App * https://github.com/facebook/react-native */ 'use strict'; import Rea ...

  3. RN控件之ProgressBarAndroid进度条

    /** * Sample React Native App * https://github.com/facebook/react-native */ 'use strict'; import Rea ...

  4. RN控件之View Text

    /** * 模仿美团首页部分 * */ 'use strict' import React,{ AppRegistry, Component, StyleSheet, Text, View, Imag ...

  5. React-Native 之控件布局

    Nodejs 一度将前端JS 推到了服务器端,而15年FB的React-Native RN再一次将JS 推到了移动端的开发浪潮中.RN的优势这里不再重复,它是我们这些习惯了服务端.web端开发,而又不 ...

  6. [RN] React Native 仿美团下拉筛选菜单控件

    React Native 仿美团下拉筛选菜单控件 演示效果如下: 使用方法如下: 1.安装 npm install react-native-dropdownmenus --save react-na ...

  7. React Native环境搭建以及几个基础控件的使用

    之前写了几篇博客,但是没有从最基础的开始写,现在想了想感觉不太合适,所以现在把基础的一些东西给补上,也算是我从零开始学习RN的经验吧! 一.环境搭建 首先声明一下,本人现在用的编辑器是SublimeT ...

  8. Flex 文本控件实现自定义复制粘贴

    由于添加了自定义右键菜单,导致Textinput控件默认的右键复制粘贴功能被屏蔽了.最后通过JS脚本实现这个功能,参考代码如下 <?xml version="1.0" enc ...

  9. Flex_控件

    1.Text控件 外观: 代码: <?xml version="1.0" encoding="utf-8"?> <s:Application ...

随机推荐

  1. linux 资源管理

    1. 查看内存信息  free [root@rhel6 script]# free total used free shared buffers cached Mem: -/+ buffers/cac ...

  2. Elipse 快捷键

    1. eclipse里面如何快速收缩当前类文件里面的所有方法和注释收缩:ctrl+shift+/展开:ctrl+shift+*注意:这个/和*要是数字键盘上的/和*.   2. shift+enter ...

  3. LINQ 学习路程 -- 查询操作 Deferred Execution of LINQ Query 延迟执行

    延迟执行是指一个表达式的值延迟获取,知道它的值真正用到. 当你用foreach循环时,表达式才真正的执行. 延迟执行有个最重要的好处:它总是给你最新的数据 实现延迟运行 你可以使用yield关键字实现 ...

  4. Linux查看外网IP

    Linux查看外网IP curl cip.cc curl ifconfig.me curl ipinfo.io

  5. Docker学习(三)

    查看docker daemon服务运行状态 service docker status

  6. Ogre的Singleton实现-模版实现,便于重用-(详细分析)以及笔者的改进

    转自:http://www.cppblog.com/sandy/archive/2005/11/30/1436.html ;Root g_root;//must declare once only / ...

  7. Oracle备份和恢复

    --什么是脱机备份 脱机备份也叫冷备份,首先管理员使用 shutdown immediate 命令关闭数据库的服务. 之后复制需要的文件,包括数据文件和控制文件等相关内容复制到磁盘的其他位置.当 数据 ...

  8. java中的向上转型

    Person 可以表示为一个抽象的东西 就是人.比如说人可以唱歌, 就好比Person类中有一个sing方法.那么这个抽象的类(Person 人)可以具体到两类或者更多类 比如 男人,女人 .Man ...

  9. python_unittest详解

    一 整体结构概览 unittest原名为PyUnit,是由java的JUnit衍生而来.对于单元测试,需要设置预先条件,对比预期结果和实际结果. 整体结构:unittest库提供了test cases ...

  10. 十一 Django框架,Session

    Django中默认支持Session,其内部提供了5种类型的Session供开发者使用: 1.数据库(默认)2.缓存3.文件4.缓存+数据库5.加密cookie 1.数据库Session,保存在数据库 ...