如何在 GestureDetector 中有多个 child 和他们的 onTaps?

How to have multiple child with their onTaps within GestureDetector?

我有一个 sign-up 页面,其中包含隐私政策、条款等文本,我希望在单击这些文本时网页应该打开。 为此我使用了 GestureDetector,但问题是它仅包含一个 child

但我希望所有三个文本都在那里并且应该执行 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。 实际:只有一个child。

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

类似于Android中的Spannable字符串。

您可以尝试创建一个行小部件,其中包含您需要的文本,即隐私政策、条款等,作为其子项。然后用 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"),
            ),
          ],
        ),
      ),

输出:

希望对您有所帮助!!