ListTile

ListTile

ListTile(leading, title, subtitle, trailing, isThreeLine, contentPadding, onTap, onLongPress, selected )

açıklama

İkonlu metin…

konum

MaterialApp({ title,theme, home: Scaffold({ appBar, body: Center(child: ListTile(leading, title, subtitle, trailing, isThreeLine, contentPadding, onTap, onLongPress, selected )),, }), })

parametreler

          ListTile(
                leading: Icon(Icons.flight_land), // başlıktan önce gösterilecek icon aavatar
                title:  Text ("Mehmet") // Başlık
                subtitle: Text ("Mehmet in Blogu") //Başlığın altında görüntülenen ek içerik
                trailing:Icon(Icons.sonuk_ikon), //Başlıktan sonra görüntülenecek icon
                isThreeLine: false,// üç satır metin göstermesi istenip istenmediği
                contentPadding: EdgeInsets.all(8.0),, // iç ittirme boşluk değeri bilgiğimiz padding
                onTap:: () { } //kullanıcı dokunduğunda atadığımız bir fonksiyon kolayca işlem yapaniliriz
                onLongPress: () { } ///kullanıcı uzun dokunduğunda tadığımız bir fonksiyon kolayca işlem yapaniliriz
                selected: false //true olduğunda, simgeler ve metinler aynı renkte oluşturulur.
              )

örnek uygulama

tile-orn
 
dosya adı: main.dart

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

void main() {
  runApp(
    new MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue
      ),
      home: ContactsPage()
    )
  );
}

 
dosya adı: contact_data.dart

class Contact {
  final String fullName;
  final String email;

  const Contact({this.fullName, this.email});
}

const kContacts = [
    Contact(
      fullName: 'Romain Hoogmoed',
      email:'romain.hoogmoed@example.com'
    ),
    Contact(
      fullName: 'Emilie Olsen',
      email:'emilie.olsen@example.com'
    ),
    Contact(
      fullName: 'Téo Lefevre',
      email:'téo.lefevre@example.com'
    ),
    Contact(
      fullName: 'Nicole Cruz',
      email:'nicole.cruz@example.com'
    ),
    Contact(
      fullName: 'Ramna Peixoto',
      email:'ramna.peixoto@example.com'
    ),
    Contact(
      fullName: 'Jose Ortiz',
      email:'jose.ortiz@example.com'
    ),
    Contact(
      fullName: 'Alma Christensen',
      email:'alma.christensen@example.com'
    ),
    Contact(
      fullName: 'Sergio Hill',
      email:'sergio.hill@example.com'
    ),
    Contact(
      fullName: 'Malo Gonzalez',
      email:'malo.gonzalez@example.com'
    ),
    Contact(
      fullName: 'Miguel Owens',
      email:'miguel.owens@example.com'
    ),
    Contact(
      fullName: 'Lilou Dumont',
      email:'lilou.dumont@example.com'
    ),
    Contact(
      fullName: 'Ashley Stewart',
      email:'ashley.stewart@example.com'
    ),
    Contact(
      fullName: 'Roman Zhang',
      email:'roman.zhang@example.com'
    ),
    Contact(
      fullName: 'Ryan Roberts',
      email:'ryan.roberts@example.com'
    ),
    Contact(
      fullName: 'Sadie Thomas',
      email:'sadie.thomas@example.com'
    ),
    Contact(
      fullName: 'Belen Serrano',
      email:'belen.serrano@example.com '
    )
  ];
 

 
dosya adı: contact_view.dart

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

class ContactsPage extends StatelessWidget {

  @override
  Widget build(BuildContext context) {
    return Scaffold(
        appBar: AppBar(
          title: Text("Contacts"),
        ),
        body: ContactList(kContacts)
      );
  }

}

class ContactList extends StatelessWidget {

  final List _contacts;

  ContactList(this._contacts);

  @override
  Widget build(BuildContext context) {
    return ListView(
          padding: EdgeInsets.symmetric(vertical: 8.0),
          children: _buildContactList()
        );
  }

  List<_ContactListItem> _buildContactList() {
    return _contacts.map((contact) => _ContactListItem(contact))
                    .toList();
  }

}

class _ContactListItem extends ListTile {

  _ContactListItem(Contact contact) :
    super(
      title : Text(contact.fullName),
      subtitle: Text(contact.email),
      leading: CircleAvatar(
        child: Text(contact.fullName[0])
      )
    );

}

Bir cevap yazın

KAPAT
%d blogcu bunu beğendi: