使用独立对齐和附加的 Listview 元素反应本机 Listview 网格布局

2024-04-19

我有一个关于 Listview 元素对齐的问题,这些元素应该以比行样式更盒装的样式显示。在图片中,您可以看到当前状态,这是通过使用 Listview 的 contentContainerStyle prop 中使用的样式表代码生成的:

ListViewStyle: {
  flexDirection: 'row',
  flexWrap: 'wrap',
}

我想要实现的是包装 Listview 元素,而无需在行换行后开始新行,因此 Listview 元素顶部没有空间。

知道如何实现这个漂亮又干净的效果吗?谢谢你!


有人试图做同样的事情here https://stackoverflow.com/questions/31205378/masonry-pinterest-columns-using-react-native。但基本的想法是你想要设置的子元素ListView具有不同的组件flex value.

看一下下面的代码:

import React, { Component } from 'react';
import { AppRegistry, View } from 'react-native';

class AlignItemsBasics extends Component {
  render() {
    return (
      <View style={{flex: 1, flexDirection: 'row'}}>
        <View style={{
          flex: 1,
          flexDirection: 'column',
        }}>
          <View style={{flex:1, backgroundColor: 'red'}} />
          <View style={{flex: 2, backgroundColor: 'blue'}} />
          <View style={{flex:1, backgroundColor: 'green'}} />
          <View style={{flex:3, backgroundColor: 'grey'}} />
          <View style={{flex: 2, backgroundColor: 'skyblue'}} />

        </View>
        <View style={{
          flex: 1,
          flexDirection: 'column',
        }}>
          <View style={{flex:5, backgroundColor: 'pink'}} />
          <View style={{flex: 2, backgroundColor: 'red'}} />
        </View>
      </View>
    );
  }
};

AppRegistry.registerComponent('AwesomeProject', () => AlignItemsBasics);

由于您想要具有相同宽度的两列,因此您有一个主视图,其中包含 2 个封闭视图,每个视图具有相同的宽度flex价值。在每个视图中,您可以使用不同的方式获得不同高度的图像flex价值观。我只是对组件进行硬编码,以便在下面的链接中向您展示它的外观。您可能希望将其替换为某种生成动态输入的渲染函数。

查看正在运行的代码here http://dabbott.github.io/react-native-web-player/#code=import%20React%2C%20%7B%20Component%20%7D%20from%20'react'%3B%0Aimport%20%7B%20AppRegistry%2C%20View%20%7D%20from%20'react-native'%3B%0A%0Aclass%20AlignItemsBasics%20extends%20Component%20%7B%0A%20%20render()%20%7B%0A%20%20%20%20return%20(%0A%20%20%20%20%20%20%2F%2F%20Try%20setting%20%60alignItems%60%20to%20'flex-start'%0A%20%20%20%20%20%20%2F%2F%20Try%20setting%20%60justifyContent%60%20to%20%60flex-end%60.%0A%20%20%20%20%20%20%2F%2F%20Try%20setting%20%60flexDirection%60%20to%20%60row%60.%0A%20%20%20%20%20%20%3CView%20style%3D%7B%7Bflex%3A%201%2C%20flexDirection%3A%20'row'%7D%7D%3E%0A%20%20%20%20%20%20%20%20%3CView%20style%3D%7B%7B%0A%20%20%20%20%20%20%20%20%20%20flex%3A%201%2C%0A%20%20%20%20%20%20%20%20%20%20flexDirection%3A%20'column'%2C%0A%20%20%20%20%20%20%20%20%7D%7D%3E%0A%20%20%20%20%20%20%20%20%20%20%3CView%20style%3D%7B%7Bflex%3A1%2C%20backgroundColor%3A%20'red'%7D%7D%20%2F%3E%0A%20%20%20%20%20%20%20%20%20%20%3CView%20style%3D%7B%7Bflex%3A%202%2C%20backgroundColor%3A%20'blue'%7D%7D%20%2F%3E%0A%20%20%20%20%20%20%20%20%20%20%3CView%20style%3D%7B%7Bflex%3A1%2C%20backgroundColor%3A%20'green'%7D%7D%20%2F%3E%0A%20%20%20%20%20%20%20%20%20%20%3CView%20style%3D%7B%7Bflex%3A3%2C%20backgroundColor%3A%20'grey'%7D%7D%20%2F%3E%0A%20%20%20%20%20%20%20%20%20%20%3CView%20style%3D%7B%7Bflex%3A%202%2C%20backgroundColor%3A%20'skyblue'%7D%7D%20%2F%3E%0A%0A%20%20%20%20%20%20%20%20%3C%2FView%3E%0A%20%20%20%20%20%20%20%20%3CView%20style%3D%7B%7B%0A%20%20%20%20%20%20%20%20%20%20flex%3A%201%2C%0A%20%20%20%20%20%20%20%20%20%20flexDirection%3A%20'column'%2C%0A%20%20%20%20%20%20%20%20%7D%7D%3E%0A%20%20%20%20%20%20%20%20%20%20%3CView%20style%3D%7B%7Bflex%3A5%2C%20backgroundColor%3A%20'pink'%7D%7D%20%2F%3E%0A%20%20%20%20%20%20%20%20%20%20%3CView%20style%3D%7B%7Bflex%3A%202%2C%20backgroundColor%3A%20'red'%7D%7D%20%2F%3E%0A%20%20%20%20%20%20%20%20%3C%2FView%3E%0A%20%20%20%20%20%20%3C%2FView%3E%0A%20%20%20%20)%3B%0A%20%20%7D%0A%7D%3B%0A%0AAppRegistry.registerComponent('AwesomeProject'%2C%20()%20%3D%3E%20AlignItemsBasics)%3B

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

