prefer-center-over-align
- Group
- Style
- Path
lint/style/prefer-center-over-align- Default
- Off, opt in
- Origin
- Falcon
- Domain
- flutter
- Rule
- 321 of 512
Prefers Center over an Align whose alignment is known to be centered.
Reports Flutter's unnamed Align constructor with omitted alignment,
Alignment.center, or a Flutter Alignment(0, 0) constructor. key,
child, widthFactor, and heightFactor are preserved by Center and
remain allowed, including an absent child. Other arguments, null or unknown
alignments, and shadowed constructors or alignment names are ignored.
Invalid
import 'package:flutter/material.dart';
import 'package:flutter/material.dart' as ui;
typedef LayoutAlign = Align;
void examples(Widget child) {
Align();
const Align();
new Align(child: child);
ui.Align(alignment: ui.Alignment.center, child: child);
const ui.Align(alignment: ui.Alignment(0, 0));
Align(alignment: Alignment(0.0, 0), child: child);
Align(widthFactor: 2, heightFactor: 3, child: child);
Align(alignment: Alignment.center, widthFactor: 0.5, heightFactor: 2, child: child);
LayoutAlign(key: const Key('center'), child: child);
new ui.Align(alignment: new ui.Alignment(0, 0));
const Align(widthFactor: 2, heightFactor: 3);
}void examples(Widget child) { Align(); Align(); const Align(); const Align(); new Align(child: child); new Align(child: child); ui.Align(alignment: ui.Alignment.center, child: child); ui.Align(alignment: ui.Alignment.center, child: child); const ui.Align(alignment: ui.Alignment(0, 0)); const ui.Align(alignment: ui.Alignment(0, 0)); Align(alignment: Alignment(0.0, 0), child: child); Align(alignment: Alignment(0.0, 0), child: child); Align(widthFactor: 2, heightFactor: 3, child: child); Align(widthFactor: 2, heightFactor: 3, child: child); Align(alignment: Alignment.center, widthFactor: 0.5, heightFactor: 2, child: child); Align(alignment: Alignment.center, widthFactor: 0.5, heightFactor: 2, child: child); LayoutAlign(key: const Key('center'), child: child); LayoutAlign(key: const Key('center'), child: child); new ui.Align(alignment: new ui.Alignment(0, 0)); new ui.Align(alignment: new ui.Alignment(0, 0)); const Align(widthFactor: 2, heightFactor: 3);Valid
import 'package:flutter/material.dart';
import 'package:flutter/material.dart' as ui;
typedef LayoutAlign = Align;
void examples(Widget child, AlignmentGeometry value) {
Align(alignment: Alignment.topLeft, child: child);
Align(alignment: Alignment(0, 1), child: child);
Align(alignment: Alignment(1, 0), child: child);
Align(alignment: value, child: child);
Center(child: child);
}
Object parameterShadow(dynamic Align, Widget child) => Align(child: child);
Object prefixShadow(dynamic ui, Widget child) => ui.Align(child: child);
Object aliasShadow(dynamic LayoutAlign, Widget child) => LayoutAlign(child: child);
void localShadow(dynamic factory, Widget child) {
final Align = factory;
Align(child: child);
}
void alignmentShadow(dynamic Alignment, Widget child) {
Align(alignment: Alignment.center, child: child);
Align(alignment: Alignment(0, 0), child: child);
}
void alignmentPrefixShadow(dynamic ui, Widget child) {
Align(alignment: ui.Alignment.center, child: child);
Align(alignment: ui.Alignment(0, 0), child: child);
}Configure prefer-center-over-align
Set its severity in falcon.json. See the configuration guide.
{
"linter": {
"rules": {
"style": {
"prefer-center-over-align": "error"
}
}
}
}Or silence one occurrence with a suppression comment; the reason is required.
// falcon-ignore lint/style/prefer-center-over-align: <reason>More style rules
- prefer-collection-literals
prefer_collection_literalsrecommendedFlags no-argument collection constructor calls that a literal would express.
- prefer-commenting-analyzer-ignores
Require explanations for analyzer
ignore:andignore_for_file:comments. - prefer-const-constructors
prefer_const_constructorsPrefers
constwhen invoking aconstconstructor with constant arguments. - prefer-const-constructors-in-immutables
prefer_const_constructors_in_immutablesflutterPrefers
constconstructors in immutable classes and extension types. - prefer-const-declarations
prefer_const_declarationsrecommendedFlags
finaldeclarations whose initializers are all constant expressions. - prefer-const-literals-to-create-immutables
prefer_const_literals_to_create_immutablesPrefers
constlist, set, and map literals as arguments to constructors of@immutableclasses. - prefer-constrained-box-over-containerflutter
Prefers
ConstrainedBoxover aContainerused only forconstraints. - prefer-constructors-over-static-methods
prefer_constructors_over_static_methodsFlags static methods that create and return an instance of their own class.