flexi_text 0.0.6 copy "flexi_text: ^0.0.6" to clipboard
flexi_text: ^0.0.6 copied to clipboard

A responsive and flexible Flutter Text widget with dynamic font scaling, optional single size, alignment, and onTap support for mobile, tablet, and desktop.

example/lib/main.dart

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

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

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'FlexiText Demo',
      home: Scaffold(
        appBar: AppBar(title: const Text("FlexiText Demo")),
        body: SingleChildScrollView(
          padding: const EdgeInsets.all(16),
          child: Column(
            crossAxisAlignment: CrossAxisAlignment.stretch,
            children: [
              // Basic usage: responsive font scaling
              FlexiText(
                title: "Basic Responsive Text",
                sizes: {300: 12, 600: 16, 1200: 24},
              ),
              const SizedBox(height: 16),

              // With style
              FlexiText(
                title: "Colored & Bold Text",
                sizes: {300: 12, 600: 18, 1200: 28},
                style: const TextStyle(
                  color: Colors.blue,
                  fontWeight: FontWeight.bold,
                ),
              ),
              const SizedBox(height: 16),

              // Single fixed size
              const FlexiText(
                title: "Fixed Size Text (20px)",
                size: 20,
                style: TextStyle(color: Colors.red),
              ),
              const SizedBox(height: 16),

              // With min/max font size
              FlexiText(
                title: "Clamped Font Size",
                sizes: {300: 5, 600: 40, 1200: 60},
                minFontSize: 12,
                maxFontSize: 36,
                style: const TextStyle(color: Colors.purple),
              ),
              const SizedBox(height: 16),

              // With alignment
              const FlexiText(
                title: "Centered Text with Alignment",
                size: 18,
                alignment: Alignment.center,
                style: TextStyle(color: Colors.orange),
              ),
              const SizedBox(height: 16),

              // With onTap
              FlexiText(
                title: "Tap Me!",
                size: 22,
                style: const TextStyle(
                  color: Colors.teal,
                  fontWeight: FontWeight.bold,
                ),
                onTap: () {
                  debugPrint("FlexiText tapped!");
                },
              ),
              const SizedBox(height: 16),

              // With semantics label for accessibility
              FlexiText(
                title: "Accessible Text",
                sizes: {300: 12, 600: 18, 1200: 24},
                semanticsLabel: "This text is labeled for accessibility",
                style: const TextStyle(color: Colors.green),
              ),
            ],
          ),
        ),
      ),
    );
  }
}
3
likes
150
points
252
downloads

Publisher

unverified uploader

Weekly Downloads

A responsive and flexible Flutter Text widget with dynamic font scaling, optional single size, alignment, and onTap support for mobile, tablet, and desktop.

Homepage
Repository (GitHub)
View/report issues

Documentation

Documentation
API reference

License

MIT (license)

Dependencies

cupertino_icons, flutter

More

Packages that depend on flexi_text