gpt4 book ai didi

flutter - 如何在 Flutter 小部件中创建超链接?

转载 作者:IT老高 更新时间:2023-10-28 13:48:23 34 4
gpt4 key购买 nike

我想创建一个超链接以显示在我的 Flutter 应用程序中。

超链接应该嵌入到 Text 中。或类似的 TextView ,例如:

The last book bought is <a href='#'>this</a>

有什么提示吗?

最佳答案

只需将 InkWell 包裹在 Text 小部件周围,然后将 UrlLauncher(来自服务库)提供给 onTap 属性。安装UrlLauncher在下面使用之前作为一个 Flutter 包。

import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:url_launcher/url_launcher.dart';


void main() {
runApp(new MyApp());
}

class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new MaterialApp(
home: new Scaffold(
appBar: new AppBar(
title: new Text('UrlLauncher'),
),
body: new Center(
child: new InkWell(
child: new Text('Open Browser'),
onTap: () => launch('https://docs.flutter.io/flutter/services/UrlLauncher-class.html')
),
),
),
);
}
}

您可以为 Text 小部件提供一种样式,使其看起来像一个链接。

更新

在稍微研究了这个问题后,我发现了一个不同的解决方案来实现您要求的“在线”超链接。您可以使用 RichText Widget附上 TextSpans .

import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:url_launcher/url_launcher.dart';

void main() {
runApp(new MyApp());
}

class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new MaterialApp(
home: new Scaffold(
appBar: new AppBar(
title: new Text('UrlLauchner'),
),
body: new Center(
child: new RichText(
text: new TextSpan(
children: [
new TextSpan(
text: 'This is no Link, ',
style: new TextStyle(color: Colors.black),
),
new TextSpan(
text: 'but this is',
style: new TextStyle(color: Colors.blue),
recognizer: new TapGestureRecognizer()
..onTap = () { launch('https://docs.flutter.io/flutter/services/UrlLauncher-class.html');
},
),
],
),
),
),
),
);
}
}

这样您实际上可以突出显示一个单词并从中创建一个超链接;)

关于flutter - 如何在 Flutter 小部件中创建超链接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43583411/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com