小编Joe*_*röm的帖子

如何将示例项目添加到 Flutter 包中?

有没有办法为包中的示例地图结构自动生成模板代码?

大多数包在包根目录中有一个 /example 文件夹,用于展示包的功能。我不确定创建示例的“最佳”方式是什么,或者它是否重要。

我是否单独创建所有文件?我是否创建一个新项目,然后将其复制到包根目录?我可以直接在项目中自动生成示例项目吗?

这是我第一次尝试创建一个包,我想第一次就把它做好。

dart dart-pub flutter flutter-dependencies

18
推荐指数
4
解决办法
3352
查看次数

为什么build.gradle中导入的存储库顺序会成败项目?

请解释为什么第一个代码给我同步错误,而第二个却没有。

allprojects {
    repositories {
        jcenter()
        google()
    }
}
Run Code Online (Sandbox Code Playgroud)

无法解决:播放服务为基础的打开文件

无法解决:play-services-tasks打开文件

更改存储库顺序同步就好了:

allprojects {
    repositories {
        google()
        jcenter()
    }
}
Run Code Online (Sandbox Code Playgroud)

有人可以给我一个原因或有根据的猜测为什么会这样吗?

android google-api build.gradle android-gradle-plugin jcenter

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

我可以在 Dart 的开关盒中使用“is”运算符吗?

我觉得这是一个愚蠢的问题,但我无法让它发挥作用。

我拥有的:

if (current is classA){
   //do stuff
   return;
}
if (current is classB){
   //do stuff
   return;
}
if (current is classC){
   //do stuff
   return;
}
Run Code Online (Sandbox Code Playgroud)

我想要的是:

switch (currentState) {
   case is classA: { 
      //do stuff
      break;
   }
   case is classB: { 
      //do stuff
      break;
   }
   case is classC: { 
      //do stuff
      break;
   }
}
Run Code Online (Sandbox Code Playgroud)

我真正想要的(科特林):

When (currentState){
   is classA -> //do stuff
   is classB -> //do stuff
   is classC -> //do stuff
}
Run Code Online (Sandbox Code Playgroud)

无论如何,我是否可以像 Kotlins When 运算符一样使用 Dart Switch,或者至少使用其他运算符 …

switch-statement dart

6
推荐指数
3
解决办法
2105
查看次数

谁应该被认为是 pubspec.yaml 中的作者?

找不到有关此的任何信息。
是项目的创建者,所有合并代码的贡献者还是项目中拥有一定数量代码的所有贡献者?

考虑一个 500 行的代码库,以及以下贡献者:

name: my_package
description: A Widget that does everything.
authors:
- Creator <creator@gmail.com> #500 lines
- Contributor1 <cont1@gmail.com> #1000 lines
- Contributor2 <cont2@gmail.com> #100 lines
- Contributor3 <cont3@gmail.com> #10 lines
- Contributor4 <cont4@gmail.com> #1 lines

homepage: https://github.com/me/my_package
version: 1.2.0
Run Code Online (Sandbox Code Playgroud)

哪些贡献者属于作者?

dart dart-pub flutter flutter-dependencies

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

如何在 Android Studio 中拍摄运行 Flutter 应用程序的移动调试设备的屏幕截图?

使用 Android Studio 开发 flutter 将 LogCat 控制台替换为运行选项卡。

这很好用,但我如何拍摄我的调试设备的屏幕截图?以前我是展开LogCat侧边菜单,点击抓图按钮,现在到处都找不到了。

screenshot usb-debugging android-studio flutter android-studio-3.0

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

如何在 Flutter 中测试应用内购买 [IAP][测试]

我使用的是 Google 的官方in_app_purchase 包,但我找不到任何有关如何在设置后在 Flutter 中测试 IAP 的信息。

Android 和 iOS 有自己的指南,但它们要求您手动添加库和代码,这与 Flutter 自动生成原生代码的方式不兼容。

Flutter 中的应用程序购买测试是否有“正确”的方法?

testing android in-app-purchase ios flutter

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

