1 widget 设置水波纹点击效果 并设置widget背景 newCenter( child:newMaterial( // 设置背景颜色 默认矩形 color:Colors.purple, child:newInkWell( //点击事件回调 onTap: () {}, //不要在这里设置背景色,for则会遮挡水波纹效果,如果设置的话尽量设置Material下面的color来实现背景色 child:newContainer( width...
创建一个包含图像和GestureDetector的组件,例如使用Container: 代码语言:txt 复制 Container( child: GestureDetector( onTap: () { // 处理点击事件的逻辑 }, child: Image.asset('assets/image.png'), ), ), 在GestureDetector的onTap回调中,可以添加处理点击事件的逻辑。例如,可以使用Navigator组件来进行页面跳转...
它们除了依赖于自身的配置信息(在父节点构建时提供)外不再依赖于任何其他信息。比如典型的Text、Row、Column、Container等,都是StatelessWidget。它的生命周期相当简单:初始化、通过build()渲染。 2 StatefulWidget: 在生命周期内,该类Widget所持有的数据可能会发生变化,这样的数据被称为State,这些拥有动态内部数据的Widget...
),body:Center(child:Stack(alignment:Alignment.center,children:<Widget>[GestureDetector(onTapDown:(details){print("outer click");},child:Container(width:200,height:200,color:Colors.yellow,// 当Container里面包裹另外一个Container的时候,就算里面的Container也设置...
这里要说明的是,onVerticalXXX/onHorizontalXXX 和 onPanXXX 不能同时设置。如果同时需要水平、竖直方向的移动,使用 onPanXXX。 如果读者希望在用户点击的时候能够有个水波纹效果,可以使用 InkWell,它的用法跟 GestureDetector 类似,只是少了拖动相关的手势(毕竟,这个水波纹效果只有在点击的时候才有意义)。
typedef void OnItemClickListener(UserInfo info); 接下来创建EntryItem无状态小部件,定义两个成员变量userInfo和onItemClickListener: ///根据UserInfo构建一个条目内容: Widget _buildTiles(UserInfo root) { if (root.children.isEmpty) ///展开的内容item return new Container( padding: const EdgeInsets.all(...
onItemClickListener}) : super(key: key); @override Widget build(BuildContext context) { var headIcon = Container(//左边头部 decoration: BoxDecoration( color: Colors.white, shape: BoxShape.circle, boxShadow: [ BoxShadow( color: Colors.grey.withOpacity(0.3), offset: Offset(0.0, 0.0), blur...
child:Container( height:40, child:Text("掏粪男孩"), ), //item 点击事件 onTap: (){ print("点击到第"+index.toString()); setState(() { onItemClick(index); }); }, //item 长按事件 onLongPress: (){ setState(() { _onItemLongPressed(index); ...
}WidgetgetItem(int index){returnGestureDetector(child:Container(height:40,child:Text("掏粪男孩"), ),//item 点击事件onTap: (){print("点击到第"+index.toString());setState(() {onItemClick(index); }); },//item 长按事件onLongPress: (){setState(() {_onItemLongPressed(index); ...
child: Container(width:200, height:100, color: Colors.yellow), ) 在这个例子中,我们定义了一个VerticalDragGestureRecognizer,并为其设置了onStart、onUpdate和onEnd回调。 三、总结 Flutter通过提供丰富手势识别器和触摸事件处理组件,使得开发者能够轻松地响应用户的各种触摸行为。合理地使用这些工具,不仅可以提升用...