React Native 基礎組件詳解<一>

一、Text組件

1)numberOfLines:顯示行數
2)ellipsizeMode:超出隱藏的位置 clip->裁掉 head/middle/ tail->點的位置
3)selectable: 是否可以選中
4)selectionColor:選中后的顏色
5)allowFontScaling: 跟隨系統字體大小變化

export default () => {return (<View style={styles.root}><Text style={styles.txt}numberOfLines={2}ellipsizeMode="tail">我是基礎組件Text我是基礎組件Text我是基礎組件Text</Text><Text style={styles.txt}selectable={true}selectionColor="yellow">我是基礎組件Text2</Text><Text style={styles.txt}onPress={() => {console.log('我點')}}onLongPress={() => {console.log('我長按')}}>我是可以點擊的基礎組件Text3</Text></View>);
}

在這里插入圖片描述
在這里插入圖片描述

二、Image組件

1)source:圖片源 注意:本地和遠程圖片的區別
2)defaultSource:占位圖片
3)resizeMode:縮放模式 content/center/cover/repeat/stretch
4)blurRadius: 模糊
5)tintColor: 用于改變圖標顏色(重要)

<Imagestyle={styles.img} source={iconSetting} // 本地圖片resizeMode='contain'blurRadius={2} /><Image style={styles.img} defaultSource={iconSetting} // 網絡圖沒有加載出來的占位source={{uri: imageUri}} /> // 網絡圖片

在這里插入圖片描述

<Imagestyle={styles.img2} source={iconSetting} />// ...
img2: {tintColor: 'red'}

在這里插入圖片描述

三、ImageBackground組件

View和Image的結合
1)style:容器的樣式
2)imageStyle: 背景圖的樣式

<ImageBackgroundstyle={styles.card}imageStyle={styles.bg}source={cardBg}><Text style={styles.txt}>我是內容</Text>
</ImageBackground>// ...
card: {width: '100%',height: 150,flexDirection: 'row',alignItems: 'center',
},
bg: {opacity: .8,borderRadius: 12,
},

在這里插入圖片描述

四、TextInput組件

1)自動聚焦:autoFocus = true 或者ref.focus()
2)自動失焦:blurOnSubmit = true 或者ref.blur()
3)defaultValue:默認內容
4)editable:是否可以輸入 false是不能輸入
5)keyboardType:鍵盤類型 number-pad(數字)
6)returnKeyType:確定鍵 done/go/next/send/search
7)maxLength:最大長度
8)multiline:是否允許多行
9)numberOfLines:顯示的行數
10)selection:選中內容 {{start: 0 , end: 3}} 值是index
11)selectionColor: 選中的顏色
12)selectTextOnFocus:第一次手動聚焦時,是否選中全部內容
13)secureTextEntry:是否密碼模式, 不可與multiline=true同用

<TextInputref={inputRef}style={styles.input}// autoFocus={true}blurOnSubmit={true}caretHidden={false}defaultValue="我是默認的內容"editable={true}keyboardType='number-pad'returnKeyType='search'// maxLength={11}// multiline={true}// numberOfLines={2}onFocus={() => {}}onBlur={() => {}}onChange={(event) => {console.log(event.nativeEvent);}}onChangeText={(text) => {console.log(text);}}// selection={{start: 0, end: 3}}selectionColor='red'selectTextOnFocus={true}secureTextEntry={true}/>// ...
input: {width: '100%',height: 50,backgroundColor: '#ccc',fontSize: 24,color: '#000',fontWeight: 'bold',},

五、TouchableOpacity組件 — 點擊組件

activeOpacity:點擊時不透明度的變化

<TouchableOpacitystyle={styles.button}activeOpacity={0.5}// x ~ 1不透明度變化范圍onPress={() => {console.log('點擊 ...');}}onLongPress={() => {console.log('長按 ...');}}delayLongPress={1000} // 長按規定時間onPressIn={() => {console.log('按下去 ...');}}onPressOut={() => {console.log('抬起來 ...');}}><Text style={styles.txt}>按鈕</Text></TouchableOpacity>

