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 |