ReactNative Touchable控制元件屬性和樣式
阿新 • • 發佈:2019-02-17
TouchableHighlight(高亮觸控)
注:TouchableHighlight只能進行一層巢狀,不能多層巢狀,如果需要多層巢狀就要用View包裝
activeOpacity:
設定元件在進行觸控時候,顯示的不透明度(取值:0 ~ 1)
onHideUnderlay:
當底層被隱藏的時候呼叫
onShowUnderlay:
當底層顯示的時候呼叫
style:可以設定控制元件的風格演示,該風格演示可以參考View元件的style
underlayColor:
當觸控或者點選控制元件的時候顯示出的顏色
ouchableOpacity(不透明觸控)
activeOpacity:
設定當用戶觸控的時候,元件的透明度(取值:0 ~ 1)
disabled:
如果為true,則禁止此元件的一切互動
hitSlop {top: number, left: number, bottom: number, right: number}:
這一屬性定義了按鈕的外延範圍。這一範圍也會使pressRetentionOffset變得更大。 注意:觸控範圍不會超過父檢視的邊界,也不會影響原先和本元件層疊的檢視(保留原先的觸控優先順序)
onLayout{nativeEvent: {layout: {x, y, width, height}}}:
當載入或者佈局改變的時候被呼叫
onLongPress:
長按
onPress:
點選
onPressIn:
按住
onPressOut:
擡起
pressRetentionOffset {top: number, left: number, bottom: number, right: number}:
在當前檢視不能滾動的前提下指定這個屬性,可以決定當手指移開多遠距離之後,會不再啟用按鈕。但如果手指再次移回範圍內,按鈕會被再次啟用。只要檢視不能滾動,你可以來回多次這樣的操作。確保傳入一個常量來減少記憶體分配
TouchableWithoutFeedback(沒有任何觸控反饋的,基本不會使用)
下面的這些屬性事件其他Touchable的元件也可以使用
delayLongPress:
用來設定按了多少毫秒後,onLongPress事件會被啟用。(預設值:500ms)
delayPressIn:
用來設定手指接觸螢幕多少毫秒後,onPressIn 事件會被啟用。(預設值:0)
delayPressOut:
用來設定手指離開螢幕多少毫秒後,onPressOut 事件會被啟用。(預設值:0)
onLongPress:
長按事件
onPressIn:
觸控進入事件
onPressOut:
觸控釋放事件
onPress
:觸控點選事件