跳至主内容
版本:0.79

可触摸高亮

非官方测试版翻译

本页面由 PageTurner AI 翻译(测试版)。未经项目官方认可。 发现错误? 报告问题 →

如果你正在寻找更全面且面向未来的触摸输入处理方案,请查看 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>;

示例​


参考

属性​

无触摸反馈属性​

继承无触摸反馈属性。


activeOpacity​

设置触摸激活时被包装视图的不透明度值(范围 0-1,默认 0.85)。需同时设置 underlayColor。

Type
number

onHideUnderlay​

底层隐藏后立即触发。

Type
function

onShowUnderlay​

底层显示后立即触发。

Type
function

style​

Type
View.style

underlayColor​

触摸激活时透显的底层颜色。

Type
color

hasTVPreferredFocus
iOS
​

(仅 Apple TV 适用) 电视首选焦点(请参阅 View 组件的文档)。

Type
bool

nextFocusDown
Android
​

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

Type
number

nextFocusForward
Android
​

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

Type
number

nextFocusLeft
Android
​

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

Type
number

nextFocusRight
Android
​

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

Type
number

nextFocusUp
Android
​

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

Type
number

testOnly_pressed​

用于快照测试。

Type
bool