У меня была похожая проблема на прошлой неделе.Экран входа в систему и экран регистрации очень похожи, или, по крайней мере, верхняя часть их баннера.
Что я сделал, чтобы создатьмой собственный виджет для использования на обоих экранах.
Код для этого виджета настройки:
class AuthBanner extends StatelessWidget {
const AuthBanner({
Key key,
@required this.text,
}) : super(key: key);
final String text;
@override
Widget build(BuildContext context) {
return Container(
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage(backdrop),
fit: BoxFit.cover,
)),
height: 220,
width: double.infinity,
child: Stack(
children: [
Align(
alignment: Alignment.bottomLeft,
child: Padding(
padding: const EdgeInsets.only(left: 30.0, bottom: 20.0),
child: Text(text.toUpperCase(),
style: TextStyle(
color: Colors.white,
fontSize: 32,
fontWeight: FontWeight.w600,
)),
),
),
],
));
}
}
Это можно использовать аналогично другим виджетам, таким как Text
виджет.Например, если я на экране входа в систему, я использую:
AuthBanner(text: "login")