小编Dam*_*ien的帖子

在 flutter 中强制重建有状态子部件

假设我有一个主屏幕(有状态小部件),其中有一个变量count作为状态。在此主屏幕中,有一个按钮和另一个有状态小部件(我们称之为MyListWidget。根据变量的值MyListWidget初始化它自己的小部件。显然,如果您更改和的值,则不会发生任何事情,因为它创建了值中。我怎样才能强制重建?我知道在这个例子中我们可以移动我们在方法中所做的事情。但在我真正的问题中,我无法移动我在方法中所做的事情。initStatecountcountSetStateMyListWidgetinitStateMyListWidgetinitStatebuildinitStatebuild

这是完整的代码示例:

import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: MyHomePage(),
    );
  }
}

class MyHomePage extends StatefulWidget {
  MyHomePage({Key? key}) : super(key: key);

  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  int count = 5;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
        body: Row(
      children: [
        Expanded( …
Run Code Online (Sandbox Code Playgroud)

stateful dart flutter

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

边框和小部件之间的颤动填充

我正在尝试使用 Flutter 创建一个带有图标和标题的卡片小部件。但是我无法在卡片边框和小部件之间添加一些边距。

这是我的卡代码:

class MyCard extends StatelessWidget{
  MyCard({this.title, this.icon});

  final Widget title;
  final Widget icon;

  @override
  Widget build(BuildContext context) {
  return new Container(
    padding: EdgeInsets.only(bottom: 20.0),
    child: new Card(
      child: new Row(
        children: <Widget>[
          this.icon,
          new Container(
            width: 20.0, //I also don't know if this is legal
          ),
          this.title
        ]
      )
    )
    );
  }
}
Run Code Online (Sandbox Code Playgroud)

这就是结果,但我想在卡片内部有更多的填充,以便有更高的卡片和更多的图标在右边。

结果

flutter

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

在python中获取组合框的值

我正在开发一个简单的程序,我需要从Combobox. 当 is 在第一个创建的窗口中时,这很容易Combobox,但是例如,如果我有两个窗口并且Combobox在第二个窗口中,我无法从中读取值。

例如 :

from tkinter import *
from tkinter import ttk

def comando():
    print(box_value.get())

parent = Tk() #first created window
ciao=Tk()     #second created window
box_value=StringVar()
coltbox = ttk.Combobox(ciao, textvariable=box_value, state='readonly')
coltbox["values"] = ["prova","ciao","come","stai"]
coltbox.current(0)
coltbox.grid(row=0)
Button(ciao,text="Salva", command=comando, width=20).grid(row=1)
mainloop()
Run Code Online (Sandbox Code Playgroud)

如果我将小部件的父级更改为父ciao级,它就可以工作了!谁能给我解释一下吗?

python combobox tkinter ttk

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

Android工作室1.4和矢量图像

今天我最新的android studio到1.4版本.我在changelog中看到你可以用api <21编译带有矢量图像的应用程序.我试过了.我将gradle版本从1.3.0更改为1.4.1并实现了矢量图像而不是栅格.在构建过程中,我收到此错误:

Error:Execution failed for task ':app:transformClassesWithDexForDebug'.
> com.android.build.transform.api.TransformException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.8.0_51\bin\java.exe'' finished with non-zero exit value 2
Run Code Online (Sandbox Code Playgroud)

对不起,我的英语不好.我希望你明白.提前致谢.

android vector android-studio

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

将监听器附加到scrollController

我正在 flutter 中使用 DraggableScrollableSheet,我想知道该工作表是折叠还是展开。DraggableScrollableSheet 的构建器提供了一个scrollController,我向其附加了一个侦听器。

我看到这个有用的指南,但他们创建了一个 ScrollController,但在我的例子中,scrollController 是由构造函数提供的。我不明白我怎样才能获得他们相同的行为

这是我的代码:

class MyHomePage extends StatefulWidget {
  @override
  _MyHomePageState createState() => new _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: SizedBox.expand(
        child: myBottomSheet()
      ),
    );
  }
}

class myBottomSheet extends StatefulWidget{
  @override
  _myBottomSheetState createState() => _myBottomSheetState();
}

class _myBottomSheetState extends State<myBottomSheet> {
  double appbarSize=0.08;
  @override
  Widget build(BuildContext context) {
    return DraggableScrollableSheet(
      maxChildSize: 0.8,
      minChildSize: appbarSize,
      initialChildSize: appbarSize,
      builder: (BuildContext context, ScrollController scrollController) {
        scrollController.addListener(_scrollListener); …
Run Code Online (Sandbox Code Playgroud)

dart flutter

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

你怎么知道 DraggableScrollableSheet 是折叠还是展开

在我的应用程序中有一个 DraggableScrollableSheet 和一个 FAB。如果 DraggableScrollableSheet 展开,我希望 FAB 不可见。我需要检查扩展事件

我尝试将侦听器附加到 scrollController 并检查 scrollController.offset 的值。但我意识到监听器是在 DraggableScrollableSheet 完全展开时触发的,而不是在此之前触发。有没有另一种方法来检查它是展开还是折叠?

  double appbarSize = 0.08;
  double offsetVisibility=100.0;
  bool FAB_visibility=true;
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      floatingActionButton: Visibility(
        visible: FAB_visibility,
        child: FloatingActionButton(
          child: Icon(Icons.add),
        ),
      ),
      body: SizedBox.expand(
          child: DraggableScrollableSheet(
        maxChildSize: 0.8,
        minChildSize: appbarSize,
        initialChildSize: appbarSize,
        builder: (BuildContext context, ScrollController scrollController) {
          _scrollListener() {
            if(FAB_visibility==false && scrollController.offset<=offsetVisibility){
              setState(() {
                FAB_visibility=true;
              });
            }
            else if(FAB_visibility==true && scrollController.offset>offsetVisibility){
              setState(() {
                FAB_visibility=false;
              });
            }
          }
          scrollController.addListener(_scrollListener);
          return Container(
            decoration: …
Run Code Online (Sandbox Code Playgroud)

dart flutter

2
推荐指数
1
解决办法
1286
查看次数

标签 统计

flutter ×4

dart ×3

android ×1

android-studio ×1

combobox ×1

python ×1

stateful ×1

tkinter ×1

ttk ×1

vector ×1