libgdx API

com.badlogic.gdx.scenes.scene2d.ui
Class ToggleButton

java.lang.Object
  extended by com.badlogic.gdx.scenes.scene2d.Actor
      extended by com.badlogic.gdx.scenes.scene2d.ui.Widget
          extended by com.badlogic.gdx.scenes.scene2d.ui.ToggleButton
All Implemented Interfaces:
Layout

public class ToggleButton
extends Widget

A toggle button.

Functionality

A toggle button can be either in a pressed or unpressed state. A ToggleButton.ClickListener can be registered with the ToggleButton which will be called in case the button changed its state.

Layout

The (preferred) width and height of an ImageToggleButton are derived from the border patches in the background NinePatch as well as the bounding box of the multi-line label displayed inside the ToggleButton. Use Widget.setPrefSize(int, int) to programmatically change the size to your liking. In case the width and height you set are to small for the contained label you will see artifacts.

Style

A ToggleButton is a Widget displaying a background NinePatch as well as multi-line text with a specific font and color. The style is defined via an instance of ToggleButton.ToggleButtonStyle, which can be either done programmatically or via a Skin.

A Button's style definition in a skin XML file should look like this:
 <togglebutton name="styleName" 
               down="downNinePatch" 
               up="upNinePatch" 
               font="fontName" 
               fontColor="colorName"/>/>
 
 

Author:
mzechner

Nested Class Summary
static interface ToggleButton.ClickListener
          Interface to listen for button state changes.
static class ToggleButton.ToggleButtonStyle
          Defines the style of a toggle button, see ToggleButton
 
Field Summary
 
Fields inherited from class com.badlogic.gdx.scenes.scene2d.ui.Widget
invalidated, prefHeight, prefWidth
 
Fields inherited from class com.badlogic.gdx.scenes.scene2d.Actor
actions, color, height, name, originX, originY, parent, rotation, scaleX, scaleY, touchable, visible, width, x, y
 
Constructor Summary
ToggleButton(java.lang.String label, Skin skin)
           
ToggleButton(java.lang.String name, java.lang.String label, ToggleButton.ToggleButtonStyle style)
          Creates a new ToggleButton.
ToggleButton(java.lang.String label, ToggleButton.ToggleButtonStyle style)
           
 
Method Summary
 void draw(SpriteBatch batch, float parentAlpha)
          Draws the Actor.
 java.lang.String getText()
           
 Actor hit(float x, float y)
           
 boolean isPressed()
           
 void layout()
          Positions and sizes each child of this actor.
 ToggleButton setClickListener(ToggleButton.ClickListener listener)
          Sets the ToggleButton.ClickListener of this button.
 void setPressed(boolean isPressed)
          Sets whether this button is pressed or not.
 void setStyle(ToggleButton.ToggleButtonStyle style)
          Sets the style of this widget.
 void setText(java.lang.String text)
          Sets the text label of this button.
 boolean touchDown(float x, float y, int pointer)
           
 void touchDragged(float x, float y, int pointer)
           
 void touchUp(float x, float y, int pointer)
           
 
Methods inherited from class com.badlogic.gdx.scenes.scene2d.ui.Widget
getPrefHeight, getPrefWidth, invalidate, invalidateHierarchy, setPrefSize
 
Methods inherited from class com.badlogic.gdx.scenes.scene2d.Actor
act, action, clearActions, isMarkedToRemove, keyDown, keyTyped, keyUp, markToRemove, remove, scrolled, toLocalCoordinates, toString, touchMoved
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ToggleButton

public ToggleButton(java.lang.String label,
                    Skin skin)

ToggleButton

public ToggleButton(java.lang.String label,
                    ToggleButton.ToggleButtonStyle style)

ToggleButton

public ToggleButton(java.lang.String name,
                    java.lang.String label,
                    ToggleButton.ToggleButtonStyle style)
Creates a new ToggleButton. The width and height are determined by the background NinePatch border patches as well as the bounding box around the contained text label.

Parameters:
name - the name
label - the multi-line label
style - the ToggleButton.ToggleButtonStyle
Method Detail

setStyle

public void setStyle(ToggleButton.ToggleButtonStyle style)
Sets the style of this widget. Calls Widget.invalidateHierarchy() internally.

Parameters:
style -

layout

public void layout()
Description copied from interface: Layout
Positions and sizes each child of this actor. Subsequent calls will not have any affect unless Layout.invalidate() is called.


draw

public void draw(SpriteBatch batch,
                 float parentAlpha)
Description copied from class: Actor
Draws the Actor. The spriteBatch is configured so that the Actor can draw in its parents coordinate system. The parent's alpha is passed to the method in order for the Actor to multiply it with its own alpha. This will allow FadeIn and other Actions to have an effect even if they are only set on the parent of the Actor.

Specified by:
draw in class Actor
Parameters:
batch - the spritebatch to render with
parentAlpha - the parent's alpha value.

touchDown

public boolean touchDown(float x,
                         float y,
                         int pointer)
Specified by:
touchDown in class Actor

touchUp

public void touchUp(float x,
                    float y,
                    int pointer)
Specified by:
touchUp in class Actor

touchDragged

public void touchDragged(float x,
                         float y,
                         int pointer)
Specified by:
touchDragged in class Actor

hit

public Actor hit(float x,
                 float y)
Overrides:
hit in class Widget

setText

public void setText(java.lang.String text)
Sets the text label of this button. Invalidates all parents.

Parameters:
text - the text

getText

public java.lang.String getText()
Returns:
the text label of this button

setClickListener

public ToggleButton setClickListener(ToggleButton.ClickListener listener)
Sets the ToggleButton.ClickListener of this button.

Parameters:
listener - the listener or null
Returns:
this ToggleButton for chaining

isPressed

public boolean isPressed()
Returns:
whether this button is pressed or not.

setPressed

public void setPressed(boolean isPressed)
Sets whether this button is pressed or not.

Parameters:
isPressed - whether the button is pressed or not

libgdx API

Copyright 2010 Mario Zechner (contact@badlogicgames.com), Nathan Sweet (admin@esotericsoftware.com)