question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

[Suggestion] Overhaul of AppIntro

See original GitHub issue

Issue details: So, Since I have some free time at my disposal, I was thinking of revamping the API a bit and making it more customizable. I suggest that instead of having the two classes AppIntro and AppIntro2, we just have these 2: SimpleIntro and CustomIntro. If the user wants just a simple solution we provide SimpleIntro and allow the user to change layout type by using setLayoutType(LayoutType1/2), and provide other methods to change the colour/icon of layout defined in AppIntro. For more sophisticated solution, we provide a CustomIntro class that allows the user to provide their own layout file(with correct ids set for required buttons I.e. next button, skip button etc) via setLayout(R.layout.custom_layout) . It will allow users more freedom to choose their layout and spend more time on design while AppIntro does the heavy lifting (Controlling indicators, managing page swipes, permissions etc.) This will give users more flexibility. I am opening this issue to discuss about this before I touch any code so that I can get an idea of the implementation. So tell me your thoughts on this and I will try to implement ASAP ( I have successfully made some partial implementations as a proof of concept so it ought to work…)

Your Code: Nothing Yet

It will be easier to make layouts like this and this

Also, I have put my work on the sample app on hold as it is better to rework the app after we rework the library 😛

Issue Analytics

  • State:closed
  • Created 5 years ago
  • Comments:6 (6 by maintainers)

github_iconTop GitHub Comments

1reaction
cortinicocommented, Mar 2, 2019

Okay, I get it that ids are hard to enforce, but there are only a handful of trivial ones here, and we could just mention them in readme.

The README is getting less updated than the code. Moreover people just bump the library, without reading the readme every version.

We need to create atleast some sort of implementation that gives users more freedom to choose the positions and shapes/sizes of their buttons.

I’m generally against this. Libraries should be simple and solve simple tasks.

Big APIs are hard to handle. Giving the full control over all the widgets, will make the library developer life harder, for the benefit of a little group (users tends to use the default layout of the library).

The basic idea is more control over the AppIntro layout, otherwise I don’t think there is a way that we can currently make layouts like the ones mention in the first post using this library.

I don’t think this library has to solve this problem actually.

0reactions
AnuthaDevcommented, Mar 1, 2019

Hey @cortinico if you think enforced ids are bad, then along with setLayoutRes(@layoutRes) we can also expose methods : setNextBtnRes()/setNextbtnid(). Or something like that, which basically tells AppIntro which view is defined as next BTN, back BTN etc. So that it can manage their behaviour accordingly…Also, instead of removing the AppIntro and AppIntro2 classes we just have to deprecate them or at first we will introduce these classes along with them and deprecate in future, so no breaking API changes and more customizability… What do you say? Problem solved?

Read more comments on GitHub >

github_iconTop Results From Across the Web

AppIntro/AppIntro: Make a cool intro for your Android app.
AppIntro is an Android Library that helps you build a cool carousel intro for your App. AppIntro has support for requesting permissions and...
Read more >
External library: Cannot resolve symbol - Stack Overflow
When I try to use it Android Studio even does not suggest to import the library and marks BetterSpinner red: enter image description...
Read more >
Using the SoundTouch app - SoundTouch™ SA-4 amplifier package
Music Services: Add music services and sources to your SoundTouch account; Help: View the app intro screens and product help; About: View system...
Read more >
Using the SoundTouch app - CineMate® 130 home ... - Bose
Music Services: Add music services and sources to your SoundTouch account; Help: View the app intro screens and product help; About: View system...
Read more >
Pin on Menu navigation
CircleMe app intro screen ... If you would like to send us suggestions for these galleries, please click on the button "Submit" located...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found