Git Product home page Git Product logo

pyozer / introduction_screen Goto Github PK

View Code? Open in Web Editor NEW
636.0 636.0 214.0 31 MB

Add easily to your app an introduction screen to provide informations to new users

Home Page: https://pub.dartlang.org/packages/introduction_screen

License: MIT License

Dart 49.46% Objective-C 0.04% Kotlin 0.14% Swift 1.70% HTML 2.01% CMake 18.58% C++ 24.17% C 0.88% Ruby 3.02%
android dart dart2 flutter introduction ios ui

introduction_screen's People

Contributors

amoslai5128 avatar bielcarpi avatar bobab12 avatar buraktabn avatar d6p2b avatar damphat avatar devsog12 avatar flipswitchingmonkey avatar floffel avatar ghenry avatar guyluz11 avatar hussaintaj-w avatar imcrisanto avatar impure avatar kubawich avatar leynier avatar macacoazul01 avatar macpraveen avatar malteamlimit avatar manishs6 avatar matteopizzuti avatar mohiuddinm avatar noahbanderson avatar orkun1675 avatar petoknm avatar pyozer avatar saquibansari0101 avatar sprechen avatar techouse avatar timurturbil avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

introduction_screen's Issues

error while loading images from assets

Widget _buildImage1() {
    return Align(
      child:  Image(image: AssetImage('assets/porsche_self_drive.png'),height: 175.0),
      alignment: Alignment.bottomCenter,
    );
  }

error:
image

where I'm missing pubspec details are perfectly fine!

Background color for all Pages

Hello @Pyozer ,

Wonderful work ! I love it !
I have 2 questions,

The first one is, is it possible to have a backgroundcolor or background image for all PageViewModel...?
I try to place the IntroductionScreen() in a container with a backgroundimage or background color and i set the PageColor to Colors.Transparent for all PageViewModel,
But the background is still white !

Is it possible ?

Also, my second question, is it possible to hide the next button and Done button ?
the same as showSkipButton: false,

Thanks a lot !

Pascal

SkipButton

How to put the skip button in the upper right corner and the dots below the image?

I tried to use container to define position but although I can locate the dots using

padding only moves the dots but the skipbutton can't locate or position it: /

Implement copyWith to PageDecoration class

For example I have const variable pageDecoration to pass to decoration property of my PageViewModels, but in one PageViewModel I want to change only one value of pageDecoration, so a copyWith method would be very good.

Intro Screen should just open first time when opening app not everytime.

Introduction screen is very awesome but the thing is it should just be there only once when we open app first time.
So, I made a splash screen and used dart async to find intro screen is opened or not , it worked fine.
If you could provide that feature in this package it would be helpful a lot.
Thank You.

Can i use video at image parameter?

Can i use a video player at image parameter of PageViewModel ?
PageViewModel( title: 'TitleExample', body:'Text example', image: VideoPlayerController.asset('assets/videos/presentation.mp4'), ),

Dot Color for inactive progress indicator

Just a minor issue but I would like dotColor which is present in DotsIndicator widget to be available through IntroductionScreen's parameters. This will help those like me who want to change the color of the dots that are not active

scroll physics

I think it would be better to change physics in pageView to AlwaysScrollableScrollPhysics instead of BouncingScrollPhysics Or at least it would be great if scroll physics be more modifier than just freeze.

Thanks For Your Awesome library

Images not opening in Linux Desktop

Thanks for the introduction screen code. I couldn't get the images to appear when I ran the code using $flutter run -d linux. With the same codebase, I ran $flutter run -d chrome and the images do appear in the web version. I opened an issue in Flutter:

flutter/flutter#62269

Show Introduction screen only on first launch

Hi,

thanks for the awesome plugin! But I have a problem:
The Introduction Screen is called on every launch of the app. Should it works this way? I only know introduction screens which are only visibile on the first launch of the app.
How can I implement this?

Thanks for help!

Page states not saving

If you have form fields in the PageViewModel they do not save state when going between the pages. For this to work IntroPage needs to be a StatefulWidget and AutomaticKeepAliveClientMixin needs to be used.

Minor improvements questions

Hello Jean I like the simplicity of your library

but I was wondering if it was possible to
Iset the image optional, on the pageviews.

and then make it possible to override the default skip action, for instance if I wanted to skip to the next screen instead of the next pageview.

Fixed header all page

Hi,
how can I add header or top widget for each page, I mean common top logo I want to place on top.

Skip to end

