有一天前,我决定从Pinterest为应用程序选择一个Ui来练习使用Flutter构建应用程序,但我仍然坚持使用Slider,它在水平拖动时显示"更多"和"删除"按钮.图片在右边.
我没有足够的知识来使用手势与动画相结合来创建这样的东西.这就是为什么我希望你们中的某个人可以为像我这样的人做一个例子,我们可以理解如何在ListView.builder中实现这样的东西.
来自macOS邮件App的gif示例:
我尝试从我的Flutter应用程序拨打电话.使用以下代码:
UrlLauncher.launch('tel: xxxxxxxx');
Run Code Online (Sandbox Code Playgroud)
我在github flutter repo上找到了这个函数:https://github.com/flutter/flutter/issues/4856
但这对我不起作用.这个功能仍然在颤动和哪个包中?或者有更好的选择从我的应用程序拨打电话?
如何创建容器轮播,如下例所示?
我查看了Pageview类,但这只显示一个Container并隐藏其他Container.但是我想看到容器部分左右两侧.反正有没有在Flutter这样做?
注意:当前容器应始终位于中心

编辑:Darky给出了一个非常好的例子,但我给他的代码有一个问题:
引发了以下ArgumentError构建AnimatedBuilder(动画:PageController#fc5f0(一个客户端,偏移0.0),脏,状态:_AnimatedState#1ea5c):无效参数(lowerLimit):不是数字:null -
这会被调到控制controller.page的位置.有谁知道我怎么解决这个问题?
如果您创建Scafold,则可以选择抽屉.如果您现在创建此抽屉,则会自动获得应用栏前导位置上的菜单图标.但我想在那里打开抽屉的另一个图标.我尝试在领先位置自己制作一个iconbutton但是这个按钮无法打开抽屉,即使是"Scafold.of(context).openDrawer()"也无法打开它.
是否有任何选项可以替换抽屉按钮的图标?
我使用Xcode 11.1创建了一个新的iOS单页应用程序(包括SwiftUI),并启用了Mac Catalyst。在Mac(当然是macOS 10.15)上运行新的Project之后,在窗口上点击一次后,出现以下错误。
2019-10-18 12:59:48.479186+0200 test[3130:122148] Metal API Validation Enabled
2019-10-18 12:59:50.960734+0200 test[3130:122148] [AXRuntimeCommon] Unknown client: test
2019-10-18 12:59:50.962261+0200 test[3130:122148] [AXRuntimeCommon] This class 'SwiftUI.AccessibilityNode' is not a known serializable element and returning it as an accessibility element may lead to crashes
2019-10-18 12:59:51.313 test[3130:122148] **************_____________**************AXError: AVPlayerView is not a kind of NSView
1 AccessibilityBundles 0x00007fff42ee3b69 _AXBValidationCheckIsKindOfClass + 201
2019-10-18 12:59:51.386 test[3130:122148] **************_____________**************AXError: MKStarRatingView is not a kind of NSView
1 AccessibilityBundles 0x00007fff42ee3b69 _AXBValidationCheckIsKindOfClass + 201
Run Code Online (Sandbox Code Playgroud)
注意:我还删除了沙盒功能,否则我收到有关无法编写的错误 ApplicationAccessibilityEnabled
有人知道如何解决吗?
我编写了一个插件,用于通过Dart访问Android上的ExternalStorageDirectory。
插件的android特定代码:
@Override
public void onMethodCall(MethodCall call, Result result) {
if (call.method.equals("getUserDataDirectory")) {
String path = Environment.getExternalStorageDirectory().getAbsolutePath();
result.success(path);
} else {
result.notImplemented();
}
}
Run Code Online (Sandbox Code Playgroud)
返回的路径是正确的storage/emulated/0。但是现在,如果我尝试迭代抛出目录,我将获得一个权限被拒绝。
错误日志
[ERROR:topaz/lib/tonic/logging/dart_error.cc(16)] Unhandled exception:
E/flutter ( 3381): FileSystemException: Directory listing failed, path = '/storage/emulated/0/' (OS Error: Permission denied, errno = 13)
E/flutter ( 3381): #0 _Directory._fillWithDirectoryListing (dart:io-patch/directory_patch.dart:32)
E/flutter ( 3381): #1 _Directory.listSync (directory_impl.dart:214)
E/flutter ( 3381): #2 _MyAppState.initPathRequest (/data/user/0/com.yourcompany.userdatadirectoryexample/cache/exampleIAKNFP/example/lib/main.dart:34:25)
Run Code Online (Sandbox Code Playgroud)
主镖
path = await Userdatadirectory.getUserDataDirectory;
var dir = new Directory(path);
List contents = dir.listSync(); …Run Code Online (Sandbox Code Playgroud) 在我将 XCode 更新到版本 9 后,当我想在 IOS 11 模拟器中启动应用程序时,我总是得到一个大部分相同的错误列表。到目前为止,我还没有测试过较早的 ios 版本,但 ios 10 在 XCode 更新之前运行良好。
Launching lib/main.dart on iPhone X in debug mode...
Running Xcode build...
Sep 21 22:35:18 Lukass-MBP com.apple.CoreSimulator.SimDevice.8EADD4B6-5B22-4172-8A40-C8EE4D533825[5282] (com.apple.videosubscriptionsd): Service only ran for 0 seconds. Pushing respawn out by 10 seconds.
Sep 21 22:35:18 Lukass-MBP com.apple.CoreSimulator.SimDevice.8EADD4B6-5B22-4172-8A40-C8EE4D533825[5282] (com.apple.ServerDocuments.ServerFileProvider): Unknown key for Boolean: EnableTransactions
Sep 21 22:35:18 Lukass-MBP com.apple.CoreSimulator.SimDevice.8EADD4B6-5B22-4172-8A40-C8EE4D533825[5282] (com.apple.ServerDocuments.ServerFileProvider): Unknown key for Boolean: EnablePressuredExit
Sep 21 22:35:18 Lukass-MBP com.apple.CoreSimulator.SimDevice.8EADD4B6-5B22-4172-8A40-C8EE4D533825[5282] (com.apple.imfoundation.IMRemoteURLConnectionAgent): Unknown key for Boolean: EnableTransactions
Sep 21 22:35:18 …Run Code Online (Sandbox Code Playgroud) 我是Flutter的新手,所以我正尝试加入。但是我一直在用ExpansionPanels创建一个ExpansionPanelList。就像标题所说的一样,所有内容都是在Google Flutter中创建的。
到目前为止,我的代码:
import 'package:flutter/material.dart';
class ShoppingBasket extends StatefulWidget {
@override
ShoppingBasketState createState() => new ShoppingBasketState();
}
class ShoppingBasketState extends State<ShoppingBasket> {
@override
Widget build(BuildContext context) {
return new ExpansionPanelList(
children: <ExpansionPanel>[
new ExpansionPanel(
headerBuilder: _headerBuilder,
body: new Container(
child: new Text("body"),
),
)
],
);
}
Widget _headerBuilder(BuildContext context, bool isExpanded) {
return new Text("headerBuilder");
}
}
Run Code Online (Sandbox Code Playgroud)
但是当我打开应用程序时,调试器会说:
引发了另一个异常:'package:flutter / src / rendering / box.dart':断言失败:1430行pos 12:'hasSize':不正确。