I have seen lots of examples of how to use a ViewPager to scan through multiple instances of the same Fragment. I don't want to do that. I want to have a single instance of a Fragment that runs off the edge of a screen and use a ViewPager (or at least the nice clean ViewPager swiping effect) to scan through the different sections of the single fragment. Is this possible?
Is this possible?
You can:
Use nested fragments for the pages in ViewPager, or
Use views for the pages in ViewPager, such as in this sample app, or
Use HorizontalScrollView instead of ViewPager to wrap around a single wide view
Related
I am facing a situation as of few days now. I intend to create an activity where there is a TabLayout and a ViewPager.
The tabs in TabLayout corresponds with the fragments/slides in the ViewPager.
Now as of now, each fragment contains the same format,i.e., two TextViews, one under the other, populated with the strings softcoded in string.xml
But this resulted in the creation of too much xml files for the fragments used inside ViewPager.
So I was thinking if it's possible to use only one fragment inside the ViewPager and then programmatically set the strings for those two TextViews in the fragment, that changes each time w.r.t. click on another tab or sliding on the ViewPager area.
This will lessen the no. of fragments to only one, in turn cutting the time to create it and increase the overall performance of the app in which it will be present.
So any insightful help, suggestion, or walkthrough on how to implement this concept - any help on how to do this will be highly appreciated.
You can certainly do that. If you're using FragmentStatePagerAdapter, just initiate the same fragment with different arguments supplied according to it's position and then in fragment check for those arguments and make changes accordingly.
What I would like to achieve: Have a ViewPager with TabLayout where each Tab contains a new Fragment that has a RecyclerView layout out horizontally and managed by a FragmentPagerAdapter.
What I am struggling with: The default behaviour is that when you get end of the list on one of the tabs, it switches Tabs and snaps (snapping means if you pull over 50% of the viewport, it jumps to either direction). I want it to free-flow and not to snap. Sort of like how it happens in iOS by default.
I got inspired for this setup by the following two CodePath guide:
https://guides.codepath.com/android/google-play-style-tabs-using-tablayout
https://guides.codepath.com/android/ViewPager-with-FragmentPagerAdapter
How should I approach this problem (preferably without any other libraries)?
What I would do is use HorizontalScrollView instead of a ViewPager. The only caveat is that the view pager sends the lifecycle events to fragments as you scroll between them, whereas for HorizontalScrollView you will have to add them initially, and then they will be continuously active unless you manually change that. Also you may have an option to not use the fragments and use simple views depending on what you use the fragments for.
I would definitely not override the touch events for the ViewPager because it does some cleanup when it detects the UP motion, so just swallowing it is not a correct thing to do.
I have a ViewPager and I want to use implement fragments for it, but I don't know what is the best way to do it, should I have multiple instances of a fragment with different views or should I have multiple fragments with their own views?
Edit:
What should I do when I have different layouts, exactly?
Check out the code on my git.
This includes infinite scrolling along with header that moves along scrolling and clickable pagerview pager with fragments with listview
You just have to replace the fragmented layout to however you want.
Im using this for my own sns and its very speedy. Make sure you have asynctask for any heavy loading
I want Horizontal as well as vertical swipe using the ViewPager.I implemented it using the Vertical view pager in which I used the fragments for the vertical swipe and in that fragments, used ViewPager for the horizontal swipe.
I took help from below link for vertical swipe:
https://github.com/LambergaR/VerticalViewPager/
and http://manishkpr.webheavens.com/android-viewpager-as-image-slide-gallery-swipe-gallery/ for horizontal swipe.
Problem:
I have three image adapters and three fragments, one for each image adapter. These three fragments are inside one FragmentActivity. When this FragmentActivity is created I want to manually select which fragment should be displayed. Here, the three fragments contains data with three different languages. Now I want to load the fragment of particular language specified by the user. Any example or a code snippet will help me implement this functionality.
Thanks in advance :)
I have a custom ViewPager in which I have 4 fragments, each fragment has different listviews, and its on the start screen of the application. The listview's are taking time to load as soon as the application starts. I'm not pulling any data into the listview, its just the implementation. Implemented OnPageChangeListener to change the listview as I swipe through the fragments
Why does this happen?
changed the implementation, instead of fragments I used PagerAdapter.