linkfy_text 1.0.1 copy "linkfy_text: ^1.0.1" to clipboard
linkfy_text: ^1.0.1 copied to clipboard

outdated

A lightweight flutter package to linkify texts containing urls, emails and hashtags.

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:linkfy_text/linkfy_text.dart';

var scaffoldMessengerKey = GlobalKey<ScaffoldMessengerState>();
void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'linkify_text Demo',
      scaffoldMessengerKey: scaffoldMessengerKey,
      debugShowCheckedModeBanner: false,
      home: App(),
    );
  }
}

class App extends StatefulWidget {
  @override
  _AppState createState() => _AppState();
}

class _AppState extends State<App> {
  void showSnackbar(String msg) {
    scaffoldMessengerKey.currentState!.removeCurrentSnackBar();
    scaffoldMessengerKey.currentState!
        .showSnackBar(SnackBar(content: Text("$msg")));
  }

  final space = SizedBox(height: 8);

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Padding(
        padding: const EdgeInsets.all(27.0),
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          crossAxisAlignment: CrossAxisAlignment.stretch,
          children: [
            Center(
                child: LinkifyText(
              "01. This text contains a url: https://flutter.dev",
              linkStyle: TextStyle(color: Colors.blue, fontSize: 16),
              onTap: (link) {
                showSnackbar(link.value!);
              },
            )),
            space,
            Center(
                child: LinkifyText(
              "02. This text contains an email hello@flutter.dev",
              linkTypes: [LinkType.email],
              linkStyle: TextStyle(color: Colors.blue, fontSize: 16),
              onTap: (link) {
                showSnackbar(link.value!);
              },
            )),
            space,
            Center(
                child: LinkifyText(
              "03. This contains an #hashtag",
              linkTypes: [LinkType.hashTag],
              linkStyle: TextStyle(color: Colors.blue, fontSize: 16),
              onTap: (link) {
                showSnackbar(link.value!);
              },
            )),
            space,
            Center(
                child: LinkifyText(
              "04. Flutter is #trending, goto https://flutter.dev to check it out. hey@pub.dev",
              textAlign: TextAlign.center,
              linkTypes: [LinkType.hashTag, LinkType.url, LinkType.email],
              linkStyle: TextStyle(color: Colors.blue, fontSize: 16),
              onTap: (link) {
                showSnackbar(link.value!);
              },
            )),
          ],
        ),
      ),
    );
  }
}
192
likes
0
points
4.04k
downloads

Publisher

unverified uploader

Weekly Downloads

A lightweight flutter package to linkify texts containing urls, emails and hashtags.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

flutter

More

Packages that depend on linkfy_text