六、TouchableHighlight組件 – 點擊組件

underlayColor:按下去時高亮顏色
注意:1)只能有一個子節點
2)activeOpacity單個使用沒有效果,必須和onPress一起用點擊時才有不透明過渡效果

<TouchableHighlightstyle={styles.button}activeOpacity={0.8}onPress={() => {console.log('onPress ...');}}underlayColor="#00bcd4"><Text style={styles.txt}>按鈕</Text></TouchableHighlight>

七、TouchableWithoutFeedback組件 – 幾乎不用

注意:只支持一個子節點,而且自身不支持樣式

<TouchableWithoutFeedback><Viewstyle={styles.button}><Text style={styles.txt}>按鈕</Text></View></TouchableWithoutFeedback>

八、Button組件

1)title:必須
2)color:按鈕顏色 ,不設置默認為藍色
3)disabled:是否置灰
注意:不可定制樣式

<Buttontitle='按 鈕'// color={"green"}// disabled={true}onPress={() => {}}
/>

在這里插入圖片描述

九、ScrollView組件

1)contentContainerStyle:包裹內容的容器的樣式
2)keyboardDismissMode:當鍵盤拉起時,滾動鍵盤是否消失 on-drag(消失)
3)keyboardShouldPersistTaps:當鍵盤拉起時,點擊滾動區域鍵盤是否消失 never(消失)/always(不消失)/handled(消失)
!!!never和handled的區別:**鍵盤和Button同時存在的情況下:
never:點擊按鈕,鍵盤收起,但是Button的onPress沒有直接執行
handled:點擊按鈕,鍵盤不會收起,Button的onPress直接執行,點擊滾動區域的非按鈕部分,鍵盤收起

4)overScrollMode:滾動到頭,能否拉動 never(不能)/always(能)
5)scrollEnabled:是否可以滾動
6)contentOffset:初始默認滾動的位置 {y: 100}
7)showsVerticalScrollIndicator:滾動時,是否顯示縱向滾動條
8)stickyHeaderIndices:第幾個元素吸頂

9)指定滾動距離:ref.scrollTo({y: xxx})
10)指定滾動到結尾:ref.scrollToEnd()

