Native Shopify Mobile App with 20 new features
Kickstart your hyperlocal marketplace in Corona pandemic with a starter guide
Android App Development
iOS App Development
Cross Platform App Development
Hire on-demand project developers and turn your idea into working reality.
Big thanks to Webkul and his team for helping get Opencart 184.108.40.206 release ready!
Owner and Founder. Opencart
Recently, while working with the ViewPager, I found out that sometimes the Android ViewPager with WRAPCONTENT height flag is not visible. The reason for this is perhaps that the wrap_content flag needed height from the child view and the child view height is still not known. The best way to check this is to fix the height to some hardcoded value say “200dp” and check if the view is visible.
Now if the view is visible and it gets your work done you don’t need to follow this blog anymore as you have achieved your purpose. But, if you still want to have a viewpager which has height set by the wrap_content flag in your XML file, then you should continue reading.
I believe that the purpose of this blog is very clear to you by now. So I will just come to the approach I have used.
WrapContentViewPager class :-
Use of this class in your XML File:-
The Above code will just change the height of the Viepager as per the current child. but the main power of the viewPager is to prepare the view for the previous and next item as well so if you want you can get this also and this again is nothing but iterating the viewPager as per the child in the memory so we just need to have a for loop in onMeasure method of the viewPager and iterate each child View.
That’s it, you can run this code and check it yourself.
Your email address will not be published. Required fields are marked*
Save my name email and website in this browser for the next time I comment.
Thanks for your concern but we never faced this kind of issue in any of our apps.
The reason for your issues most probably is that you must have overridden the onResume() method of your activity. If that’s the case then you need to explicitly set up the view page and adapter again in onResume() method in order to avoid this issue.
If your problem is not solved with this approach, then please share your code and i will look into it.
can you provide your source code, so that we can have a look into your code and predict how this can be done?
Generally, if this kind of complex layout architecture is followed then you might have to maintain all the layouts (their width & height) in your view render(Activity/ Fragment) class.
Your code is working nice.
If I use this code in my app which is commercial,
Do I consider any license?
Thanks for the appreciating words.
No, this particular piece of information is not under any license.
You can use it anywhere you want.
Personally, I have not used the ViewPager2 till now.
But if something similar is troubling you then just make WrapContentViewPager extend ViewPager2, and then in the remaining article replace all the accourences of the view pager with viewPager2 and this should work.
If this does not works out, then please do share teh exact code with me, so that we can look and update you accordingly.
If this is already there, then we will need to have a look in your exact code.
Enquiry or Requirement
If you have more details or questions, you can reply to the received confirmation email.