跳到主要内容

TouchableHighlight

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

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

底色来自将子组件包装在一个新的 View 中,这可能会影响布局,如果使用不当,有时会造成不必要的视觉假象,例如,如果包装视图的 backgroundColor 没有显式设置为不透明颜色。

TouchableHighlight 必须有一个子组件(不能是零个或多个)。如果您希望有多个子组件,请将它们包装在一个 View 中。

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 属性

继承自 TouchableWithoutFeedback 属性


activeOpacity

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

类型
number

onHideUnderlay

在底色隐藏后立即调用。

类型
function

onShowUnderlay

在底色显示后立即调用。

类型
function

style

类型
View.style

underlayColor

触摸激活时将透出的底色。

类型
color

hasTVPreferredFocus
iOS

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

类型
bool

nextFocusDown
Android

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

类型
number

nextFocusForward
Android

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

类型
number

nextFocusLeft
Android

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

类型
number

nextFocusRight
Android

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

类型
number

nextFocusUp
Android

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

类型
number

testOnly_pressed

方便进行快照测试。

类型
bool