GithubHelp home page GithubHelp logo

Comments (3)

jtkeyva avatar jtkeyva commented on June 26, 2024 1

Thank you very much :)

from advstory.

ertgrulll avatar ertgrulll commented on June 26, 2024

Hi JT, I created this package due to other's performance issues. This is a complete story view solution. But you can also control almost anything, including gestures. Try set the interceptor to control navigation between stories or contents, or create a story view using AdvStory.player to change the position, size, shape or anything else you want. You can also create your own contents for more customization, this package is really flexible.

  • Use interceptor:
final _controller = AdvStoryController();

...

_controller.setInterceptor((event) {
  if (event == StoryEvent.nextContent) {
    // User tapped right %23 of screen, prevent content skip and print a log message instead for an example.
    // Or skip to another story, another content etc.
    return () => log(
      'StoryEvent.nextContent blocked and printed this log instead.',
     );
  }
  
  // Continue default flow for other events.
  return null;
});

  • Use AdvStory.player to create a specific size story view with rounded edges:
final _controller = AdvStoryPlayerController();

...

ClipRRect(
  borderRadius: BorderRadius.circular(20),
  child: SizedBox(
    width: MediaQuery.of(context).size.width * .5,
    height: MediaQuery.of(context).size.height * .5,
    child: AdvStory.player(
      storyCount: profilePics.length,
      controller: _controller,
      style: const AdvStoryStyle(
        indicatorStyle: IndicatorStyle(
          padding: EdgeInsets.all(8),
        ),
      ),
      storyBuilder: (storyIndex) => Story(
        contentCount: 3,
        contentBuilder: (contentIndex) {
          return SimpleCustomContent(
            builder: (context) {
              return Container(
                color: Colors.blueAccent,
                alignment: Alignment.center,
                child: const Text('😎'),
              );
            },
          );
        },
      ),
    ),
  ),
),
  • Also you can create your own tray view when AdvStory.player used:
final _controller = AdvStoryPlayerController();

...

StoryButtonThatOpensView(
  onTap: () {
    _controller.open(StoryPosition(2, 2));
  }
),
StoryButtonThatClosesView(
  onTap: () {
    _controller.close();
  }
),

from advstory.

ertgrulll avatar ertgrulll commented on June 26, 2024

Seems like I need to update docs for use-cases.

from advstory.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.