跳到主要内容

TouchableHighlight

提示

如果你正在寻找一种更全面且面向未来的触摸输入处理方式,请查看 Pressable API。

用于使视图正确响应触摸的包装器。按下时,包装视图的不透明度会降低,从而使底层颜色透出,使视图变暗或着色。

底层来自将子元素包装在一个新的 View 中,这可能会影响布局,如果使用不当,有时还会导致不需要的视觉瑕疵,例如包装视图的 backgroundColor 未明确设置为不透明颜色。

TouchableHighlight 必须有一个子元素(不能没有,也不能多于一个)。如果你希望包含多个子组件,请将它们包装在一个 View 中。

React TSX
function MyComponent(props: MyComponentProps) {
return (
<View {...props} style={{flex: 1, backgroundColor: '#fff'}}>
<Text>My Component</Text>
</View>
);
}

<TouchableHighlight
activeOpacity={0.6}
underlayColor="#DDDDDD"
onPress={() => alert('Pressed!')}>
<MyComponent />
</TouchableHighlight>;

示例


参考

属性

TouchableWithoutFeedback Props

继承 TouchableWithoutFeedback Props


activeOpacity

确定触摸处于活动状态时包装视图的不透明度。值应介于 0 和 1 之间。默认为 0.85。需要设置 underlayColor

Type
number

onHideUnderlay

底层隐藏后立即调用。

Type
function

onShowUnderlay

底层显示后立即调用。

Type
function

ref

在挂载时,将被分配一个 element node 的 ref setter。


style

Type
View.style

underlayColor

触摸处于活动状态时将透出的底层颜色。

Type
color

hasTVPreferredFocus
iOS

(仅限 Apple TV) TV 首选焦点(请参阅 View 组件的文档)。

Type
bool

nextFocusDown
Android

TV 向下的下一个焦点(请参阅 View 组件的文档)。

Type
number

nextFocusForward
Android

TV 向前的下一个焦点(请参阅 View 组件的文档)。

Type
number

nextFocusLeft
Android

TV 向左的下一个焦点(请参阅 View 组件的文档)。

Type
number

nextFocusRight
Android

TV 向右的下一个焦点(请参阅 View 组件的文档)。

Type
number

nextFocusUp
Android

TV 向上的下一个焦点(请参阅 View 组件的文档)。

Type
number

testOnly_pressed

便于快照测试。

Type
bool