晚上好,
我已经搜索了好几个小时,但找不到解决方案。我已经设置了一个全屏图像,并使用堆栈定位了几个 GestureDetector。我已经成功地能够按下 GestureDetector 并调用一个函数。问题是,当屏幕尺寸发生变化时,无论是新手机还是旧手机,图像都会响应并覆盖全屏,但 Positioned() 当然会停留在同一位置,因此图像映射不再正确。
有没有办法让定位响应?或者也许是一种完全不同的方式来达到预期的结果?
请帮我 :)
class Overview extends StatelessWidget {
@override
Widget build(BuildContext context) {
double sh = MediaQuery.of(context).size.height;
double sw = MediaQuery.of(context).size.width;
return Scaffold(
drawer: AppDrawer(),
body: Stack(
children: <Widget>[
Container(
height: sh,
width: sw,
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage('assets/images/ang7.png'),
fit: BoxFit.cover)),
),
Positioned(
left: 10,
top: 50,
child: IconButton(
icon: Icon(Icons.menu),
iconSize: 30,
color: Colors.white,
onPressed: () => Scaffold.of(context).openDrawer(),
),
Positioned(
left: left,
top: top,
child: GestureDetector(
// child: Icon(Icons.add_circle),
onTap: () => Navigator.push(context, MaterialPageRoute(
builder: (context) {
return Amenities(
tText[page][0],
tText[page][1],
tText[page][2],
);
},
)),
child: Container(
height: 35,
width: 50,
color: Colors.blue,
),
));
),