TouchableNativeFeedback

TouchableNativeFeedback

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

目前它仅支持将单个View实例作为子节点,因为它通过用一些附加属性设置替换该视图与另一个RCTView节点实例来实现。

可触摸的本地反馈的背景可以根据background属性进行定制。

例:

renderButton: function() { return ( <TouchableNativeFeedback onPress={this._onPressButton} background={TouchableNativeFeedback.SelectableBackground()}> <View style={{width: 150, height: 100, backgroundColor: 'red'}}> <Text style={{margin: 30}}>Button</Text> </View> </TouchableNativeFeedback> },

属性

TouchableWithoutFeedback属性...

background?: backgroundPropType

确定将用于显示反馈的背景可绘制类型。它需要一个具有type属性和额外数据的对象,具体取决于type。建议使用其中一种静态方法来生成该字典。

useForeground?: bool

设置为true可将纹波效果添加到视图的前景,而不是背景。如果您的某个子视图具有其自己的背景,或者您正在显示图像,并且您不希望波纹被它们覆盖,这非常有用。

首先检查TouchableNativeFeedback.canUseNativeForeground(),因为这仅适用于Android 6.0及更高版本。如果您尝试在旧版本中使用此功能,您将收到警告并回退到背景。

方法

static SelectableBackground()

创建一个代表android主题默认背景的可选元素的对象(?android:attr / selectableItemBackground)。

static SelectableBackgroundBorderless()

创建一个表示android主题的无边界可选元素的默认背景(?android:attr / selectableItemBackgroundBorderless)的对象。适用于Android API级别21+。

static Ripple(color: string, borderless: boolean)

创建一个表示用指定颜色绘制波纹的对象(作为字符串)。如果属性borderless评估为true,则纹波将呈现在视图边界之外(请参阅本机操作栏按钮作为该行为的示例)。此背景类型可在Android API级别21+上使用。

参数:

名称和类型描述
colorstring波纹的颜色
borderlessboolean如果涟漪可以渲染到它的边界之外

static canUseNativeForeground()