react native (RN) TouchableOpacity用法總結

本組件用於封裝視圖,使其可以正確響應觸摸操作。當按下的時候,封裝的視圖的不透明度會降低。這個過程並不會真正改變視圖層級,大部分情況下很容易添加到應用中而不會帶來一些奇怪的副作用。(譯註:此組件與TouchableHighlight的區別在於並沒有額外的顏色變化,更適於一般場景)

例子:

<TouchableOpacity
   style={styles.touch}
   onPress={() => this.delCart()}
   activeOpacity={0.7}
    >
        <Text>刪除</Text>
 </TouchableOpacity>

 delCart = () => {
       console.log('點擊了刪除')

    }

onPress:按下時回調

activeOpacity:按下時背景透明度爲0.7

其餘常用屬性:

delayLongPress number 

單位是毫秒,從onPressIn開始,到onLongPress被調用的延遲。

disabled bool 

如果設爲true,則禁止此組件的一切交互。

hitSlop {top: number, left: number, bottom: number, right: number} 

這一屬性定義了按鈕的外延範圍。這一範圍也會使pressRetentionOffset(見下文)變得更大。 注意:觸摸範圍不會超過父視圖的邊界,也不會影響原先和本組件層疊的視圖(保留原先的觸摸優先級)。

pressRetentionOffset {top: number, left: number, bottom: number, right: number} 

在當前視圖不能滾動的前提下指定這個屬性,可以決定當手指移開多遠距離之後,會不再激活按鈕。但如果手指再次移回範圍內,按鈕會被再次激活。只要視圖不能滾動,你可以來回多次這樣的操作。確保你傳入一個常量來減少內存分配。

其餘屬性見官網(其屬性和TouchableWithoutFeedback相同,故此處給出的鏈接是TouchableWithoutFeedback的)

https://reactnative.cn/docs/0.31/touchablewithoutfeedback.html#content

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章