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.
- 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 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!
- 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
TODO
Feel free to improve the code, fix bugs or add functionality by creating an issue or submitting a pull request