I want to combine the Android UI with libGDX. I want to have half of my screen drawing an animated sprite with the libGDX engine, and the other half of the screen drawing Android UI buttons.
How do I combine the Android UI buttons with libGDX?
Game Development Stack Exchange is a question and answer site for professional and independent game developers. It only takes a minute to sign up.Sign up to join this community
Libgdx has a great UI package called scene2d. It is specially written for UIs, but can be used for other things also.
What you will want to do is create a UI stage. During your game loop call stage.draw() after you draw your game so it renders over the top of your game. If you just want to use the UI to receive input then just use
Gdx.input.setInputProcessor(...) to set the UI stage as the input processor. If you want the game and the stage to receive input you will need to use an InputMultiplexer.
You add widgets (widgets being things like tables, buttons, and more) to the stage. And then add change listeners to the particular widgets to help control your game.
Nothing special, it just works. Libgdx view is just a wrapper around an ordinary OpenGL view, you can use it with any layout (including a LinearLayout split in half).
The autogenerated code has an
initialize call. This call creates the Libgdx view and displays it using full screen.
If you remove the call, you can instead use
initializeForView. This method creates and returns the Libgdx view, but does not display it (nor switches to full screen), so you can place it in any layout you want.