/**
* 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. Yii2 高级查询

    首先我们要自己写一个ActiveQuery 类并且继承 Yii2 的 ActiveQuery: namespace api\models; class ActiveQuery extends \yii ...

  2. 让input表单输入框不记录输入过信息的方法

    有过表单设计经验的朋友肯定知道,当我们在浏览器中输入表单信息的时候,往往input文本输入框会记录下之前提交表单的信息,以后每次只要双击input文本输入框就会出现之前输入的文本,这样有时会觉得比较方 ...

  3. c++之helloworld与命名空间

    首先在linux中需要安装g++编译器. 在中端输入 uname -a,可以查看版本信息. 输入g++,如果提示错误.则需要使用sudo apt-get install g++. #include&l ...

  4. 【leetcode刷题笔记】Spiral Matrix

    Given a matrix of m x n elements (m rows, n columns), return all elements of the matrix in spiral or ...

  5. /etc/apt/sources.list

    今天学习: 在Ubuntu下软件源的文件是/etc/apt/sources.list,那么sourdces.list.d目录下的文件又是什么作用呢? 该文件夹下的文件是第三方软件的源,可以分别存放不同 ...

  6. Subnet Pools and Address Scopes

     Why is IPAM important for Neutron? •No VM connectivity without a valid IP assigned •Duplicate subne ...

  7. C#异步编程之浅谈Task

    上一篇讲到了.Net4.5新增的async和await关键字,其实async和await算是一组标记,真正实现异步操作的是Task新开的任务线程. 什么是Task Task是.Net4.0新增用来处理 ...

  8. 7 Python 数据类型—列表

    列表(list)是Python以及其他语言中最常用到的数据结构之一.Python使用使用中括号 [ ] 来解析列表 序列是Python中最基本的数据结构.序列中的每个元素都分配一个数字 - 它的位置, ...

  9. Dedecms丨显示指定的导航栏

    代码实例: {dede:channelartlist type='top' typeid='9,12,10' row='3' orderby='sortrank'}<li><a hr ...

  10. sql split函数

    --DROP FUNCTION F_SQLSERVER_SPLIT GO CREATE FUNCTION F_SQLSERVER_SPLIT(@Long_str varchar(8000),@spli ...