Flutter – Widget de banner

El widget de banner viene integrado con la API de flutter. Es algo similar al banner de depuración que estamos acostumbrados a ver en la esquina superior derecha de una aplicación flutter en modo de depuración. Nos permite mostrar un mensaje o texto encima de cualquier otro widget. A continuación veremos su implementación con la ayuda de un ejemplo y todas sus propiedades.

Constructor de la clase Banner:

const Banner(
{Key key,
Widget child,
@required String message,
TextDirection textDirection,
@required BannerLocation location,
TextDirection layoutDirection,
Color color: _kColor,
TextStyle textStyle: _kTextStyle}
)

Propiedades del widget de banner:

  • child: Esta propiedad toma un widget como objeto para colocarlo en el banner.
  • color: Esta propiedad asigna un color de fondo al banner tomando como objeto la clase Color .
  • layoutDirection: esta propiedad toma la clase TextDirection como el objeto que determina la dirección en la que se colocarán los widgets secundarios en el widget Banner .
  • ubicación: esta propiedad controla la ubicación del banner tomando la enumeración BannerLocation como el objeto.
  • mensaje: Esta propiedad toma como objeto un valor de String para determinar el texto a mostrar en el banner.
  • textDirection: esta propiedad nuevamente toma TextDirection como el objeto para determinar la dirección del texto que puede ser rtl a ltr .
  • textStyle: esta propiedad es responsable del estilo del texto en el widget Banner . Toma la clase TexStyle como el objeto.

Ejemplo:

Dart

import 'package:flutter/material.dart';
 
//Material design library
void main() {
  runApp(
    //widget tree starts here
    MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('GeeksforGeeks'),
          backgroundColor: Colors.greenAccent[400],
          centerTitle: true,
        ), //AppBar
        body: Center(
          child: Container(
            margin: const EdgeInsets.all(10.0),
            child: ClipRect(
              /** Banner Widget **/
              child: Banner(
                message: "20% off !!",
                location: BannerLocation.bottomStart,
                color: Colors.red,
                child: Container(
                  color: Colors.green[100],
                  height: 300,
                  child: Padding(
                    padding: const EdgeInsets.fromLTRB(10, 20, 10, 20),
                    child: Column(
                      children: <Widget>[
                        Image.network(
                            'https://media.geeksforgeeks.org/wp-content/cdn-uploads/20190806131525/forkPython.jpg'), //Image.network
                        const SizedBox(height: 10),
                        const Text(
                          'GeeksforGeeks',
                          style: TextStyle(
                              color: Colors.green,
                              fontSize: 40,
                              fontWeight: FontWeight.bold), //TextStyle
                        ),
                        const SizedBox(
                          height: 5,
                        ), //SizedBox
                        const Text(
                          'Fork Python Course',
                          style: TextStyle(
                              color: Colors.green,
                              fontSize: 20,
                              fontWeight: FontWeight.bold), //TextStyle
                        ), //Text
                        const SizedBox(height: 20),
 
                        // RaiseButton is deprecated and should not be used. Use ElevatedButton instead.
 
                        // RaisedButton(
                        // color: Colors.greenAccent[400],
                        // onPressed: () {},
                        // child: const Text('Register'),
                        // ) //RaisedButton
                      ], //<Widget>[]
                    ), //Column
                  ), //Padding
                ), //Container
              ), //Banner
            ), //ClipRect
          ), //container
        ), //Center
      ), //Scaffold
    ), //MaterialApp
  );
}

Producción:

Explicación: en esta aplicación de aleteo, el widget Banner es hijo de la clase ClipRect , que recorta la parte que excede el cuadro. El mensaje en el banner contiene el texto ’20 % de descuento !!’, el color es rojo y la ubicación se establece en bottomStart . El resto de la parte está en manos de la propiedad secundaria del widget Banner . La jerarquía para pasar del widget de pancarta a la columna es Pancarta > Contenedor > Relleno > Columna. Dentro del widget Columna tenemos una lista dewidgets tomados como el objeto de la propiedad de los niños . El primer elemento de la columna es una imagen de Internet, luego tenemos dos widgets de texto y un RaisedButton, todos separados por un widget de SizedBox

Publicación traducida automáticamente

Artículo escrito por ankit_kumar_ 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 *