React Native 溢出 Touchable 在 Android 中不起作用

Posted

技术标签:

【中文标题】React Native 溢出 Touchable 在 Android 中不起作用【英文标题】:React Native Overflow Touchable is Not Working in Android 【发布时间】:2019-06-28 00:57:11 【问题描述】:

请看看我的Expo Snack。

下拉项在 ios 中是可触摸的,但在 android 中是不可触摸的。固定容器的高度(灰色框)会导致此问题,但我需要为工具栏保持固定高度。

我尝试过使用react-native-view-overflow 包,但没有成功。它需要react-native link,同时我无法弹出我的项目,因为我正在使用一些Expo包,如果我弹出它们会损坏。

有什么建议可以让 Android 中的下拉项目可触摸吗?

【问题讨论】:

【参考方案1】:

我更改了您的代码,请检查:Snack link

这解决了您的问题,但您可以更新您的 react-native 版本以包含此 commit,它添加了对 Android 版 React Native 上的 overflow 样式属性的支持。

【讨论】:

你制作高度是动态的外部容器。我需要有固定的高度来创建工具栏。工具栏不应将任何内容推送到其下方。【参考方案2】:

似乎当下拉菜单展开时,它会流到视野之外,因为您已经给定了固定高度。

因此,您可以使用minHeight 属性代替height

这将确保您至少获得最小高度,并且如果需要它可以使用更高的高度,例如在您展开下拉列表时。

修正如下,

dropdownContainer: 
    width:340,
    minHeight:115,// changed this from height:115
    ...
    ...
  ,

【讨论】:

我需要固定高度,工具栏不应该将任何内容推到它下面。

以上是关于React Native 溢出 Touchable 在 Android 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

React Native开发React Native控件之Touchable*系列组件详解(18)

React Native之Touchable四组件

React Native知识5-Touchable类组件

React Native Overflow Touchable在Android中不起作用

在 React Native 的 ListView 数据源中使用 Touchable 高亮显示

ReactNative进阶(十九):React Native按钮Touchable系列组件使用详解