Is it possible to make 'skip' act as 'skip to end'?

Curve parameter not working

I've tried using the curve parameter but it seems that it's not being applied? The animation is still the same when changing the page.

Sample code:

    IntroductionScreen(
        curve: Curves.bounceOut,
        pages: pages(),
        done: Text('Done'),
        onDone: () {},
      ),

[proposal] Improve README documentation

First of all, thank you for your plugin! It was easy to use and gave excellent results :)

I am a native English speaker and I think I can help improve the documentation

I just sent three pull requests #65 #64 #63 for various typo errors and I decided to stop and just fork the project to help edit the README and Documentation. If you are okay with this I will proceed to edit the text and also the example file to make it easier for others to use as well.

Error in scroll listener

When the body content is too extensive and I scroll it, the following error occurs:

type 'FixedScrollMetrics' is not a subtype of type 'PageMetrics'

Version: v1.0.7

Stack trace:

#0      _IntroductionScreenState._onScroll (package:introduction_screen/src/introduction_screen.dart:163)
#1      NotificationListener._dispatch (package:flutter/src/widgets/notification_listener.dart:127)
#2      Notification.visitAncestor (package:flutter/src/widgets/notification_listener.dart:45)
#3      ViewportNotificationMixin.visitAncestor (package:flutter/src/widgets/scroll_notification.dart:31)
#4      Element.visitAncestorElements (package:flutter/src/widgets/framework.dart:3509)
#5      Notification.dispatch (package:flutter/src/widgets/notification_listener.dart:61)
#6      DragScrollActivity.dispatchScrollStartNotification (package:flutter/src/widgets/scroll_activity.dart:436)
#7      ScrollPosition.didStartScroll (package:flutter/src/widgets/scroll_position.dart:658)
#8      ScrollPosition.beginActivity (package:flutter/src/widgets/scroll_position.dart:650)
#9      ScrollPositionWithSingleContext.beginActivity (package:flutter/src/widgets/scroll_position_with_single_context.dart:116)
#10     ScrollPositionWithSingleContext.drag (package:flutter/src/widgets/scroll_position_with_single_context.dart:246)

dart:async isn't required.

dart:async isn't required as dart:core which is automatically imported has all those features according to Dart 2.1.

Right to Left Behaviour

thanks for the solid package, works wonderfully here. Was wondering if you can add RTL behaviour where the pages scroll to the right not to the left and reverse the location of next/end buttons. Also I could do the PR with some pointers ๐Ÿ‘

thanks

Just show the Introduction Screen once, after the very first start of the app

Hi @Pyozer,

First of all thanks for this wonderful plugin that you made for us!

I was wondering if would be possible to show the plugin just once after the very first start of the app.

Would be really cool that somehow the Introduction Screen would be able to understand, with a state manager or a cache system, that the user already saw it and not show the plugin again.

Thanks for everything, cheers!

Number of dots

Is there a limit to the number of dots - I have more than 6 and they overflow.

Check mounted status after async ops

Hi!

To avoid potential issues, I think these two functions should check the mounted property before calling setState.

Future<void> skipToEnd() async {
  setState(() => _isSkipPressed = true);
  await animateScroll(widget.pages.length - 1);
  setState(() => _isSkipPressed = false);
}

Future<void> animateScroll(int page) async {
  setState(() => _isScrolling = true);
  await _pageController.animateToPage(
    page,
    duration: Duration(milliseconds: widget.animationDuration),
    curve: widget.curve,
  );
  setState(() => _isScrolling = false);
}

as in:

if (mounted) {
  setState(() => _isSkipPressed = false);
}

A package may not list itself as a dependency.

Running "flutter pub get" in introduction_screen...
Error on line 27, column 3 of pubspec.yaml: A package may not list itself as a dependency.
โ•ท
27 โ”‚ introduction_screen: ^1.0.7
โ”‚ ^^^^^^^^^^^^^^^^^^^
โ•ต

pub get failed (65; โ•ต)
Process finished with exit code 65

Any chance the description could be a Widget?

This is the third Onboarding approach I have tried and is the one I like the most. Great work.

What I'm trying to accomplish is to have text and icons in the description - so that I could describe things like "Tap the + button to ...." or "Tap the Pencil to do ...", where the + and Pencil are icons / images.

Would this be possible?

Thanks,

Steve

new install or update

It would be cool if users get told how the app works ( new install) Or new features ( upgrade )

I think there is a flutter plugin to do this..

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.