React Native - 具有动态高度子项的 FlatList

2024-01-09

我一直在努力将类似砖石的风格融入我的应用程序中。 我尝试应用react-native-masonry包裹。但是您必须传递图像网址。 我正在尝试实现相同的样式,但渲染文本而不一定渲染图像。

到目前为止,我已经解决了FlatList,但这是我所能得到的。

 <FlatList
data={[
    { id: 1, username: "user1", title: "Title test", heigth: 150 },
    {
        id: 2,
        username: "RH",
        title: "Testing the length of a title with an image",
        image: "http://localhost:5005/dummy.png",
        heigth: 300
    },
    { id: 3, username: "john", title: "Another not so long title" },
    {
        username: "CAF",
        title:
            "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
        heigth: 600
    }
]}
keyExtractor={this._keyExtractor}
renderItem={this._renderItem}
numColumns={2}
/>;

我将不同的长度硬编码到卡片上,但它们似乎坚持行上的最大高度。

这是我的卡片组件(renderItem)。

 _renderItem = ({ item }) => (
<Card style={{ height: item.heigth }}>
    <CardItem>
        <Left>
            <Text style={{ fontWeight: "bold", fontSize: 20 }}>
                {item.title}
            </Text>
        </Left>
    </CardItem>
    <CardItem cardBody style={{ marginBottom: 5 }}>
        {!isEmpty(item.image) && (
            <Image
                source={{ uri: item.image }}
                style={{ width: 170, flex: 1, height: 100 }}
            />
        )}
    </CardItem>
    <CardItem>
        <Left />
        <Body />
        <Right>
            <Text note>{item.username}</Text>
        </Right>
    </CardItem>
</Card>
);

Thanks


使用这个库,我有同样的要求。它几乎解决了这个问题。https://github.com/AppAndFlow/react-native-masonry-list https://github.com/AppAndFlow/react-native-masonry-list

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

React Native - 具有动态高度子项的 FlatList 的相关文章

随机推荐

  • 调用未定义的方法 MongoDB\Driver\ReadConcern::isDefault()

    我真的不知道问题是什么 https i stack imgur com KeeOb png class RegisterController extends Controller public function store request
  • 更改ckeditor的背景?

    如何更改用户键入文本的 CKEditor 的背景颜色 我需要动态地执行此操作 但找不到需要更改的元素 知道如何瞄准它吗 您可以尝试 CKEDITOR instances editor1 document getBody setStyle b
  • 检查密码是否包含字母数字和特殊字符

    如何检查字符串passwordText是否至少包含 1 个字母字符 1 号 1 个特殊字符 符号 尝试这个 bool result passwordText Any c gt char IsLetter c passwordText Any
  • Android 中的无效区域是什么?

    在 Android如何绘制视图 主题下 有这样一句话 绘图从根节点开始 布局 要求测量 并绘制布局树 绘图是 通过走树来处理 渲染每个相交的视图 这无效区域 而且我不太理解 无效区域 这个词 这里是引文的来源文章 http develope
  • Jquery Mobile 弹出菜单不起作用

    我正在尝试构建一个虚拟页面来理解 Jquerymobile 但我无法实现 菜单 单击页面上的菜单按钮 处理以下链接 http jquerymobile com branches popup widget docs pages popup i
  • 使用 gson 错误转换 json 预期为 BEGIN_OBJECT,但在第 1 行第 2 列路径 $ 处为 BEGIN_ARRAY

    user id 5633795 username Vorago count300 203483 count100 16021 count50 1517 playcount 1634 ranked score 179618425 total
  • 从字符串中删除换行符

    我有一个像这样的字符串 var aString This is a string n n This is the second line of the string n n 文本视图内部如下所示 This is a string This
  • async wait 与 TcpClient 的使用

    我最近开始使用新的 C 5 0 async 和 await 关键字 我以为我得到了转折 但意识到一件事让我怀疑 以下是我如何从远程 TcpClient 异步接收数据 一旦我接受连接 我就调用这个函数 static async void Re
  • 如何在查询字符串中包含特殊字符?

    URL http localhost mysite mypage param 123工作正常 但是 如果我想在其中添加一些特殊字符param like 那么 URL 就变成了http localhost mysite mypage para
  • Flutter 中的设备国家/地区

    我正在尝试在 Flutter 中获取设备国家 地区 Android 我用了本教程 https flutter dev docs development accessibility and localization international
  • 尝试在 Cloud Run 中使用 Google Cloud Storage 时调用者没有权限

    我正在尝试使用 Cloud Storage 在 Google Cloud Run 上设置 Node 项目 使用创建的服务帐户时 我遇到了身份验证问题 创建服务帐户时 我成功下载了 JSON 令牌 并使所有内容在本地开发环境中正常运行 问题是
  • 为什么 Rails 的“HashWithIn DifferentAccess”将键存储为字符串而不是符号?

    我在用enum将数据库中的整数映射到 ruby 代码中的语义值 但是我注意到它使用的键是字符串 当我检查哈希的类型时 我发现它是一个ActiveSupport HashWithIndifferentAccess 不是一个标准Hash 这是有
  • django 和 mod_wsgi 的配置问题

    我在让 django 使用 mod wsgi 在 apache 2 2 上工作时遇到问题 Django 和 mod wsgi 都已安装 我什至可以在访问路径时看到 404 页面 并且可以登录 django admin 但如果我想安装标记模块
  • 合并hdfs文件

    我在 HDFS 中有 1000 多个可用文件 命名约定为1 fileName txt to N fileName txt 每个文件的大小为 1024 MB 我需要将这些文件合并到一个 HDFS 中 并保持文件的顺序 说5 FileName
  • 在elasticsearch中计算地理距离

    我正在使用geo distance filter http www elasticsearch org guide reference query dsl geo distance filter html with tire https g
  • Autofac 和 ASP.NET Web API ApiController

    我已经在 MVC 3 中使用 autofac 一段时间了 并且很喜欢它 我最近将一个项目升级到 MVC 4 除了 Web Api ApiController 之外 一切似乎都正常工作 我收到以下异常 An error occurred wh
  • 根据 pom 中的活动配置文件更改包装

    我有一个用 Maven 编译的项目 我在 pom xml 中声明了不同的配置文件 对于其中一些配置文件 我更喜欢构建战争 而对于其他配置文件 我更喜欢罐子 我用来手动编辑 pom xml 文件并将打包变量更改为
  • iOS:Testflight 没有可供外部测试人员使用的版本

    我正在使用 testflight 作为我的应用程序的 Beta 测试工具 我已上传构建 但邀请已成功发送给内部测试人员 但没有邀请发送给外部测试人员 Below image shows both the groups has been in
  • 未捕获的引用错误:__importDefault 未定义

    我是角度新手 我在我的中遇到这个错误index component ts file 未捕获的引用错误 importDefault 未定义 附上错误截图 https i stack imgur com xUKWA png 我从 8 升级到 9
  • React Native - 具有动态高度子项的 FlatList

    我一直在努力将类似砖石的风格融入我的应用程序中 我尝试应用react native masonry包裹 但是您必须传递图像网址 我正在尝试实现相同的样式 但渲染文本而不一定渲染图像 到目前为止 我已经解决了FlatList 但这是我所能得到