#flutter
#Flutter
Вопрос:
Как я могу применить градиент, подобный приведенному здесь, к фону приложения? Вы видите, как градиент перемещается вниз по панели приложения и телу каркаса, как будто они были одним виджетом, а не 2 виджетами, каждый из которых имеет свой собственный цвет?
Ответ №1:
Вам нужно использовать контейнер в качестве фона для вашего каркаса, чтобы добавить градиент. Вы также можете использовать виджет непрозрачности, чтобы сделать контейнер или любой виджет прозрачным. Но вот точное решение, которое вы ищете:
Scaffold(
body: Container(
height: MediaQuery.of(context).size.height,
width: MediaQuery.of(context).size.width,
decoration: BoxDecoration(
gradient: LinearGradient(
colors: [Color(0xFF282a57), Colors.black],
begin: Alignment.topCenter,
end: Alignment.bottomCenter),
),
child: Column(
children: <Widget>[
Padding(
padding: const EdgeInsets.fromLTRB(20, 50, 20, 0),
child: Container(
child: Row(
children: <Widget>[
Icon(Icons.menu,color: Colors.white,),
Spacer(),
Text("Expense",style: TextStyle(color: Colors.white,fontSize: 18,)),
Spacer(),
Icon(Icons.clear, color: Colors.white,)
],
),
),
),
],
),
)
Комментарии:
1. Неправильно, я на самом деле узнал сам, вы просто обернете весь каркас в контейнер и зададите ему нужные цвета градиента, а затем установите фон каркаса и его элементов в «Colors.transparent. С opacity (0)» и это сработает, я пробовал…
2. Я должен сказать, что решение, предоставленное Micheal, — это правильный путь, если вы хотите, чтобы градиент также находился за панелью приложений и нижней навигацией