跳到主要内容
版本:Next

TouchableNativeFeedback

提示

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

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

目前它只支持将单个 View 实例作为子节点,因为它的实现方式是用另一个带有一些额外属性设置的 RCTView 节点替换该 View。

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

示例


参考

Props

TouchableWithoutFeedback Props

继承自 TouchableWithoutFeedback Props


background

决定将用于显示反馈的背景 drawable 类型。它接受一个包含 type 属性的对象,以及根据 type 不同而变化的附加数据。建议使用静态方法之一来生成该字典。

类型
backgroundPropType

useForeground

设置为 true 时,将涟漪效果添加到视图前景而不是背景。如果你的某个子视图本身有背景,或者例如正在显示图片且不希望涟漪被其遮挡,这会很有用。

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

类型
bool

hasTVPreferredFocus
Android

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

方法

SelectableBackground()

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

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


SelectableBackgroundBorderless()

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

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


Ripple()

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

创建一个对象,表示具有指定颜色(字符串形式)的 ripple drawable。如果属性 borderless 的值为 true,则涟漪会在视图边界之外渲染(例如原生 actionbar 按钮的行为)。此背景类型适用于 Android API 21 及以上版本。

参数:

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

canUseNativeForeground()

React TSX
static canUseNativeForeground(): boolean;