ink.image_clip.1.dart 1.43 KB
Newer Older
1 2 3 4 5 6
// Copyright 2014 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

import 'package:flutter/material.dart';

7 8
/// Flutter code sample for [Image.frameBuilder].

9 10 11
void main() {
  runApp(MaterialApp(
    home: Scaffold(
12
      appBar: AppBar(title: const Text('Image.frameBuilder Sample')),
13
      body: const Center(
14
        child: ImageClipExample(
15 16 17 18 19 20 21
          image: NetworkImage('https://flutter.github.io/assets-for-api-docs/assets/widgets/puffin.jpg'),
        ),
      ),
    ),
  ));
}

22 23
class ImageClipExample extends StatelessWidget {
  const ImageClipExample({super.key, required this.image});
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56

  final ImageProvider image;

  @override
  Widget build(BuildContext context) {
    return ClipRRect(
      borderRadius: BorderRadius.circular(100),
      child: Material(
        child: Ink.image(
          fit: BoxFit.fill,
          width: 300,
          height: 300,
          image: image,
          child: InkWell(
            onTap: () {/* ... */},
            child: const Align(
              child: Padding(
                padding: EdgeInsets.all(10.0),
                child: Text(
                  'PUFFIN',
                  style: TextStyle(
                    fontWeight: FontWeight.w900,
                    color: Colors.white,
                  ),
                ),
              ),
            ),
          ),
        ),
      ),
    );
  }
}