FlutterFlutter

Flutter 如何添加点击事件

2020-07-07  本文已影响0人  90后的晨仔

通过查看官方文档有三中方法添加点击事件,分别为:InkWell,GestureDetector,RaisedButton

Snip20200707_2.png
  InkWell(
            child: buildButtonColum(Icons.call, 'CALL'),
            onTap:(){
              print('CALL');
              },
          ),
示例代码1:
class SampleApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: GestureDetector(
          child: FlutterLogo(
            size: 200.0,
          ),
          onTap: () {
            print("tap");
          },
        ),
      ),
    );
  }
}
示例代码2:
  GestureDetector(
           child: buildButtonColum(Icons.near_me, 'ROUTE'),
            onTap: (){
              print('ROUTE');
            },
          ),
示例代码1:
@override
Widget build(BuildContext context) {
  return RaisedButton(
    onPressed: () {
      print("click");
    },
    child: Text("Button"),
  );
}
示例代码2:
          RaisedButton(
            child: buildButtonColum(Icons.near_me, 'SHARE'),
            onPressed: (){
              print('SHARE');
            },
          ),

示例代码中的buildButtonColum()方法为自定义方法。

class SampleApp extends StatelessWidget {
@override
  Widget build(BuildContext context) {

    Column  buildButtonColum(IconData icon, String label){
      Color color = Theme.of(context).primaryColor;

       return  new Column(
         mainAxisSize: MainAxisSize.min,
         mainAxisAlignment: MainAxisAlignment.center,
         children: [
           new Icon(icon, color: color,),
           new Container(
             margin: const EdgeInsets.only(top: 8.0),
             child: new Text(
               label,
               style: new TextStyle(
                 fontSize: 12.0,
                 fontWeight: FontWeight.w400,
                 color: color,
               ),
             ),
           ),
         ],
       );
    }
  }
}
上一篇 下一篇

猜你喜欢

热点阅读