TouchableNativeFeedback
如果您正在寻找一种更全面、更具前瞻性的处理触摸输入的方式,请查看 Pressable API。
一个包装器,可让视图正确响应触摸(仅限 Android)。在 Android 上,此组件使用原生状态可绘制对象来显示触摸反馈。
目前它只支持将单个 View 实例作为子节点,因为它通过用具有一些额外属性的 RCTView 节点实例替换该 View 来实现。
可以使用 background 属性自定义原生反馈可触摸元素的背景可绘制对象。
示例
参考
属性
TouchableWithoutFeedback Props
继承了 TouchableWithoutFeedback Props。
background
确定将用于显示反馈的背景可绘制对象的类型。它接受一个具有 type 属性的对象,以及取决于 type 的额外数据。建议使用静态方法之一来生成此字典。
| 类型 |
|---|
| backgroundPropType |
useForeground
设置为 true 可在视图的前景中添加涟漪效果,而不是在背景中。如果您的一项子视图有自己的背景,或者您正在显示图像,并且不希望涟漪被其覆盖,那么这将非常有用。
请先检查 TouchableNativeFeedback.canUseNativeForeground(),因为它仅在 Android 6.0 及更高版本上可用。如果您尝试在旧版本上使用此功能,您将收到警告并回退到背景。
| 类型 |
|---|
| 布尔值 |
hasTVPreferredFocus Android
电视首选焦点(请参阅 View 组件的文档)。
| 类型 |
|---|
| 布尔值 |
nextFocusDown Android
电视向下下一个焦点(请参阅 View 组件的文档)。
| 类型 |
|---|
| 数字 |
nextFocusForward Android
电视向前下一个焦点(请参阅 View 组件的文档)。
| 类型 |
|---|
| 数字 |
nextFocusLeft Android
电视向左下一个焦点(请参阅 View 组件的文档)。
| 类型 |
|---|
| 数字 |
nextFocusRight Android
电视向右下一个焦点(请参阅 View 组件的文档)。
| 类型 |
|---|
| 数字 |
nextFocusUp Android
电视向上下一个焦点(请参阅 View 组件的文档)。
| 类型 |
|---|
| 数字 |
方法
SelectableBackground()
static SelectableBackground(
rippleRadius: number | null,
): ThemeAttributeBackgroundPropType;
创建一个表示 Android 主题中可选择元素(?android:attr/selectableItemBackground)的默认背景的对象。rippleRadius 参数控制涟漪效果的半径。
SelectableBackgroundBorderless()
static SelectableBackgroundBorderless(
rippleRadius: number | null,
): ThemeAttributeBackgroundPropType;
创建一个表示 Android 主题中无边框的可选择元素(?android:attr/selectableItemBackgroundBorderless)的默认背景的对象。可在 Android API 级别 21+ 上使用。rippleRadius 参数控制涟漪效果的半径。
Ripple()
static Ripple(
color: ColorValue,
borderless: boolean,
rippleRadius?: number | null,
): RippleBackgroundPropType;
创建一个表示具有指定颜色(字符串)的涟漪可绘制对象。如果 borderless 属性评估为 true,则涟漪将在视图边界外部渲染(请参阅原生操作栏按钮作为此行为的示例)。此背景类型可在 Android API 级别 21+ 上使用。
参数
| 姓名 | 类型 | 必需 | 描述 |
|---|---|---|---|
| 颜色 | 字符串 | 是 | 涟漪颜色 |
| borderless | 布尔值 | 是 | 如果涟漪可以渲染到其边界外部 |
| rippleRadius | ?number | 否 | 控制涟漪效果的半径 |
canUseNativeForeground()
static canUseNativeForeground(): boolean;