在 Flutter 中将图像超链接到 URL

Posted

技术标签:

【中文标题】在 Flutter 中将图像超链接到 URL【英文标题】:Hyperlinking an image to an URL in Flutter 【发布时间】:2019-01-13 11:30:48 【问题描述】:

我有一张图片,点击后应重定向到网页并在浏览器中打开。

这是我用于图像的代码,我有两张图像,一张是背景,第二张是我需要超链接 URL 的地方。

@override
  Widget build(BuildContext context) 
    return Scaffold(
      appBar: AppBar(
        title: Text("About the app"),
      ),
      body: new Container(
        decoration: new BoxDecoration(
          image: new DecorationImage(
            image: new AssetImage('images/upgradedbg.png'), // Background Image
            fit: BoxFit.cover,
          ),
        ),
        child: Padding(
          padding: const EdgeInsets.fromLTRB(8.0, 110.0, 8.0, 20.0),
          child: ListView(
            children: <Widget>[
              Image.asset(
                'images/madeby.png', // On click should redirect to an URL
                width: 400.0,
                height: 180.0,
                fit: BoxFit.cover,
              )
            ],
          ),
        ),
      ),
    );
  

【问题讨论】:

【参考方案1】:

使用this plugin:

  Widget build(BuildContext context) 
    return Scaffold(
      appBar: AppBar(
        title: Text("About the app"),
      ),
      body: new Container(
        decoration: new BoxDecoration(
          image: new DecorationImage(
            image: new AssetImage('images/upgradedbg.png'), // Background Image
            fit: BoxFit.cover,
          ),
        ),
        child: Padding(
          padding: const EdgeInsets.fromLTRB(8.0, 110.0, 8.0, 20.0),
          child: ListView(
            children: <Widget>[
              GestureDetector(
                onTap: _launchURL,
                child: Image.asset(
                  'images/madeby.png', // On click should redirect to an URL
                  width: 400.0,
                  height: 180.0,
                  fit: BoxFit.cover,
                ),
              )
            ],
          ),
        ),
      ),
    );
  
  _launchURL() async 
    const url = 'https://flutter.io';
    if (await canLaunch(url)) 
      await launch(url);
     else 
      throw 'Could not launch $url';
    
  

【讨论】:

完美地完成了这项工作。谢谢!

以上是关于在 Flutter 中将图像超链接到 URL的主要内容,如果未能解决你的问题,请参考以下文章

如何在Intent ACTION_SEND中将超链接传递给Gmail?

需要帮助使用 VBA 在 excel 中将超链接插入到我计算机上的指定图片

如何在画布元素中添加超链接到图像?

超链接和图像不显示

图像/文本超链接 - HTML/CSS

如何在颤动的降价中添加超链接到文本