跳到主要内容

TouchableNativeFeedback

提示

如果你正在寻找一种更全面且更具未来兼容性的触摸交互处理方式,请查看 Pressable API。

一个用于使视图正确响应触摸事件的包装器(仅限 Android)。在 Android 上,此组件使用原生状态 drawable 来显示触摸反馈。

目前它只支持拥有单个 View 实例作为子节点,因为它通过用另一个具有一些附加属性设置的 RCTView 节点替换该 View 实现。

原生反馈触摸的背景 drawable 可以通过 background 属性自定义。

示例


参考

属性

TouchableWithoutFeedback Props

继承自 TouchableWithoutFeedback Props


background

决定将用于显示反馈的背景 drawable 类型。它接受一个带有 type 属性的对象,以及根据 type 不同的额外数据。建议使用静态方法之一生成该字典。

类型
backgroundPropType

useForeground

设置为 true 时,会将波纹效果添加到视图的前景而非背景。这在你的子视图拥有自己背景,或者例如你正在展示图片且不希望波纹被覆盖时非常有用。

请先检查 TouchableNativeFeedback.canUseNativeForeground(),因为此功能仅在 Android 6.0 及以上版本可用。如果你在较旧版本上尝试使用,会收到警告并回退使用背景。

类型
bool

hasTVPreferredFocus
Android

电视优先焦点(请查看 View 组件文档)。

类型
bool

nextFocusDown
Android

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

类型
number

nextFocusForward
Android

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

类型
number

nextFocusLeft
Android

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

类型
number

nextFocusRight
Android

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

类型
number

nextFocusUp
Android

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

类型
number

方法

SelectableBackground()

tsx
static SelectableBackground(
rippleRadius: number | null,
): ThemeAttributeBackgroundPropType;

创建一个表示 Android 主题默认可选元素背景的对象(?android:attr/selectableItemBackground)。rippleRadius 参数控制波纹效果的半径。


SelectableBackgroundBorderless()

tsx
static SelectableBackgroundBorderless(
rippleRadius: number | null,
): ThemeAttributeBackgroundPropType;

创建一个表示 Android 主题默认无边框可选元素背景的对象(?android:attr/selectableItemBackgroundBorderless)。仅在 Android API 21 及以上版本可用。rippleRadius 参数控制波纹效果的半径。


Ripple()

tsx
static Ripple(
color: ColorValue,
borderless: boolean,
rippleRadius?: number | null,
): RippleBackgroundPropType;

创建一个表示具有指定颜色的波纹 drawable 的对象(颜色为字符串)。如果 borderless 属性为 true,波纹会渲染在视图边界之外(例如原生 ActionBar 按钮的行为)。此背景类型仅在 Android API 21+ 可用。

参数:

名称类型必填描述
colorstring波纹颜色
borderlessboolean波纹是否可以渲染在边界外
rippleRadius?number控制波纹效果的半径

canUseNativeForeground()

tsx
static canUseNativeForeground(): boolean;