小编dsh*_*tjr的帖子

如何根据背景图片更改文本颜色 - Flutter

我想根据背景图像更改文本(和图标)颜色以提高可见性。

我试过: 使用palette_generator包,检查背景图像的主色,并 从flutter_statusbarcolor包中使用WhiteForgroundForColor函数(返回一个bool)为我的文本(和图标)颜色选择黑色或白色。

问题:有时主色会变成空。在我的测试中,这种情况发生在黑色和白色,我不知道有什么方法可以找出哪一种。

Future<bool> useWhiteTextColor(String imageUrl) async {
  PaletteGenerator paletteGenerator =
      await PaletteGenerator.fromImageProvider(
    NetworkImage(imageUrl),

    // Images are square
    size: Size(300, 300),

    // I want the dominant color of the top left section of the image
    region: Offset.zero & Size(40, 40),
  );

  Color dominantColor = paletteGenerator.dominantColor?.color;

  // Here's the problem 
  // Sometimes dominantColor returns null
  // With black and white background colors in my tests
  if (dominantColor == null) print('Dominant Color null'); …
Run Code Online (Sandbox Code Playgroud)

textcolor dart flutter

14
推荐指数
3
解决办法
8135
查看次数

如何在 Flutter 中将图表线条颜色更改为自定义颜色代码值

我在https://pub.dartlang.org/packages/charts_flutter 中使用 chart_flutter 插件,我想更改我的 TimeSeriesChart 的线条颜色?

我现在的代码是这样的:

final chartdata = [
  charts.Series<VolumePerDay, DateTime>(
    id: 'Workout',
    colorFn: (_, __) => charts.MaterialPalette.lime.shadeDefault,
    // colorFn: (_, __) => Theme.of(context).accentColor,
    domainFn: (VolumePerDay workout, _) => workout.time,
    measureFn: (VolumePerDay workout, _) => workout.volume,
    data: data,
  )
];
return charts.TimeSeriesChart(
  chartdata,
  animate: false,
);
Run Code Online (Sandbox Code Playgroud)

我认为更改 colorFn 属性会更改颜色,但是如果我使用 MaterialPalette 注释该行并取消注释 Theme 颜色行,则会出现错误。如何使用颜色代码将图表的线条颜色设置为我选择的颜色?

charts dart flutter

11
推荐指数
1
解决办法
8528
查看次数

使用规则禁用Firebase Cloud Firestore中的查询集合

我正在使用Firebase Cloud Firestore,我想修改我的规则以限制用户查询集合.

这不应该被允许:

firestore().collection("users").get()
Run Code Online (Sandbox Code Playgroud)

但是应该允许这样做:

firestore().collection("users").doc("someUserId").get()
Run Code Online (Sandbox Code Playgroud)

目前,我的规则如下:

match /users/{userId} {
    allow read;
}
Run Code Online (Sandbox Code Playgroud)

但是此规则允许查询"用户"集合.

如何允许单个文档获取,但不允许收集查询?

javascript firebase google-cloud-firestore firebase-security-rules

10
推荐指数
1
解决办法
974
查看次数

在Flutter中创建圆角缓存图像

我想创建一个圆形图像,从网络中提取图像,并在Flutter中缓存.

这是我从网络中获取的圆形图像但未缓存图像的代码.

new Container(
    width:80.0,
    height: 80.0,
    decoration: new BoxDecoration(
    shape: BoxShape.circle,
        image: new DecorationImage(
            image: new NetworkImage('https://pbs.twimg.com/profile_images/945853318273761280/0U40alJG_400x400.jpg'),
        ),
    ),
),
Run Code Online (Sandbox Code Playgroud)

现在我找到了一个用于从网络中获取,缓存和显示图像的小部件

new CachedNetworkImage(imageUrl: 'https://pbs.twimg.com/profile_images/945853318273761280/0U40alJG_400x400.jpg')
Run Code Online (Sandbox Code Playgroud)

但是当我用这个CachedNetworkImage替换NetworkImage小部件时,它给出了一个错误,说NetworkImage不是类型图像.

如何实现可以缓存的圆形图像?

编辑:我按照答案中的建议尝试了这个,但仍然得到了同样的错误:参数类型'CachedNetworkImage'无法分配给参数类型'DecorationImage'.

              decoration: new BoxDecoration(
                shape: BoxShape.circle,
                image: new CachedNetworkImage(image: 
                      'https://pbs.twimg.com/profile_images/945853318273761280/0U40alJG_400x400.jpg'),
              ),
Run Code Online (Sandbox Code Playgroud)

dart flutter

10
推荐指数
5
解决办法
5228
查看次数

如何制作 FadeInImage 圆形?

我正在使用FadeInImageWidget 在我的应用程序中显示网络图像。由于我想使用 FadeInImage 的占位符属性,所以我不能使用NetworkImageImage.NetworkWidget。

现在我想FadeInImage循环,所以我尝试使用以下选项。

  1. 我尝试将其包裹FadeInImage在内部Container使其成为圆形,但该DecorationImage属性不允许FadeInImage
  2. 我尝试使用CircleAvatar但 backgroundImage 属性CircleAvatar 不允许FadeInImage
  3. 我尝试使用cached_network_image颤振库但面临同样的问题
  4. 我试过的最后一个选项是ClipRRect用来使它循环但仍然不起作用

以下是我的代码

Container(
      width: 50.0,
      height: 50.0,
      child: ClipRRect(
        borderRadius: BorderRadius.circular(25.0),
        child: FadeInImage(
            placeholder: AssetImage("images/alex.jpg"),
            image: NetworkImage(
                "https://cdn1.thr.com/sites/default/files/imagecache/scale_crop_768_433/2018/02/gettyimages-862145286_copy_-_h_2018.jpg")),
      ),
    );
Run Code Online (Sandbox Code Playgroud)

dart flutter

10
推荐指数
2
解决办法
6004
查看次数

Flutter - 创建值和名称数组

我正在尝试创建值和名称数组。我不知道这样做的正确方法是什么。

var send=[];       

    send=[
         'latitud': widget.lat;
    ];
Run Code Online (Sandbox Code Playgroud)

有人知道如何创建带有索引和值的数组吗?

dart flutter

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

Supabase,按外键行的列值过滤

我试图弄清楚如何在 supabase 中实现查询:

模式

CREATE TABLE cars 
(
    id SERIAL PRIMARY KEY,
    brand TEXT
);

CREATE TABLE stores 
(
    id SERIAL PRIMARY KEY,
    car INT REFERENCES car(id),
    name TEXT
);
Run Code Online (Sandbox Code Playgroud)

我想要获取所有出售品牌“x”汽车的商店

在 Supabase 中我可以这样过滤:

let { data: stores } = await supabase
  .from('stores')
  .select("*")
  .eq('name', 'Ford car shop')


// Returns
{
  id: 123456,
  car:"Ford",
  name:"Ford car shop"
}
Run Code Online (Sandbox Code Playgroud)

或者像这样加入:

let { data: stores } = await supabase
  .from('stores')
  .select(`
    *,
    cars (
      brand
    )
  `)
  .eq('name', 'Ford car shop')

// …
Run Code Online (Sandbox Code Playgroud)

sql supabase supabase-database

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

如何为 SliverAppBar 添加 Drawer

这是我的代码,从这里复制:

SliverAppBar(
  expandedHeight: 150.0,
  flexibleSpace: const FlexibleSpaceBar(
      title: Text('Available seats'),
    ),
    actions: < Widget > [
      IconButton(
        icon: const Icon(Icons.add_circle),
          tooltip: 'Add new entry',
          onPressed: () { /* ... */ },
      ),
    ]
)
Run Code Online (Sandbox Code Playgroud)

但我需要添加一个Drawer. 我怎样才能做到这一点?
我正在尝试在 Flutter 中重建我的应用程序。
将java android应用程序转换为flutter

我更换了图标,但如何创建一个Drawer

leading: IconButton(icon: Icon( Icons.menu ),onPressed: ()=>{},)
Run Code Online (Sandbox Code Playgroud)

我的完整代码

@override
  Widget build(BuildContext context) {

  return NestedScrollView(
      headerSliverBuilder: (BuildContext context, bool innerBoxIsScrolled) {
        return <Widget>[
          SliverAppBar(
            leading: IconButton(
              icon: Icon(Icons.menu),
              onPressed: () => {},
            ), …
Run Code Online (Sandbox Code Playgroud)

dart flutter flutter-sliver flutter-layout

8
推荐指数
1
解决办法
6000
查看次数

如何使用定位小部件定位在堆栈的右上角

我想将我的对象放在堆栈的右上角。这就是我所拥有的。我知道如果我将 all(LTRB) 设置为 0.0,图像将放置在中心。有没有更简单的方法可以将图像放在右上角?

Widget _buildRemoveIcon()
    {
        return Positioned(
            top:0.0,
            left:60.0,
            right: 0.0,
            bottom:0.0,
            child: Padding(
                padding: const EdgeInsets.all(8.0),
                child: new IconButton(
                        icon: Icon(
                            Icons.cancel,
                            color: Colors.red,
                            ),
                        onPressed: () {
                        }), //
                ),
            );
    }
Run Code Online (Sandbox Code Playgroud)

dart flutter

8
推荐指数
2
解决办法
8237
查看次数

删除Supabase中的关联记录

使用 Supabase 时,是否有一种干净/简单的方法可以删除所有关联记录以及某个项目?假设我有帖子,并且一个帖子可以有很多评论。当我删除帖子时,我也想删除评论。

基本上就像dependend: :destroyRails 中的东西。

const { data, error } = await supabase
  .from('posts')
  .delete()
  .match({ id: 123 })
  .options({ destroyDependent: true }) // set some option that tells Supabase to delete all associated records as well.
Run Code Online (Sandbox Code Playgroud)

javascript sql supabase supabase-database

8
推荐指数
2
解决办法
9178
查看次数