|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.badlogic.gdx.scenes.scene2d.Actor
com.badlogic.gdx.scenes.scene2d.ui.Widget
public class Widget
An Actor
that participates in layout and provides a minimum, preferred, and maximum size.
The default preferred size of a widget is 0 and this is almost always overridden by a subclass. The default minimum size returns the preferred size, so a subclass may choose to return 0 if it wants to allow itself to be sized smaller. The default maximum size is 0, which means no maximum size.
See Layout
for details on how a widget should participate in layout. A widget's mutator methods should call
invalidate()
or invalidateHierarchy()
as needed.
Constructor Summary | |
---|---|
Widget()
|
Method Summary | |
---|---|
void |
draw(Batch batch,
float parentAlpha)
If this method is overridden, the super method or validate() should be called to ensure the widget is laid out. |
float |
getMaxHeight()
Zero indicates no max height. |
float |
getMaxWidth()
Zero indicates no max width. |
float |
getMinHeight()
|
float |
getMinWidth()
|
float |
getPrefHeight()
|
float |
getPrefWidth()
|
void |
invalidate()
Invalidates this actor's layout, causing Layout.layout() to happen the next time Layout.validate() is called. |
void |
invalidateHierarchy()
Invalidates this actor and all its parents, calling Layout.invalidate() on all involved actors. |
void |
layout()
Computes and caches any information needed for drawing and, if this actor has children, positions and sizes each child, calls Layout.invalidate() any each child whose width or height has changed, and calls Layout.validate() on each child. |
boolean |
needsLayout()
Returns true if the widget's layout has been invalidated . |
void |
pack()
Sizes this actor to its preferred width and height, then calls Layout.validate() . |
void |
setFillParent(boolean fillParent)
If true, this actor will be sized to the parent in Layout.validate() . |
void |
setLayoutEnabled(boolean enabled)
Enables or disables the layout for this actor and all child actors, recursively. |
void |
validate()
Ensures the actor has been laid out. |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public Widget()
Method Detail |
---|
public float getMinWidth()
getMinWidth
in interface Layout
public float getMinHeight()
getMinHeight
in interface Layout
public float getPrefWidth()
getPrefWidth
in interface Layout
public float getPrefHeight()
getPrefHeight
in interface Layout
public float getMaxWidth()
Layout
getMaxWidth
in interface Layout
public float getMaxHeight()
Layout
getMaxHeight
in interface Layout
public void setLayoutEnabled(boolean enabled)
Layout
Layout.validate()
will not
cause a layout to occur. This is useful when an actor will be manipulated externally, such as with actions. Default is true.
setLayoutEnabled
in interface Layout
public void validate()
Layout
Layout.layout()
if Layout.invalidate()
has called since the last time
Layout.validate()
was called, or if the actor otherwise needs to be laid out. This method is usually called in
Actor.draw(Batch, float)
before drawing is performed.
validate
in interface Layout
public boolean needsLayout()
invalidated
.
public void invalidate()
Layout
Layout.layout()
to happen the next time Layout.validate()
is called. This
method should be called when state changes in the actor that requires a layout but does not change the minimum, preferred,
maximum, or actual size of the actor (meaning it does not affect the parent actor's layout).
invalidate
in interface Layout
public void invalidateHierarchy()
Layout
Layout.invalidate()
on all involved actors. This method should be
called when state changes in the actor that affects the minimum, preferred, maximum, or actual size of the actor (meaning it
it potentially affects the parent actor's layout).
invalidateHierarchy
in interface Layout
public void pack()
Layout
Layout.validate()
.
Generally this method should not be called in an actor's constructor because it calls Layout.layout()
, which means a
subclass would have layout() called before the subclass' constructor. Instead, in constructors, simply set the actor's size
to Layout.getPrefWidth()
and Layout.getPrefHeight()
. This allows the actor to have a size at construction time for more
convenient use outside of a Table
.
pack
in interface Layout
public void setFillParent(boolean fillParent)
Layout
Layout.validate()
. If the parent is the stage, the actor will be sized
to the stage.
setFillParent
in interface Layout
public void draw(Batch batch, float parentAlpha)
validate()
should be called to ensure the widget is laid out.
draw
in class Actor
parentAlpha
- Should be multiplied with the actor's alpha, allowing a parent's alpha to affect all children.public void layout()
Layout
Layout.invalidate()
any each child whose width or height has changed, and calls Layout.validate()
on each child.
This method should almost never be called directly, instead Layout.validate()
should be used.
layout
in interface Layout
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |