Razer Waran Asked: 2024-11-21 05:03:08 +0800 CST2024-11-21 05:03:08 +0800 CST 2024-11-21 05:03:08 +0800 CST 在 Flutter 中创建分割背景 772 我如何才能创建像我在 Flutter 中设计下图那样的背景,我想知道要遵循的标准,以便它可以适应所有窗口大小,包括应用程序和网络。请帮助我,因为我对 Flutter 完全陌生。具体来说:我想创建一个像下图这样的标准背景,并在我的整个应用程序中将其用作标准背景。白色背景应该可以调整以根据屏幕中的内容移动。 flutter 1 个回答 Voted Best Answer Nguyen family 2024-11-21T11:51:31+08:002024-11-21T11:51:31+08:00 让我们分解一下你的任务: 创建将在整个应用程序中使用的标准渐变色背景。 这个具体的认证页面该怎么做。 1. 创建标准渐变色背景 const kGradientColor = LinearGradient(colors: [ Colors.red, Colors.blue, ]); Scaffold( appBar: AppBar( flexibleSpace: Container( decoration: const BoxDecoration( gradient: kGradientColor, ), ), title: const Text("YOUR APP BAR"), ), body: Container( decoration: const BoxDecoration( gradient: kGradientColor, ), child: const Center(child: Text("YOUR MAIN BODY")), ), ), 嗯,说实话,我找不到任何方法将渐变色放入通用 Flutter 中ThemeData,或者内部Scaffold。这可能是唯一的方法。 为了减少工作量,您可以创建一个通用的小部件AppBar。您可以按照以下说明操作:如何创建自定义 AppBar 小部件? 2. 认证页面UI如何做 您可以阅读SliverAppBar: https: //api.flutter.dev/flutter/material/SliverAppBar-class.html 这是一个复杂而高级的 Flutter 小部件。Sliver 有几种类型,但目前,对于初学者来说,你只需要关心它。 import 'package:flutter/material.dart'; /// Flutter code sample for [SliverAppBar]. void main() { runApp(const StretchableSliverAppBar()); } class StretchableSliverAppBar extends StatefulWidget { const StretchableSliverAppBar({super.key}); @override State<StretchableSliverAppBar> createState() => _StretchableSliverAppBarState(); } class _StretchableSliverAppBarState extends State<StretchableSliverAppBar> { @override Widget build(BuildContext context) { return MaterialApp( home: Scaffold( body: CustomScrollView( slivers: <Widget>[ const SliverAppBar( stretch: true, stretchTriggerOffset: 300.0, expandedHeight: 200.0, flexibleSpace: const FlexibleSpaceBar( title: Text('SliverAppBar'), background: FlutterLogo(), ), ), SliverToBoxAdapter( child: Container( height: 600, decoration: const BoxDecoration( gradient: kGradientColor, ), child: const Center(child: Text("YOUR AUTH BODY")), ), ), ], ), ), ); } } const kGradientColor = LinearGradient(colors: [ Colors.red, Colors.blue, ]);
让我们分解一下你的任务:
1. 创建标准渐变色背景
嗯,说实话,我找不到任何方法将渐变色放入通用 Flutter 中
ThemeData
,或者内部Scaffold
。这可能是唯一的方法。为了减少工作量,您可以创建一个通用的小部件
AppBar
。您可以按照以下说明操作:如何创建自定义 AppBar 小部件?2. 认证页面UI如何做
您可以阅读
SliverAppBar
: https: //api.flutter.dev/flutter/material/SliverAppBar-class.html这是一个复杂而高级的 Flutter 小部件。Sliver 有几种类型,但目前,对于初学者来说,你只需要关心它。