Recorte en aleteo

En gráficos por computadora, el acto de restringir el renderizado a un área en particular se llama Recorte. Como desarrolladores, utilizamos el recorte para crear interfaces de usuario personalizadas y de aspecto increíble con efectos especiales. Tenemos dos tipos de Clipping que son ClipOval y ClipRRect .

ClipOval

Un widget que recorta a su hijo usando un óvalo o un círculo.

Sintaxis: 

Dart

ClipOval(
  child : // any widget
  )

ClipRRect

Un widget que recorta a su hijo usando un rectángulo redondeado.

Sintaxis:

Dart

ClipRRect(
  borderRadius : BorderRadius.circular(20),
  child: // any widget
  )

Proyecto de ejemplo

ClipOval

Estamos usando ListView para mostrar los dos contenedores, el primero sin aplicar el widget ClipOval y el segundo aplicando la propiedad ClipOval.

Dart

import 'package:flutter/material.dart';
  
// main method
void main() => runApp(new ClippingClipOval());
  
class ClippingClipOval extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    // MaterialApp 
    return MaterialApp( 
      debugShowCheckedModeBanner: false,
      // scaffold 
      home:Scaffold( 
          // Appbar
          appBar:AppBar( 
            title:Text('Clipping Clip Oval'),
          ),
          // listview
          body:ListView(  
            children: [ 
              // Container without using of ClipOval.
              Text("Before Applying ClipOval"),
              SizedBox(height:15),
              Center(
                child: Container(
                  width:120,
                  height:120,
                  color:Colors.teal,
                ),
              ),
              Divider(), 
              // container with Appling ClipOval.
              Text("After Applying ClipOval"),
              SizedBox(height:15),
              Center(
                child:ClipOval(
                  child:Container(
                    width:120,
                    height:120,
                    color:Colors.teal,
                  ),
                )
              )
            ],
          )
      ),
    );
  }
}

Producción: 

Output

 

ClipRRect 

Estamos utilizando ListView para mostrar los dos contenedores, el primero sin aplicar el widget ClipRRect y el segundo aplicando la propiedad ClipRRect.

Dart

import 'package:flutter/material.dart';
  
void main() => runApp(new ClippingClipRRect());
  
class ClippingClipRRect extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    // MaterialApp 
    return MaterialApp( 
      debugShowCheckedModeBanner: false,
      // scaffold 
      home:Scaffold( 
          appBar:AppBar(
            title:Text('Clipping Clip ClipRRect'),
          ),
          body:ListView(
            children:[
              // Container without Appling ClipRRect.
              Text("Before Applying ClipRRect"),
              SizedBox(height:15),
              Center(
                child:Container(
                  width:120,
                  height:120,
                  color:Colors.teal,
                ),
              ),
              Divider(),
              // Container after applying ClipRRect
              Text("After Applying ClipRRect"),
              SizedBox(height:15),
              Center(
                child:ClipRRect(
                  borderRadius:BorderRadius.circular(20),
                  child:Container(
                    width:120,
                    height:120,
                    color:Colors.teal,
                  ),
                ),
              )
            ],
          )
      ),
    );
  }
}

Producción:

Output

 

Publicación traducida automáticamente

Artículo escrito por ms471841 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *