我想当我点击按钮时,页面被关闭,但两个类都是不同的,其中一个是主页面,另一个是设置页面,我把关闭按钮放在设置页面上,像这样。
class Settings extends StatelessWidget {
@override
Widget build(BuildContext context)
return Positioned(
left: MediaQuery.of(context).size.width*0.25,
top: MediaQuery.of(context).size.height*0.001,
height: MediaQuery.of(context).size.height*0.10,
child: icon(context),
),
}
}
**icon function:**
Widget icon(BuildContext context) {
return IconButton(
icon: Icon(Icons.close),
color: Colors.white,
iconSize: MediaQuery.of(context).size.height*0.041,
onPressed: (){},
);
}
和主页面。
class MainPage extends StatefulWidget{
final double settingsMargin=1;
.
.
.
.
settingsMargin < 1
? InkWell(
onTap: () {
setState(() {
settingsMargin = 1;
});
},
child:Container( ), // I want to set the icon function but i dont know
)
: Container(),
你可以把函数传给其他页面的参数,然后你就可以直接调用该函数了,希望对你有帮助。
class Settings extends StatelessWidget {
final Function callback;
Settings(this.callback);
@override
Widget build(BuildContext context)
return Positioned(
left: MediaQuery.of(context).size.width*0.25,
top: MediaQuery.of(context).size.height*0.001,
height: MediaQuery.of(context).size.height*0.10,
child: icon(context),
),
}
}
**icon function:**
Widget icon(BuildContext context) {
return IconButton(
icon: Icon(Icons.close),
color: Colors.white,
iconSize: MediaQuery.of(context).size.height*0.041,
onPressed: (){
callback();
},
);
}