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​