android_glide_view 0.0.4 copy "android_glide_view: ^0.0.4" to clipboard
android_glide_view: ^0.0.4 copied to clipboard

PlatformAndroid

A Flutter plugin for displaying images with Glide.

example/lib/main.dart

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

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

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

  @override
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  String imageUri = '';
  final _textEditingController = TextEditingController();

  @override
  void dispose() {
    _textEditingController.dispose();
    super.dispose();
  }

  void _onChangePressed() {
    setState(() => imageUri = _textEditingController.text);
    closeKeyboard();
  }

  void closeKeyboard() {
    FocusScope.of(context).unfocus();
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          forceMaterialTransparency: true,
          title: const Text('Android Glide View'),
        ),
        body: _buildBody(),
      ),
    );
  }

  Widget _buildBody() {
    return GestureDetector(
      onTap: closeKeyboard,
      child: Padding(
        padding: const EdgeInsets.symmetric(horizontal: 16.0),
        child: Column(
          children: [
            _buildTextField(),
            const SizedBox(height: 10),
            ElevatedButton(
              onPressed: _onChangePressed,
              child: const Text('Change'),
            ),
            _buildImage(),
            const SizedBox(height: 30),
          ],
        ),
      ),
    );
  }

  Widget _buildTextField() {
    return TextField(
      controller: _textEditingController,
      decoration: InputDecoration(hintText: 'Enter image URL'),
    );
  }

  Widget _buildImage() {
    return Expanded(
      child: imageUri.isNotEmpty
          ? GlideView(key: Key(imageUri), imageUri: imageUri)
          : const Center(child: Text('Enter image URL')),
    );
  }
}