使用独立对齐和附加的 Listview 元素反应本机 Listview 网格布局 的相关文章

随机推荐

  • Django 应用程序不从 AWS 存储桶的媒体文件夹加载图像

    我在用着django oscar 并希望使用 AWS S3 提供我的静态文件 为了配置我的 s3 存储桶 我创建了一个名为的模块aws with conf py and utils py files 在我的网站上 当我将图像上传到产品时 它
  • 如何在 Elasticsearch NEST 中序列化 JToken 或 JObject 类型的属性?

    我正在将 Elasticsearch 引入 C API 项目 我想利用现有的 API 模型作为搜索文档 其中许多模型允许添加自定义数据点 这些是使用JObject https www newtonsoft com json help htm
  • 如何从xamarin表单应用程序将图像上传到服务器

    我正在尝试使用 post 请求将图像从我的 xamarin 表单应用程序发送到 asp net core 服务器 我需要将图像保存在某个服务器文件夹中 但我做不到 这是我在 mediaFile 中选择图像后发送图像的方法 private a
  • 如何使用 Identity Server 4 颁发基于 Windows 身份验证的访问令牌

    我的目标是保护 Web API 以便客户端只能使用 IS 基于 Windows 身份验证颁发的访问令牌来访问它 我完成了这个基本示例 http docs identityserver io en release quickstarts 1
  • 全局运算符和成员运算符的区别

    定义一个接受类的两个引用的全局运算符和定义一个仅接受正确操作数的成员运算符之间有区别吗 Global class X public int value bool operator X left X right return left val
  • Tensorflow - 保存模型

    我有以下代码 在尝试保存模型时出现错误 我可能做错了什么 我该如何解决这个问题 import tensorflow as tf data labels cifar tools read data C Users abc Desktop Te
  • 如何从 JObject 获取第一个键?

    我在用Newtonsoft Json在我的项目中 我有JObject像这样 4781 Name 1 1577 Name 2 9973 Name 3 我成功解析它JObject Parse 我需要从此 JObject 获取第一个密钥 4781
  • Javascript CRC16 示例代码或实现

    有人可以分享一个链接或示例代码来实现 JavaScript 中字符串的校验和吗 预先非常感谢 你想要什么 你需要更具体 CRC16 算法数量众多 每种算法都有自己的多项式并用于特定用途 一些 CRC16 算法非常适合创建哈希 例如 对于 R
  • 如何在ggplot2中实现手绘铅笔填充? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我发现了这篇关于可视化的精彩博客文章 http www darkhorseanalytics com b
  • 进程的异步生成:设计问题 - Celery 或 Twisted

    全部 我正在寻求意见 指导 和设计理念 我的目标是找到一种精简但可靠的方法来从 HTTP POST 获取 XML 有效负载 这部分没有问题 对其进行解析 并异步生成一个相对寿命较长的进程 生成的进程是 CPU 密集型进程 将持续大约三分钟
  • Excel:如果在另一列中发现重复的单元格值,则突出显示绿色

    有人可以帮助我 我不知道该使用什么公式 我突出显示了图片中的单元格以展示我的意思的示例 What I want to do is highlight the cell in column A where the value matches
  • Python OrderedDict 不保持元素顺序[重复]

    这个问题在这里已经有答案了 我正在尝试创建一个 OrderedDict 对象 但我一创建它 元素就变得混乱了 这就是我所做的 from collections import OrderedDict od OrderedDict 0 0 2
  • Sublime Text 默认保存选项

    为什么当我在 Sublime Text 3 中保存文件时 默认保存位置是 Sublime 安装目录 为什么默认文件类型是什么 我想将默认保存位置设置为桌面并将默认文件类型设置为 txt 我该如何执行此操作 这是我的设置 font size
  • iOS 上的背景图像随着用户交互而闪烁 [Ionic 5]

    我正在尝试让背景图像在我正在从 Ionic 3 更新到 5 的多页 Ionic 应用程序上工作 除了加载的第一页之外 我在 iOS 上的任何页面上都遇到了闪烁的背景图像问题 我尝试实施这个解决方案 如何在 Ionic 中将图像同时放入 和
  • 应用程序在 Play 商店中上线后 Android 应用程序链接不起作用

    我已经根据以下链接实现了 Android 应用程序链接 https developer android com studio write app link indexing html https developer android com
  • 嵌套类模板特化

    A class template
  • 流星合并同一集合的光标

    在我的社交应用程序 如 FB 中 我有一个奇怪的需要 将同一集合用户的两个光标合并到一个发布中 Meteor 服务器打印此错误 发布函数为集合用户返回了多个游标 也许这在 Meteor 0 7 2 中无法完成 也许我的方法是错误的 但我发现
  • 如何在Python中获取Linux控制台窗口宽度

    python 有没有办法以编程方式确定控制台的宽度 我的意思是一行中不换行的字符数 而不是窗口的像素宽度 Edit 寻找适用于 Linux 的解决方案 不确定为什么它在模块中shutil 但它在 Python 3 3 中出现了 看 查询输出
  • 如何在 java 类方法或构造函数中插入前提条件?

    这是我正在上的 Java 课程 本书提到了前置条件和后置条件 但没有给出任何如何对其进行编码的示例 它继续讨论断言 我已经把它记下来了 但是我正在做的作业特别指出插入前提条件并用断言测试前提条件 任何帮助都会很棒 像 Eiffel 这样的语
  • 使用独立对齐和附加的 Listview 元素反应本机 Listview 网格布局

    我有一个关于 Listview 元素对齐的问题 这些元素应该以比行样式更盒装的样式显示 在图片中 您可以看到当前状态 这是通过使用 Listview 的 contentContainerStyle prop 中使用的样式表代码生成的 Lis