public class ThemeManager
extends java.lang.Object
| Modifier and Type | Class and Description |
|---|---|
static interface |
ThemeManager.EventDispatcher |
static class |
ThemeManager.OnThemeChangedEvent |
static interface |
ThemeManager.OnThemeChangedListener |
static class |
ThemeManager.SimpleDispatcher |
| Modifier and Type | Field and Description |
|---|---|
static int |
THEME_UNDEFINED |
| Constructor and Description |
|---|
ThemeManager() |
| Modifier and Type | Method and Description |
|---|---|
android.content.Context |
getContext() |
int |
getCurrentStyle(int styleId)
Get current style of a styleId.
|
int |
getCurrentTheme()
Get the current theme.
|
static ThemeManager |
getInstance()
Get the singleton instance of ThemeManager.
|
int |
getStyle(int styleId,
int theme)
Get a specific style of a styleId.
|
static int |
getStyleId(android.content.Context context,
android.util.AttributeSet attrs,
int defStyleAttr,
int defStyleRes)
Get the styleId from attributes.
|
int |
getThemeCount()
Get the total theme.
|
static void |
init(android.content.Context context,
int totalTheme,
int defaultTheme,
ThemeManager.EventDispatcher dispatcher)
Init ThemeManager.
|
void |
registerOnThemeChangedListener(ThemeManager.OnThemeChangedListener listener)
Register a listener will be called when current theme changed.
|
boolean |
setCurrentTheme(int theme)
Set the current theme.
|
protected void |
setup(android.content.Context context,
int totalTheme,
int defaultTheme,
ThemeManager.EventDispatcher dispatcher) |
void |
unregisterOnThemeChangedListener(ThemeManager.OnThemeChangedListener listener)
Unregister a listener from be called when current theme changed.
|
public static final int THEME_UNDEFINED
public static int getStyleId(android.content.Context context,
android.util.AttributeSet attrs,
int defStyleAttr,
int defStyleRes)
context - attrs - defStyleAttr - defStyleRes - public static void init(android.content.Context context,
int totalTheme,
int defaultTheme,
ThemeManager.EventDispatcher dispatcher)
Application.onCreate().context - The context object. Should be {#link Application} object.totalTheme - The total theme.defaultTheme - The default theme if current theme isn't set.dispatcher - The ThemeManager.EventDispatcher will be used to dispatch ThemeManager.OnThemeChangedEvent. If null, then use ThemeManager.SimpleDispatcher.public static ThemeManager getInstance()
protected void setup(android.content.Context context,
int totalTheme,
int defaultTheme,
ThemeManager.EventDispatcher dispatcher)
public android.content.Context getContext()
public int getCurrentTheme()
public boolean setCurrentTheme(int theme)
theme - The current theme.public int getThemeCount()
public int getCurrentStyle(int styleId)
styleId - The styleId.public int getStyle(int styleId,
int theme)
styleId - The styleId.theme - The theme.public void registerOnThemeChangedListener(ThemeManager.OnThemeChangedListener listener)
listener - A ThemeManager.OnThemeChangedListener will be registered.public void unregisterOnThemeChangedListener(ThemeManager.OnThemeChangedListener listener)
listener - A ThemeManager.OnThemeChangedListener will be unregistered.