React Native06 - TextInput元件、Touchable系列元件、QQ登入介面
前言
本篇主要內容如下:
- TextInput元件
- Touchable系列元件
- QQ登入介面案例
一、TextInput元件
-
通過鍵盤將文字輸入到應用程式的一個基本元件,寫法如下:
<TextInput />
-
元件的屬性
- placeholder
佔位符,在輸入前顯示的文字內容。
-
value
文字輸入框的預設值,該值設定過後,不能在輸入框內直接修改,在下一篇會講解修改方式,這個屬性在本篇先不用管。
-
placeholderTextColor
佔位符文字的顏色
-
multiline
如果為 true,表示多行輸入
-
editable
預設為 true。如果設定為 false 表示不可編輯。
-
autoFocus
如果為 true,則自動獲取焦點
-
maxLength
能夠輸入的最長字元數
-
secureTextEntry
預設為 false。如果為 true,則像密碼框一樣隱藏輸入內容。
-
underlineColorAndroid
設定預設下劃線的顏色,設定為transparent,相當於讓下劃線消失
-
元件的方法
- onChangeText:當文字發生變化時,呼叫該函式。
- onEndEditing:當結束編輯時,呼叫該函式。也就是當輸入框上沒有游標去閃爍時代表輸入結束。
- onBlur:失去焦點時觸發,和onEndEditong基本上是一樣的
- onFocus:獲得焦點時觸發。
- onSubmitEditing:當結束編輯後,點選鍵盤的提交按鈕觸發該事件。
-
接下來通過demo1來了解上面各個屬性的用法
import React, { Component } from 'react'; import { AppRegistry, StyleSheet, Text, View, TextInput } from 'react-native'; var MyTextInput = React.createClass({ render(){ return ( <View style={styles.outerView}> <TextInput style={styles.myTextInput} placeholder={"請輸入密碼"} placeholderTextColor={"red"} multiline={true} editable={true} autoFocus={true} maxLength={15} secureTextEntry={true} underlineColorAndroid={"transparent"} onChangeText={(text)=>this.changeText(text)} onEndEditing={()=>this.endEditing()} onBlur={()=>this.lostblur()} onFocus={()=>this.getblur()} onSubmitEditing={()=>this.submitEditing()} /> </View> ) }, changeText(text){ console.log(text); }, endEditing(){ alert("結束編輯"); }, lostblur(){ alert("失去焦點"); }, getblur(){ alert("得到焦點"); }, submitEditing(){ alert("提交"); } }) const styles = StyleSheet.create({ outerView:{ flex:1, marginTop:20, flexDirection:"row", }, myTextInput:{ flex:4, height:50, }, }) AppRegistry.registerComponent('demo1', () => MyTextInput);
二、元件Touchable系列
RN的很多元件預設都不支援點選,目前我們學習的能夠點選的元件只有一個Text,之前我們可以使用Text來實現按鈕,RN其實給我們提供了幾個元件專門讓我們給預設不能點選的元件設定點選事件。
該系列元件包括四種分別為:TouchableHighlight(觸控點選高亮效果),TouchableNativeFeedback(僅限android平臺),TouchableOpacity(透明度變化),TouchableWithoutFeedback。其中最後一個控制元件是觸控點選不帶反饋效果的,另外三個都是有反饋效果。可以這樣理解前面三個都是繼承自TouchableWithoutFeedback擴充套件而來。本篇我只講解一個TouchableOpacity,其他的有興趣可以自行研究。
-
TouchableOpacity(透明度變化)
該元件封裝了響應觸控事件,當點選按下的時候,該元件的透明度會降低
-
常用屬性
-
activeOpacity number
設定元件在進行觸控的時候,顯示的不透明度(取值0-1之間)
-
underlayColor
當觸控或者點選控制元件的時候顯示出的顏色
-
style
可以設定控制元件的風格演示,該風格演示可以參考View元件的style
-
-
常見的觸控事件
注意:呼叫得用箭頭函式,比如
onPress={()=>this.press()}
onPress 點選
onPressIn 按下
onPressOut 抬起
onLongPress 長按不放
-
使用方式
將想要實現點選的元件用Touchable系列元件給包含起來,然後給Touchable系列元件新增觸控事件即可,比如讓View組價可點選
<TouchableOpacity onPress={()=>this.press()}>' <View><View/> <TouchableOpacity/>
三、QQ登入介面
最終效果如下:
點選按鈕可以彈出當前輸入的賬號密碼
程式碼及註釋
相關文章
- React Native元件篇(四) — Touchable系列元件React Native元件
- React Native元件篇(三) — TextInput元件React Native元件
- QTP測試QQ登入介面QT
- 鴻蒙HarmonyOS實戰-ArkUI元件(TextInput/TextArea)鴻蒙UI元件
- React 深入系列2:元件分類React元件
- React 深入系列6:高階元件React元件
- React技巧之匯入元件React元件
- QQ2010登入介面。
- react篇章-React 元件-複合元件React元件
- 元件庫設計實戰系列:重新設計 React 元件庫元件React
- 仿QQ2012登入介面
- React元件React元件
- React router動態載入元件-介面卡模式的應用React元件模式
- React篇章-React 元件React元件
- React 深入系列4:元件的生命週期React元件
- React 高階元件(HOC)入門指南React元件
- react篇章-React 元件-向元件傳遞引數React元件
- Java介面程式設計實戰(一)——簡易QQ登入介面Java程式設計
- React拖拽元件React元件
- React受控元件和非受控元件React元件
- React 快速上手 - 06 元件設計 容器元件、展示元件、操作元件React元件
- react進階系列:高階元件詳解(三)React元件
- 【網頁登入】QQ 登入、微信登入、微博登入、GitHub 登入網頁Github
- 動手擼元件系列 —— 1. 使用React實現一個Collapse元件元件React
- react-native TextInput 使用React
- react非同步載入元件實現解析React非同步元件
- React Hooks 實現的中文輸入元件ReactHook元件
- React 入門總結(JSX與元件)ReactJS元件
- React之受控元件和非受控元件React元件
- React Native元件(二)View元件解析React Native元件View
- React 之受控元件和非受控元件React元件
- React Native元件篇(二) — Image元件React Native元件
- React Native元件篇(一) — Text元件React Native元件
- React從入門到精通系列之(4)元件化和Props傳遞React元件化
- 得物技術登入元件重構元件
- QQ使用者登陸介面
- (React啟蒙)理解React 元件React元件
- React 深入系列1:React 中的元素、元件、例項和節點React元件