小编pro*_*lav的帖子

Flutter:如何实现弹出对话框的命名路由导航?

如何最好地实现以下内容:我需要在智能手机上显示常规窗口,并在平板电脑上显示相同的窗口作为弹出对话框。在不同的地方有几个这样的窗户。哪个更正确:

  1. 使用Navigator.pushNamed(),在方法中捕获路由onGenerateRoute,创建自定义路由器类并确定从中显示哪个选项,或者
  2. 将逻辑保留在父窗口中,即检测其中的设备类型并执行 或Navigator.pushNamed()showDialog但这样命名路由的含义就会丢失。

flutter flutter-navigation

9
推荐指数
1
解决办法
462
查看次数

如何从 FileProvider URI 获取真实路径?

我有这个解码content://URI的代码:

Cursor cursor = null;
try {
    cursor = context.getContentResolver().query(contentUri,
                     new String[] { MediaStore.Files.FileColumns.DATA },
                     null, null, null);

    int columnIndex = cursor.getColumnIndexOrThrow(MediaStore.Files.FileColumns.DATA);
    cursor.moveToFirst();

    return cursor.getString(columnIndex);

} finally {
    if (cursor != null) {cursor.close()};
}
Run Code Online (Sandbox Code Playgroud)

但它不适用于FileProviderURI(例如下载文件的 Chrome Dev URI:)content://com.chrome.dev.FileProvider/downloads/。有没有办法获得真正的路径?

java android uri

6
推荐指数
1
解决办法
1万
查看次数

Flutter Desktop:如何隐藏窗口(并保持进程处于活动状态)?

是否可以以编程方式隐藏或关闭窗口(而不是最小化),但仍保持进程处于活动状态?这类似于Qt 中的hide()/show()方法,这是最小化应用程序到托盘的标准方法。

linux windows macos flutter flutter-desktop

6
推荐指数
2
解决办法
4763
查看次数

Compose:如何在 LazyVerticalGrid 中拉伸项目高度或创建交错网格?

我用来LazyVerticalGrid创建一个具有 96 dp 列的响应式网格,它看起来像这样:

LazyVerticalGrid(
    columns = GridCells.Adaptive(96.dp),
    horizontalArrangement = Arrangement.spacedBy(8.dp),
    verticalArrangement = Arrangement.spacedBy(8.dp),
) {
    Card {
        Column(
            horizontalAlignment = Alignment.CenterHorizontally,
        ) {
            Card {...}
            Text(title)
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

网格

但存在一个问题:由于文本换行,卡片内容可能具有不同的高度,并且卡片之间存在负空间(用红色箭头标记)。哪些解决方案可以在 Compose 中实现而无需创建自定义布局?

  1. 使其他卡的高度等于最大可用高度
  2. 像这样制作交错网格:

交错网格

android kotlin android-jetpack android-jetpack-compose

6
推荐指数
1
解决办法
2391
查看次数

如何将小部件填充到完整的可用行高

布局如下所示: 布局

这是一个Row,它在里面ListView。里面有一个ColumnText小部件、前导和尾随小部件。问题是前导小部件必须填充Row. 该Row高度由所确定的Column与所述Text窗口小部件,和前端小部件应调整到这个大小,而不是试图增加Row高度为无穷大(例如,领先的插件可以是着色的Container具有无限的高度和给定的宽度)。是否有可能做到这一点?

dart flutter

3
推荐指数
2
解决办法
820
查看次数