小编Gir*_*ldi的帖子

存储权限请求在 Flutter 中不起作用

我正在尝试从 Flutter 访问 Android 模拟器(SDK 33)上的存储。这是我正在测试它的代码:


void test() async {
     PermissionStatus storageStatus = await Permission.storage.request();
     if (storageStatus == PermissionStatus.granted) {
         print("granted");
     }
     if (storageStatus == PermissionStatus.denied) {
         print("denied");
     }
     if (storageStatus == PermissionStatus.permanentlyDenied) {
         openAppSettings();
     }
 }

Run Code Online (Sandbox Code Playgroud)

我已在 AndroidManifest.xml 中包含“android.permission.WRITE_EXTERNAL_STORAGE”权限。

我尝试授予相机权限并且它有效,但它不适用于存储。

当我检查存储权限状态时,它被永久拒绝,并且当应用程序的设置打开时,它显示“没有请求权限”。

我尝试运行“flutter clean”,这在更新清单时似乎是必要的。

我尝试过从手机卸载并重新安装该应用程序

我如何解决它?

android dart flutter

11
推荐指数
2
解决办法
7797
查看次数

WooCommerce:仅在商店中展示销售产品

我需要创建一个产品存档页面(通常是WooCommerce中Shop页面),但显示ON SALE产品.基本上,它应该使用相同的模板布局为中.主菜单中将有一个指向此页面的链接.我该怎么做?archive-product.php

UPDATE

我设法过滤掉了SALE产品,下面的代码位于if ( have_posts() ) :线上方......

$args = array(
    'post_type'      => 'product',
    'order'          => 'ASC',
    'paged'          => $paged,
    'meta_query'     => array(
        array(
            'key'           => '_sale_price',
            'value'         => 0,
            'compare'       => '>',
            'type'          => 'numeric'
        )
    )
);

query_posts( $args );
Run Code Online (Sandbox Code Playgroud)

代码放在我命名并作为页面模板制作的副本中.archive-product.phparchive-product_sale.php

但是,这仅适用于Simple产品类型,我需要它适用于Simple产品和Variable产品类型.

wordpress product archive shop woocommerce

10
推荐指数
3
解决办法
4万
查看次数

Dart:构造函数的扩展运算符

在我的flutter应用程序中,我有如下小部件:

Container(
  decoration: BoxDecoration(
    border: Border.all(
      color: Colors.red,
      width: 2,
      style: BorderStyle.solid,
    ),
  ),
  child: Text('Container 1'),
)
Run Code Online (Sandbox Code Playgroud)
Container(
  decoration: BoxDecoration(
    border: Border(
      top: BorderSide(
        color: Colors.red,
        width: 2,
        style: BorderStyle.solid,
      ),
    ),
  ),
  child: Text('Container 2'),
)
Run Code Online (Sandbox Code Playgroud)

两者的边框使用相同的属性。所以我想知道是否有一种类似扩展运算符方法可以为两个小部件插入相同的属性?也许像:

const borderBase = (
  color: Colors.red,
  width: 2,
  style: BorderStyle.solid,
)

Container(
  decoration: BoxDecoration(
    border: Border.all(
      ...borderBase,
    ),
  ),
  child: Text('Container 1'),
)

Container(
  decoration: BoxDecoration(
    border: Border(
      top: BorderSide(
        ...borderBase,
      ), …
Run Code Online (Sandbox Code Playgroud)

constructor properties dart spread-syntax flutter

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

在 Flutter 中使用 pushNamed 导航后如何使 OverlayEntry 消失

我试图让一个覆盖如这里显示: https://www.didierboelens.com/2018/06/how-to-create-a-toast-or-notifications-notion-of-overlay/ 使用OverlayEntry

import 'package:flutter/material.dart';
import 'dart:async';

class ShowNotificationIcon {

    void show(BuildContext context) async {
        OverlayState overlayState = Overlay.of(context);
        OverlayEntry overlayEntry = new OverlayEntry(builder: _build);

        overlayState.insert(overlayEntry);
    }

    Widget _build(BuildContext context){
      return new Positioned(
        top: 50.0,
        left: 50.0,
        child: new Material(
            color: Colors.transparent,
            child: new Icon(Icons.warning, color: Colors.purple),
        ),
      );
    }
}
Run Code Online (Sandbox Code Playgroud)

调用:

ShowNotificationIcon _icon = new ShowNotificationIcon();

_icon.show(context);
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试导航到其他屏幕时,叠加层仍保留在屏幕中。

如何仅在被调用的屏幕中显示覆盖而不在其他屏幕中显示?

以防万一,这是我在有状态小部件中尝试过的:

  ShowNotificationIcon _icon = new ShowNotificationIcon();

  @override
  void initState() {
    WidgetsBinding.instance.addPostFrameCallback((_) {
      _icon.show(context);
    });

    super.initState();
  } …
Run Code Online (Sandbox Code Playgroud)

overlay flutter

4
推荐指数
1
解决办法
4922
查看次数

Prestashop - 将库存转移到其他仓库时创建交货单

  1. 将库存从一个仓库转移到另一个仓库(库存>库存管理 - > 操作>转移)时,我需要创建某种带有转移号码转移单(就像交货单一样)(例如转移#TR000008)股票).

  2. 我想在Stock Move 列中显示转移号码(例如#TR000008).

  3. 并且,如果可能的话,我想将LABEL"转移到另一个仓库"更改为"转移到[此处的仓库名称] ".

我有什么方法可以破解PrestaShop来做上述事情?

非常感谢帮助.

更新:

如果no.1太难了,也许只是给我一个在Stock Transfer表单中添加额外输入字段的方法,这样我就可以手动输入转移号码.

注意:

我真的需要帮助才能根据@soulseekah提供的方向获得完整的工作代码.

PS:我正在使用Prestashop 1.5.2.0

prestashop stock prestashop-1.5

3
推荐指数
1
解决办法
1095
查看次数