viernes, 3 de septiembre de 2021

Slider

 Slider Flutter

Crearemos un Slider sencillo que a través de el agrandaremos una imagen


Código

class _SliderState extends State<SliderPage> {
double _valorSlider=50.0;
double _altoImagen=200;
double _anchoImagen=0;
@override
Widget build(BuildContext context) {
return Scaffold(
appBar:AppBar(
title: Text('Sliders'),
centerTitle: true,
),
body: Container(
child:Column(
children: [
_crearImagen(),
_crearSlider(),
],
),
),
);
}
Widget _crearSlider(){
return Slider(
activeColor: Colors.blue,
label: 'Tamaño de la Imagen',
value: _valorSlider,
min: 40.0,
max: 400.0,
onChanged: (valor){
setState(() {
_valorSlider=valor;
});
}
);
}
Widget _crearImagen(){
FittedBox imagenContainer=new FittedBox(
alignment: Alignment.center,
child:Container(
constraints:BoxConstraints(minHeight: 300,maxHeight: 350),
child: Image.asset('imagenes/paisaje3.jpg', width:_valorSlider ,)
)
);
return imagenContainer;
}

}

miércoles, 1 de septiembre de 2021

Inputs - Formulario

 

Input secillo TextField

Codigo

Widget _crearinputs(){
return TextField(
textCapitalization: TextCapitalization.sentences,
decoration: InputDecoration(
counter: Text('letras ${_nombre.length}'),
labelText: 'Nombre',
hintText: 'Introducir su nombre',
prefixIcon: Icon(Icons.perm_identity),
border: OutlineInputBorder()
),
onChanged: (valor){
setState(() {
_nombre=valor;
});
},
);
}


DropdownButton :Menu desplegable 



Código para input de la lista seleccionable


List<String > _Dios=['Jehova','Jesucristo','Espiritú Santo'];
Widget _crearDropdown(){
return DropdownButton(
value: _seleccionada,
items:_getOpciones(),
onChanged: ( opt) {
print(opt.toString());
setState(() {
if (opt!=null) {
_seleccionada=opt.toString();
}
});
},
);}
List<DropdownMenuItem<String>> _getOpciones(){
List<DropdownMenuItem<String>> _lista=[];
_Dios.forEach((nombre) {
_lista.add(
DropdownMenuItem(
child: Text(nombre),
value: nombre,
)
);
});
return _lista;
}



martes, 24 de agosto de 2021

Listas en Flutter (Listas estaticas, Listas dinamicas)

 Listas estáticas en flutter

Vamos a ver como se usan la listas en Flutter: crear , llenar, mostrar.....

El ejemplo a desarrollar es una lista sencilla de contactos basada en una lista estática 

Código

Se definen las listas estáticas:''colores" y "nombres"la de colores simplemente para darle algún efecto visual al ejemplo y la lista de  nombres de los contactos: 

class AvatarPage extends StatelessWidget {
@override
List colores=[Colors.deepOrange[200],Colors.greenAccent[200],Colors.purpleAccent[200]];
final List<String> nombres= ['Dios Mio', 'Jesucristo', 'Espíritu Santo','Lili','Hector mi kukito'];

El juego comienza en el body; donde se crea un Widget ListView que llama a un método
_crearLista que crea los items,en particular me gusta dividir el código para poder entender
el arbor de Widget,
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Avatar page',),
actions: [
],
centerTitle: true,
),
//ejemplo lista de contactos
body: Container(
//color: Colors.greenAccent[200],
padding: EdgeInsets.all(10.0),
child: ListView(
children: _crearLista(),
),
) ,
);
}

Llenar la lista : consiste en iterar la lista estática nombres que tenemos y por cada nombre crear
un container que contendrá un item de la lista. el método _ItemLista se le pasa por parámetro
un nombre y un color, este container sera agregado a una lista de widget.
//Creando la lista estatica de Widget
List<Widget> _crearLista(){
int _i=0;
List<Widget> listaContactos=[];
for (var item in nombres) {
final widgetTemp=Container(
decoration: _estiloListTile(),
padding: EdgeInsets.all(0.0) ,
child: _itemLista(item,_i),
);
listaContactos.add(widgetTemp);
_i++;
if(_i>2){
_i=0;
}
}
return listaContactos;
}

Este segmento del código crea un ListTile , que continenel circulo de color
que se llama
leading y el nombre del contacto.
//creando un item de la lista
ListTile _itemLista(String nombreContacto, int index){
return ListTile(
title: Text(nombreContacto),//aqui voy a poner los nombre
leading:CircleAvatar(
child:Icon(
Icons.accessibility,
color: Colors.white,
), ///aqui tienes que poner las fotos
backgroundColor: colores[index],
),
enabled: true,
onTap: (){
print('estoy haciendo click');
},
);
}
el código siguiente es para darle algo de estilo a los items de la lista.
BoxDecoration _estiloListTile(){
return BoxDecoration(
color: Colors.grey[100],
border: Border(
bottom: BorderSide(width: 1.0, color: Colors.grey.shade300,)
)
);
}


domingo, 22 de agosto de 2021

Bordes Container Flutter

 Para crear los bordes se usa el widget Container  que tiene la propiedad: decoration, que permite darle: ancho, color, imágenes a nuestros bordes, vamos con los ejemplos y sus codigos:

1) Bordes sencillos

child: Container(
height: 100,
width: 100,
decoration: BoxDecoration(border: Border.all( color: Colors.blue, width: 1.5),),
child: Text('Bordes En flutter', textAlign: TextAlign.center,),
)

2) Bordes Redondeados
Hay un atributo llamado borderRadius...
child: Container(
height: 100,
width: 100,
decoration: BoxDecoration(border: Border.all( color: Colors.blue, width: 3),
borderRadius: BorderRadius.circular(50)
),
child: Text('Bordes \n En flutter', textAlign: TextAlign.center,),
)
),
)


3)Bordes de un solo lado
cuando quieres pintar uno solo de los bordes usas BorderSide...
dependiendo del lado usas cada uno de estos:
*top:arriba
*bottom:abajo
*right:derecha
*left:izquierda




Container(
decoration: BoxDecoration(
border:Border(
bottom:BorderSide(
width: 1.0, color: Colors.black
)
),
),
title: Text('text'),
),

Slider