<ScrollViewref={scrollViewRef}style={styles.root}contentContainerStyle={styles.containerStyle}keyboardDismissMode='on-drag'keyboardShouldPersistTaps='handled'onMomentumScrollBegin={() => {// console.log('滾動開始 ...')}}onMomentumScrollEnd={() => {// console.log('滾動結束 ...')}}onScroll={(event) => {// event.nativeEvent.contentOffset.y:滾動距離// console.log(event.nativeEvent.contentOffset.y);}}scrollEventThrottle={16} // ios, 沒隔多少毫秒回調onScrolloverScrollMode='always' scrollEnabled={true}contentOffset={{ y: 100 }} // 初始滾動位置showsVerticalScrollIndicator={false}stickyHeaderIndices={[1]} // 第幾個吸頂
>// 內容
</ScrollView>

11)pagingEnabled: 是否整頁滾動

<ScrollView style={{ width: '100%', height: 200 }} horizontal={true} pagingEnabled={true}><View style={{ width, height: 200, backgroundColor: 'red' }} /><View style={{ width, height: 200, backgroundColor: 'blue' }} /><View style={{ width, height: 200, backgroundColor: 'green' }} /></ScrollView>

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/87907.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/87907.shtml
英文地址,請注明出處:http://en.pswp.cn/web/87907.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

異步編程(Promise/Generator/async)

1、Promise 2、Generator 3、async/await

【Note】《Kafka: The Definitive Guide》 第8章: Cross-Cluster Data Mirroring

《Kafka: The Definitive Guide》 第8章&#xff1a; Cross-Cluster Data Mirroring 一、跨集群鏡像的場景與價值 多區域低延遲訪問 將業務數據從主集群實時復制到多個地理區域的集群&#xff0c;縮短消費者跨區讀取延遲。 災備切換 當主集群出現故障時&#xff0c;可快速將消…

「Windows/Mac OS」AIGC圖片生成視頻 ,webui + stable-diffusion環境部署教程

stable-diffusion webui 環境搭建目錄 一、Windows 環境部署 stable-diffusion-webui1、準備條件2、安裝Python 3.10.X&#xff08;**較新版本的 Python 不支持 torch**&#xff09;3、安裝Git 教程4、使用Git 下載 stable-diffusion-webui 存儲庫&#xff0c;4.1、顯示報錯 5…

【深度學習】 深度學習訓練配置參數詳解

深度學習訓練配置參數詳解 1. 啟動初始化參數說明CUDA_VISIBLE_DEVICES指定使用的GPU設備編號&#xff08;"0"表示單卡&#xff09;seed隨機種子&#xff08;1777777&#xff09;&#xff0c;保證實驗可復現性cuda是否啟用GPU加速&#xff08;True&#xff09;benchm…

期望,積分,均值,求和的關系

1. 回顧期望的定義 對于連續性隨機變量 X X X&#xff0c;期望為&#xff1a; E X ~ f ( x ) [ X ] ∫ Ω x f ( x ) d x E_{X\sim f(x)}[X] \int_{\Omega}xf(x)dx EX~f(x)?[X]∫Ω?xf(x)dx 其中 f ( x ) f(x) f(x)為概率密度函數&#xff0c; Ω \Omega Ω為概率密度函…

1.如何對多個控件進行高效的綁定 C#例子 WPF例子

使用ObservableCollection高效為多個控件綁定數據在WPF開發中&#xff0c;數據綁定是一個非常重要的功能&#xff0c;它允許我們將UI控件與數據源進行綁定&#xff0c;從而實現數據的自動更新。當需要為多個控件綁定數據時&#xff0c;使用ObservableCollection可以大大提高開發…

JSONLines和JSON數據格式使用教程

文章目錄 一、核心區別二、JSONLines 的優勢三、Python 中使用 JSONLines1. 寫入 JSONLines 文件2. 讀取 JSONLines 文件3. 處理大文件示例四、常見工具支持1. 命令行工具2. 編程語言庫五、適用場景選擇六、注意事項總結JSONLines(簡稱 jsonl 或 jl)和傳統 JSON 都是用于存儲…

鏈表算法之【反轉鏈表】

目錄 LeetCode-206題 LeetCode-206題 給定一個單鏈表的頭節點&#xff0c;請反轉鏈表&#xff0c;并返回反轉后的鏈表 class Solution {public ListNode reverseList(ListNode head) {// checkif (head null || head.next null)return head;// 雙指針ListNode p1 head;Li…

回溯題解——子集【LeetCode】輸入的視角(選或不選)

78. 子集 ? 一、算法邏輯講解&#xff08;逐步思路&#xff09; 邏輯講解&#xff1a; dfs(i)&#xff1a;表示從下標 i 開始&#xff0c;做“選 or 不選”的子集構造。 終止條件 if i n&#xff1a; 到達數組末尾&#xff0c;表示一種完整子集構造完成。 把當前構造路徑…

使用Electron開發跨平臺本地文件管理器:從入門到實踐

在當今數字化時代&#xff0c;文件管理是每個計算機用戶日常工作中不可或缺的一部分。雖然操作系統都提供了自己的文件管理器&#xff0c;但開發一個自定義的文件管理器可以帶來更好的用戶體驗、特定功能的集成以及跨平臺的一致性。本文將詳細介紹如何使用Electron框架構建一個…

JBHI 2025 | 潛在擴散模型賦能胸部X射線骨抑制

Abstract: 肺部疾病是全球健康面臨的一項重大挑戰&#xff0c;胸部 X 光檢查&#xff08;CXR&#xff09;因其方便性和經濟性而成為一種重要的診斷工具。 然而&#xff0c;CXR 圖像中重疊的骨結構往往會阻礙肺部病變的檢測&#xff0c;從而導致潛在的誤診。 為解決這一問題&am…

408第三季part2 - 計算機網絡 - 計算機網絡基本概念

理解然后區分一下這2個區別特點是建立連接存儲轉發的意思是A先發給B&#xff0c;B再發給C&#xff0c;就這樣這里缺點比如A很大&#xff0c;你給B緩存開銷大還需要排序然后形象的圖題目分組頭部要放一些源地址和目的地址這些東西以后發數據只會往近的發&#xff0c;不可能往下面…

互補功率放大器Multisim電路仿真——硬件工程師筆記

目錄 1 互補功率放大器基礎知識 1.1 工作原理 1.2 電路結構 1.3 優點 1.4 缺點 1.5 應用 1.6 總結 2 OCL乙類互補功率放大電路 2.1 電路結構 2.2 工作原理 2.3 優點 2.4 缺點 2.5 總結 3 OCL甲乙類互補功率放大電路 3.1 電路結構 3.2 工作原理 3.3 優點 3.4 …

【1】確認安裝 Node.js 和 npm版本號

搭建前端項目時需要安裝 Node.js 和 npm&#xff0c;主要是因為它們提供了一些重要的功能和工具&#xff0c;幫助開發者高效地開發、構建和管理項目。一、具體原因如下&#xff1a; Node.js&#xff1a;JavaScript 運行環境 Node.js 是一個基于 Chrome V8 引擎的 JavaScript 運…

7、從網絡中獲取數據

目錄 訂閱網絡狀態變化創建網絡對象獲取默認激活網絡及其能力可訂閱事件可訂閱事件——網絡可用事件可訂閱事件——網絡阻塞狀態事件可訂閱事件——網絡能力變化事件可訂閱事件——網絡連接信息變化事件可訂閱事件——網絡丟失事件常見事件訂閱場景 開發流程 使用HTTP訪問網絡發…

搭建個人博客系列--docker

因為后續所有的組件都會在docker上安裝&#xff0c;所以要先安裝docker。一、安裝docker1.配置yumyum install -y yum-utilsyum makecache fast2.卸載老dockeryum remove docker3.配置鏡像地址yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos…

【Note】《Kafka: The Definitive Guide》 第5章:深入 Kafka 內部結構,理解分布式日志系統的核心奧秘

《Kafka: The Definitive Guide》 第5章&#xff1a;深入 Kafka 內部結構&#xff0c;理解分布式日志系統的核心奧秘 Apache Kafka 在表面上看似只是一個“分布式消息隊列”&#xff0c;但其背后的存儲架構、分區機制、復制策略與高性能設計&#xff0c;才是它在千萬級 TPS 場景…

當“漏洞”成為雙刃劍——合法披露與非法交易的生死線在哪里?

首席數據官高鵬律師數字經濟團隊創作&#xff0c;AI輔助 一、一場“漏洞”的博弈&#xff1a;從“手術刀”到“毒藥”的分界 2025年夏&#xff0c;某電商平臺因系統漏洞被曝光&#xff0c;引發輿論風暴。白帽子甲在發現漏洞后&#xff0c;第一時間聯系平臺技術團隊&#xff0…

Hadoop 分布式存儲與計算框架詳解

Hadoop開發實戰:https://www.borimooc.com/course/1004.htm hadoop是適合海量數據的分布式存儲&#xff0c;和分布式計算的框架 hadoop有三大組件: mapreduce&#xff1a;適合海量數據的分布式計算&#xff0c;分為map階段、shuffle階段和reduce階段hdfs&#xff1a;分布式文…

LeetCode 2099.找到和最大的長度為 K 的子序列:自定義排序

【LetMeFly】2099.找到和最大的長度為 K 的子序列&#xff1a;自定義排序 力扣題目鏈接&#xff1a;https://leetcode.cn/problems/find-subsequence-of-length-k-with-the-largest-sum/ 給你一個整數數組 nums 和一個整數 k 。你需要找到 nums 中長度為 k 的 子序列 &#x…