mit-cml / appinventor-sources

MIT App Inventor Public Open Source
http://appinventor.mit.edu/appinventor-sources/
Apache License 2.0
1.49k stars 2.08k forks source link

Implement a tab bar layout #1559

Open ewpatton opened 5 years ago

ewpatton commented 5 years ago

Tab bar is a useful way to organize and give access to content. While you can mock something up using buttons and a horizontal arrangement, it would be nice if we had this natively implemented as a layout and it could use the platform-specific implementation of this technique. It might also provide a better way for people to organize their data rather than using multiple screens, which is error-prone.

dhruv1220 commented 5 years ago

Should this be done using tab host or bottomnavigationview?

jsuyash1514 commented 4 years ago

@ewpatton I would like to work on this issue.

ewpatton commented 4 years ago

@jsuyash1514 This is a pretty sophisticated project. If you're looking to target GSOC, it might be better as a proposal rather than as a starter task. I do have a prototype branch available though if you're up for a challenge.

jsuyash1514 commented 4 years ago

@ewpatton I will be more than happy to continue this as a GSoC project. Though I've started working on this issue and I have my basic mock classes ready. You can view them here. MockTabBarLayout MockTabBarArrangement Further, I plan to write the runtime component class using view pager and tabbed layout. We can also add the tab view arrangement using the bottom navigation bar component as a variant of this. This would give the users, another option for adding a tab bar arrangement in their apps. I'll positively submit a GSoC proposal for the same. Please let me know if there are any other starter tasks for me or else I could continue the same issue in the meantime if you advise me so.

ewpatton commented 4 years ago

@jsuyash1514 I've pushed my WIP branch here if you want to take a look and compare notes:

https://github.com/ewpatton/appinventor-sources/tree/feature/tab-layout