小编sha*_*mir的帖子

将现有的 Flutter Kotlin 项目转换为 Flutter Java 项目

我使用默认值创建了一个 Flutter 项目,即 Android 的 Kotlin 和 iOS 的 Swift。在项目进行到一半时,我需要集成一个需要 Java 的 3rd 方 Android SDK。创建 Flutter 项目后,我可以将其转换为 Java for Android 吗?

我知道我需要使用 Platform Channels 将本机代码与我的 Flutter 应用程序集成,这不是我关心的问题。

java android kotlin flutter

26
推荐指数
4
解决办法
9719
查看次数

如何通过读取子约束使行的子级具有相同的高度

我有一个带有委托的 SliverList,该委托为每个项目返回 Row 。设计需要这样的结果:

所需布局

这两个孩子是文本和图像。图像是 BoxFit.cover,我使用 Flex 为它们提供所需的宽度比。仅当高度大于或等于宽度边界时(以使其至少保持正方形),我才需要图像边界高度与文本高度匹配。

第一个解决方案是使用 LayoutBuilder 读取图像宽度的约束,并将图像放入 ConstrainedBox 中,minHeight 为 LayoutBuilder->constraints->maxWidth。

LayoutBuilder(
  builder: (context, constraints) => ConstrainedBox(
    constraints: BoxConstraints(
        minHeight: constraints.maxWidth,
        maxHeight: constraints.maxWidth),
    child: CachedNetworkImage(
        imageUrl: "https://via.placeholder.com/400x300",
        fit: BoxFit.cover,
      ),
  ),
)
Run Code Online (Sandbox Code Playgroud)

一切都很好,直到文本长于图像宽度,此时图像仍然是正方形并且不会拉伸到整个行高:

图像高度未填满行高

第二个解决方案是将 Row 包装在 IntrinsicHeight 小部件中。但这意味着我无法在其中使用 LayoutBuilder 。所以我删除了布局构建器,现在我无法访问设置图像最小高度的约束。图像可以很好地拉伸以填充整个行高度。直到文本太短,导致图像高度低于其宽度:

在此输入图像描述

如何构建此设计以响应可变文本高度?

constraints dart flutter flutter-layout

4
推荐指数
2
解决办法
4253
查看次数

标签 统计

flutter ×2

android ×1

constraints ×1

dart ×1

flutter-layout ×1

java ×1

kotlin ×1