嗨,这是我试图通过 flutter list list-expanded实现的目标
当用户向下滑动列表时,标题保持固定,而图像滑开。我试图用一些条子来达到这种效果。
就我而言,我不能使用这样的东西,因为我列出的内容包装在自定义容器中,如下所示:
@override
Widget build(BuildContext context) {
return CustomScrollView(
slivers: <Widget>[
SliverAppBar(
flexibleSpace: SvgPicture.asset('assets/icons/school_old.svg'),
backgroundColor: Colors.black,
),
SliverList(
....
);
],
);
}
Run Code Online (Sandbox Code Playgroud)
怎样才能达到想要的效果呢?
我尝试使用 aSliverToBoxAdapter但这似乎不适用于我的情况
body: CustomScrollView(
slivers: <Widget>[
SliverAppBar(
backgroundColor: Colors.red,
flexibleSpace: Center(
child: Text('hello world'),
),
),
SliverToBoxAdapter(
child: RoundedContainer(
color: Colors.grey[900],
child: ListView.builder(
itemCount: 20,
itemBuilder: (BuildContext context, int index) {
return Padding(
padding: const EdgeInsets.only(bottom: 8),
child: RoundedContainer(
color: Colors.white,
),
);
},
)),
),
], …Run Code Online (Sandbox Code Playgroud) 你好,我试图用我的自定义控制器和监听器在 flutter 中构建一个简单的列表。这是代码
class Test2 extends StatefulWidget {
@override
_Test2State createState() => _Test2State();
}
class _Test2State extends State<Test2> {
ScrollController scrollController = ScrollController();
@override
void initState() {
scrollController.addListener((){
print('controller called');
});
super.initState();
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: ListView.builder(
controller: scrollController,
itemCount: 8,
itemBuilder: (context, index) {
return Padding(
padding: const EdgeInsets.all(8.0),
child: Container(
color: Colors.white,
height: 50,
),
);
},
));
}
}
Run Code Online (Sandbox Code Playgroud)
我的代码按预期工作,但我试图检测用户的滑动,即使没有什么可滑动的。到目前为止,如果调用用户滑动滚动侦听器时列表溢出屏幕,但是当项目列表短于屏幕尺寸时,这种情况不会发生。我怎样才能强迫听众总是听?
我注意到在 iOS 13 中全屏对话框发生了变化,从底部动画引入了一个新的幻灯片。这是一个例子
是否可以用颤振来模仿这种行为?iOS 动画不是从底部简单的幻灯片,而是还涉及背景页面。
查看flutter文档,我找到了这个类,但是,没有任何示例,我无法理解如何使用它,或者它是否是我正在搜索的内容。
谢谢
我是颤振中块模式的新手。
我的一个状态类有一个小部件列表和一个索引作为字段。我的目标是使用此状态的小部件更新动画切换器的子级。
return AnimatedSwitcher(
duration: Duration(milliseconds: 500),
child: BlocBuilder<WelcomeBloc, WelcomeBlocState>(
builder: (context, state) {
if(state is MyState)
return state.widgetList[state.index];
else return Container();
},
),
);
Run Code Online (Sandbox Code Playgroud)
我也试过相反的方法,在 bloc builder 中返回动画切换器,结果是一样的
当yield 被调用时,widget 被改变但没有任何动画。
我错过了什么?
大家好,我正在学习如何AnimatedList在 Flutter 中使用。我可以使用以下命令向列表添加和删除元素SizeTransition:
Widget _buildItem(
BuildContext context, int index, Animation<double> animation) {
return SizeTransition(
sizeFactor: animation,
axis: Axis.vertical,
child: Padding(
padding: const EdgeInsets.all(8.0),
child: Container(
height: 50,
color: Colors.orange,
child: SizedBox(
child: Center(
child: Text(displayList[index].toString()),
),
),
),
),
);
}
Run Code Online (Sandbox Code Playgroud)
现在,我无法理解如何向此过渡添加自定义曲线。这可能吗?
Hi,
I was trying to align some widgets inside a Stack in Flutter. My end result was something like:

I know that this can be easily achieved with a Row but I want to animate the position ot the two children so I'm forced to use stack.
My problem is simple:
return Container(
child: Stack(
children: <Widget>[
Align(
alignment: Alignment.centerLeft,
child: _buildSign(),
),
Align(
alignment: Alignment.centerRight,
child: _buildSign(),
),
],
),
);
Run Code Online (Sandbox Code Playgroud)
这不会像我预期的那样呈现。无论我在alignment场上放什么:Alignment.centerRight并且 …