Aller au contenu principal

AsAppBar

Un composant de barre d'application adaptatif à la plateforme qui fournit la navigation, les titres et les actions en haut des écrans.

Import

import 'package:alphasow_ui/alphasow_ui.dart';

Utilisation de Base

AsAppBar(
title: Text('Mon Application'),
)

Avec Actions

AsAppBar(
title: Text('Messages'),
actions: [
AsIconButton(
icon: Icons.search,
onPressed: () => _openSearch(),
),
AsIconButton(
icon: Icons.more_vert,
onPressed: () => _showMenu(),
),
],
)

Avec Widget Principal

AsAppBar(
leading: AsIconButton(
icon: Icons.menu,
onPressed: () => Scaffold.of(context).openDrawer(),
),
title: Text('Principal Personnalisé'),
centerTitle: true,
)

Référence API

Propriétés

PropriétéTypeDéfautDescription
titleWidget?nullWidget du titre de la barre d'application
leadingWidget?nullWidget principal (généralement bouton retour ou menu)
actionsList<Widget>?nullWidgets d'action sur le côté droit
backgroundColorColor?nullCouleur d'arrière-plan
foregroundColorColor?nullCouleur du texte et des icônes
elevationdouble?nullÉlévation de l'ombre (Material uniquement)
centerTitlebool?nullSi le titre doit être centré
automaticallyImplyLeadingbooltrueSi le bouton retour doit être affiché automatiquement

Exemples

Barre d'Application de Recherche

class SearchAppBar extends StatefulWidget {
@override
_SearchAppBarState createState() => _SearchAppBarState();
}

class _SearchAppBarState extends State<SearchAppBar> {
bool _isSearching = false;
final _searchController = TextEditingController();

@override
Widget build(BuildContext context) {
return AsAppBar(
title: _isSearching
? AsTextField(
controller: _searchController,
hintText: 'Rechercher...',
autofocus: true,
)
: Text('Démo Recherche'),
leading: _isSearching
? AsIconButton(
icon: Icons.arrow_back,
onPressed: () {
setState(() => _isSearching = false);
_searchController.clear();
},
)
: null,
actions: [
if (!_isSearching)
AsIconButton(
icon: Icons.search,
onPressed: () => setState(() => _isSearching = true),
),
if (_isSearching)
AsIconButton(
icon: Icons.clear,
onPressed: () => _searchController.clear(),
),
],
);
}
}

Voir Aussi