小编Gih*_*dha的帖子

使用 AnimatedSwitcher 和 Dismissible 实现页面滑动行为

我正在努力实现 $ 主题。当我向左侧滑动(移动为右 -> 左)时,动画会正确发生,并且小部件从右侧开始并保持不变。但是,当我向右滑动时,小部件转换正在发生,但小部件开始从右侧而不是左侧出现。

我正在尝试像日历中通常那样实现滑动移动。

在此输入图像描述

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

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      home: MainPage(),
    );
  }
}

class MainPage extends StatefulWidget {
  @override
  _MainPageState createState() => _MainPageState();
}

class _MainPageState extends State<MainPage> {
  Widget child;

  @override
  void initState() {
    super.initState();
    child = Container(
      child: Center(
        child: Text(
          'Main',
          style: TextStyle(fontSize: 18.0),
        ),
      ),
    );
  }

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

flutter flutter-animation

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

如何以线程安全的方式更新控件

我有一个windows.form.userControl类,在运行时我想动态添加一些链接标签.当我在Load方法中应用此代码片段时,它完美地工作.

for (int i = 0; i < 10; i++)
     {
       linkLabel = new System.Windows.Forms.LinkLabel();
       linkLabel.Name = i.ToString();
       linkLabel.Text = i.ToString();
       linkLabel.LinkClicked += new  System.Windows.Forms.LinkLabelLinkClickedEventHandler(linkLabel_LinkClicked);
       this.Controls.Add(linkLabel);
       linkLabel.Top = top;
       top += 30;
      }
Run Code Online (Sandbox Code Playgroud)

但是,当我将此代码段移到backgroudworker doWork方法中时,它将在此行中提供与交叉线程问题相关的无效操作异常: - this.Controls.Add(linkLabel);

如何将其作为线程安全操作?我是C#的新手,我正在使用VS 2010使用C#4.0.提前感谢.

c# backgroundworker thread-safety visual-studio-2010 winforms

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