Publisher
gducrash
Better Tab Container
This addon adds a container, that can have multiple tabs, which the user can change by swiping left or right on the screen. It is based on the ScrollContainer node. Getting Started: • Download the addon and place it into your project directory, either manually, or through the Asset Store • Activate it in the Project Settings ("Plugins" tab) • Add a BetterTabContainer node to a scene. It is recommended that it is either set to full rect or has a "Fill" horizontal size flag • Add multip...
This plugin has been mirrored from the Godot Asset Library.
The plugin author is in no way affiliated with Gadget.
If you are the author of this plugin and would like this mirror removed, please contact support@gadgetgodot.com.
A Mobile-friendly tabs container for Godot 3
This addon adds a container, that can have multiple tabs, which the user can change by swiping left or right on the screen. It is based on the ScrollContainer node.
Watch a Video Showcase
Getting Started
- Download the addon and place it into your project directory, either manually, or through the Asset Store
- Activate it in the Project Settings ("Plugins" tab)
- Add a
BetterTabContainernode to a scene. It is recommended that it is either set to full rect or has a "Fill" horizontal size flag - Add multiple nodes to it. Each child node counts as a separate tab, it can be any type of Control node. Please ignore the "ScrollContainer can only have one node" warning, I am actively trying to get rid of it
- Done!
Customizing the Node
- You can set the "Current Tab" property in the inspector. By default, it is set to 0, meaning the first tab is active on start
- You can connect the "tab_switched" signal to another node to detect when it's changed
- If you want to change the tab through code (for example, if you have a list of tab buttons next to the container), you can call the
switch_tab(tab)method - You might also want to hide the horizontal scroll bar, as it does nothing
- If you want to be able to swipe on tabs, make sure to set all of the children containers' mouse filter to "Pass", so it detects input
Examples & Screenshots
TODO
Contributing
Feel free to improve the code, fix bugs or add functionality by creating an issue or submitting a pull request