У меня есть CustomScrollView с работающими осколками, но я не нахожу способа полностью скрыть верхнюю часть SliverAppBar (т.е. при прокрутке я хочу скрыть изображение и заголовок, но показать нижнюю часть):
РЕДАКТИРОВАТЬ: как показано на изображениях, я хочу, чтобы нижняя часть SliverAppBar оставалась при прокрутке. Установка pinned: false скрывает оба при прокрутке, поэтому у меня не сработает.
Еще до того, как я добавил отступы, я хотел, чтобы мой заголовок скрывался при сворачивании, например:
теперь, когда он усекается, я бы очень хотел его скрыть.
Я видел сообщения, в которых вы можете скрыть заголовок в NestedScrollView (например, приведенный выше gif), но я бы хотел сохранить свой CustomScrollView, если это возможно?
Вот мой код:
class QuestionsScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
final questionsMgr = Provider.of<Questions>(context);
final List<Question> questions = questionsMgr.questions;
return CustomScrollView(
slivers: <Widget>[
SliverAppBar(
bottom: PreferredSize(
preferredSize: const Size.fromHeight(0),
child: ChangeNotifierProvider.value(
child: Padding(
padding: const EdgeInsets.all(8.0),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: <Widget>[
ScoreText(),
InstructionsText(),
],
),
),
),
),
backgroundColor: questionsMgr.getScoreColor(),
floating: false,
expandedHeight: 225,
pinned: true,
title: Text(
"Checklist",
textAlign: TextAlign.center,
),
forceElevated: true,
flexibleSpace: FlexibleSpaceBar(
centerTitle: true,
background: Image.asset(
"assets/images/PalFM_blue.jpg",
fit: BoxFit.cover,
),
),
),
SliverList(