跳到主要内容
版本:Next

TouchableHighlight

提示

如果你正在寻找一种更全面、面向未来的方式来处理基于触摸的输入,可以看看 Pressable API。

用于让视图正确响应触摸的包装组件。按下时,被包装视图的透明度会降低,从而使底层颜色显示出来,让视图变暗或带有色调。

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

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

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

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

示例


参考

属性

TouchableWithoutFeedback Props

继承自 TouchableWithoutFeedback Props


activeOpacity

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

类型
number

onHideUnderlay

在底层效果隐藏后立即调用。

类型
function

onShowUnderlay

在底层效果显示后立即调用。

类型
function

ref

一个 ref 设置器,在挂载时会被分配一个 元素节点


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