flutter_sticky_headers icon indicating copy to clipboard operation
flutter_sticky_headers copied to clipboard

Nested StickyHeaders

Open Skogsfrae opened this issue 2 years ago • 0 comments

It would be nice to be able to nest multiple StickyHeaders and keep the inner ones visible under the outer ones. With the current version of the library the inner ones will go under the outer ones and stick on the top corner of the list making them not visible.

Current behaviour: Simulator Screen Recording - iPhone 14 Pro Max - 2022-12-01 at 09 54 29

Desired behaviour: Simulator Screen Recording - iPhone 14 Pro Max - 2022-12-01 at 09 47 27

Use case:

ListView.builder(
  primary: controller == null,
  controller: controller,
  itemBuilder: (context, index) {
    return StickyHeader(
      controller: controller, // Optional
      header: Container(
        height: 50.0,
        color: Colors.blueGrey[700]?.withOpacity(.7),
        padding: const EdgeInsets.symmetric(horizontal: 16.0),
        alignment: Alignment.centerLeft,
        child: Text(
          'Header #$index',
          style: const TextStyle(color: Colors.white),
        ),
      ),
      content: Column(
        children: [1, 2, 3]
            .map(
              (index) => StickyHeaderBuilder(
                controller: controller,
                builder: (context, stuckAmount) {
                  return Container(
                    height: 30.0,
                    color: Colors.red[700]?.withOpacity(1),
                    padding: const EdgeInsets.symmetric(horizontal: 16.0),
                    alignment: Alignment.centerLeft,
                    child: Text(
                      'Subheader #$index',
                      style: const TextStyle(color: Colors.white),
                    ),
                  );
                },
                content: Container(
                  color: Colors.grey[300],
                  child: Image.network(
                    imageForIndex(index),
                    fit: BoxFit.cover,
                    width: double.infinity,
                    height: 200.0,
                  ),
                ),
              ),
            )
            .toList(),
      ),
    );
  },
);

Skogsfrae avatar Dec 01 '22 08:12 Skogsfrae