如何在GestureDetector中通过onTaps养育多个孩子?

时间:2019-06-20 10:06:39

标签: flutter dart gesturedetector

我有一个注册页面,其中包含诸如隐私权政策,条款等文本,我希望单击这些文本网页后即可打开。 我为此使用了GestureDetector,但问题是它只包含一个孩子

但是我希望所有三个文本都在那里,并且应该执行Onclick或此处的onTap。

有什么主意吗?

          GestureDetector(
                onTap: () => launch(
                    'https://docs.flutter.io/flutter/services/UrlLauncher-        class.html'),
                child: Text('Terms of use,',
                    style: TextStyle(
                        color: Colors.blueAccent,
                        fontSize: 18.0,
                        fontWeight: FontWeight.bold)),
              )           

预期:GestureDetector内所有带有onTap的三个文本。 实际:那里只有一个孩子。

2 个答案:

答案 0 :(得分:0)

Flutter目前不直接支持。但是您可以使用RichText来实现要求。

它类似于Android中的Spannable字符串。

答案 1 :(得分:0)

您可以尝试创建一个行小部件,其中包含所需的文本(即隐私策略,条款等)作为其子级。然后用GestureDetector小部件包装Text小部件。下面是一个代码段:

Container(
        alignment: Alignment.center,
        child: Row(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            GestureDetector(
              onTap: (){
                print("Privacy policy");
              },
              child: Text("Privacy policy, "),
            ),
            GestureDetector(
              onTap: (){
                print('Terms');
              },
              child: Text("Terms, "),
            ),
            GestureDetector(
              onTap: (){
                print('Contact Us');
              },
              child: Text("Contact Us"),
            ),
          ],
        ),
      ),

输出:

enter image description here

enter image description here

希望这会有所帮助!