如何在 Flutter 中测试图像小部件源路径

我有以下设置:

return Container(
      child: widget.searchResult.companyLogoUrl.isEmpty
          ? Image.asset('assets/images/missing-company-logo.png')
          : Image.network(widget.searchResult.companyLogoUrl),
    )
Run Code Online (Sandbox Code Playgroud)

现在我想测试在没有提供 url 的情况下是否加载缺少的徽标图像。测试中获取Image小部件后如何获取源url或本地文件?

testWidgets('given', (tester) async {
      await tester.pumpWidget(createSearchResultCard(mockResponse));
      await tester.pumpAndSettle();
      final Image image = find.byType(Image).evaluate().single.widget as Image;
      final String source = image. // How do I get the file source?
      expect(...)
    });
Run Code Online (Sandbox Code Playgroud)

有没有办法知道哪张图片已加载?

image flutter flutter-test flutter-layout

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

为自定义小部件实现单选/复选框逻辑

我想创建两个小部件。两者都显示一个 2 列网格,其中带有可以选择/取消选择的按钮。一个应该具有单选逻辑(单选),而另一个应该具有复选框逻辑(多选)。

这是我试图在 Flutter 中重新创建的 Android 实现:

我尝试将 GridView 与 RadioListTiles 一起使用,认为我可以用自己的小部件替换 RadioButton 图标,同时保留逻辑。我看不出有什么办法可以做到这一点。我还意识到 Flutter 中的 GridView 不会自动换行它的子项,导致每个无线电图块仅占用整个单元格的前 10%。

这就是我现在所处的位置:

class RadioSelect extends StatefulWidget {
    final QuestionData question;

    RadioSelect({this.question});

    @override
    RadioSelectState createState() => RadioSelectState(question);
}

class RadioSelectState extends State<RadioSelect> {
  RadioSelectState(this._question);

  final QuestionData _question;
  final SliverGridDelegate delegate = 
    SliverGridDelegateWithFixedCrossAxisCount(crossAxisCount: 2);
  int _selectedIndex;

  @override
  Widget build(BuildContext context) {
    return GridView.builder(
      gridDelegate: delegate,
      padding: EdgeInsets.all(0),
      itemCount: _question.selectOptions.length,
      itemBuilder: (context, index) {
        return RadioListTile(
          groupValue: _selectedIndex,
          title: Text(_question.selectOptions[index]),
          value: index,
          onChanged: (newIndex) …
Run Code Online (Sandbox Code Playgroud)

android gridview radio-button dart flutter

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

如何在 Flutter 中更改 ModalBottomSheet 的投影(或阴影)

ModalBottomSheet 自动在下层屏幕上渲染阴影或阴影。

在showModalBottomSheet方法中将背景颜色设置为透明只会影响包含子窗口小部件的区域。
它不会删除模态下的阴影。

我可以删除或更改阴影的不透明度吗?

flutter bottom-sheet flutter-layout

5
推荐指数
1
解决办法
4743
查看次数

在 onActivityResult 中收到“content://”Uri 后从 MediaStore 获取 PDF?

我开始一个ACTION_GET_CONTENT意图来选择 PDF:

override fun routeToFilePicker() {
    val intent = Intent()
    intent.type = MediaType.PDF.toString()
    intent.action = Intent.ACTION_GET_CONTENT
    activity.startActivityForResult(
        Intent.createChooser(intent, "Select PDF"),
        REQUEST_CODE_PDF_PICKER
    )
}
Run Code Online (Sandbox Code Playgroud)

然后onActivityResult我尝试从 Uri ( ) 创建 PDF content//:path

override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
    if (resultCode == Activity.RESULT_OK && requestCode == REQUEST_CODE_PDF_PICKER ) {
        data?.data?.let { pdfUri: Uri ->
            val pdfFile: File = pdfUri.toFile() <-- chrash
            ...
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

pdfUri.toFile()导致致命异常:

java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=1003, result=-1, data=Intent …
Run Code Online (Sandbox Code Playgroud)

android uri mediastore kotlin android-fileprovider

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