当水平为真时,百分比不适用于 FlatList 渲染项

Posted

技术标签:

【中文标题】当水平为真时,百分比不适用于 FlatList 渲染项【英文标题】:Percentage does not work with FlatList render item when horizontal is true 【发布时间】:2018-07-06 17:52:31 【问题描述】:

我想在horizontal FlatList 的渲染项上使用屏幕宽度。但是,它没有按预期工作。当horizontal 为假时,百分比值有效。但是当horizontal为真时,百分比值就不起作用了。

class App extends React.Component 
  _renderItem = ( item ) => 
    return (
      <View
        style=
          width: '100%',
          height: 100,
        >
        <Text>item.key</Text>
      </View>
    );
  ;

  render() 
    return (
      <View style=styles.container>
        <FlatList
          data=[ key: 1 ,  key: 2 ,  key: 3 ]
          renderItem=this._renderItem
          horizontal=true
        />
      </View>
    );
  

Snack link when the FlatList is horizontal

Snack link when the FlatList is NOT horizontal

【问题讨论】:

【参考方案1】:

我想我记得有人提到过类似的事情。使用维度在这里有效。见这里:https://snack.expo.io/H1-wnC5HM

我宁愿用弹性或百分比来解决它,但很好。

【讨论】:

是的,我认为这是唯一的方法。谢谢。 没有百分比的方法吗?我的意思是如果容器不适合整个屏幕,这将不起作用,因为父级没有正确的宽度(不等于屏幕宽度)。 宽度百分比在某些情况下确实有效。这只是特定于滚动视图。如果这不起作用,您始终可以使用 View 的 onLayout 属性,它将为您提供父级的宽度,您可以使用该值来设置子级的样式。如果这对您没有帮助,请发布问题并发布链接

以上是关于当水平为真时,百分比不适用于 FlatList 渲染项的主要内容,如果未能解决你的问题,请参考以下文章

当属性和数据值为真时 WPF 触发

水平进度条不适用于 Asynctask Android 下载文件?

Pine 脚本 - 当多个条件为真时输入位置

android:当缩小为真时未发送邮件

当其他可观察对象为真时,从可观察对象中获取项目

当布尔值为真时触发动画