我正在尝试从 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”,这在更新清单时似乎是必要的。
我尝试过从手机卸载并重新安装该应用程序
我如何解决它?
我需要创建一个产品存档页面(通常是WooCommerce中的Shop页面),但只显示ON SALE产品.基本上,它应该使用相同的模板布局为中.主菜单中将有一个指向此页面的链接.我该怎么做?archive-product.php
我设法过滤掉了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产品类型.
在我的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) 我试图让一个覆盖如这里显示:
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) 在将库存从一个仓库转移到另一个仓库(库存>库存管理 - > 操作>转移)时,我需要创建某种带有转移号码的转移单(就像交货单一样)(例如转移#TR000008)股票).
我想在Stock Move 列中显示转移号码(例如#TR000008).
并且,如果可能的话,我想将LABEL从"转移到另一个仓库"更改为"转移到[此处的仓库名称] ".
我有什么方法可以破解PrestaShop来做上述事情?
非常感谢帮助.
如果no.1太难了,也许只是给我一个在Stock Transfer表单中添加额外输入字段的方法,这样我就可以手动输入转移号码.
注意:
我真的需要帮助才能根据@soulseekah提供的方向获得完整的工作代码.
PS:我正在使用Prestashop 1.5.2.0
flutter ×3
dart ×2
android ×1
archive ×1
constructor ×1
overlay ×1
prestashop ×1
product ×1
properties ×1
shop ×1
stock ×1
woocommerce ×1
wordpress ×1