Merge pull request #52320 from nekomatata/android-plugin-view-order
Add support for adding plugin views behind the main view on Android
This commit is contained in:
commit
a160a95ea6
|
@ -295,7 +295,11 @@ public class Godot extends Fragment implements SensorEventListener, IDownloaderC
|
||||||
for (GodotPlugin plugin : pluginRegistry.getAllPlugins()) {
|
for (GodotPlugin plugin : pluginRegistry.getAllPlugins()) {
|
||||||
View pluginView = plugin.onMainCreate(activity);
|
View pluginView = plugin.onMainCreate(activity);
|
||||||
if (pluginView != null) {
|
if (pluginView != null) {
|
||||||
containerLayout.addView(pluginView);
|
if (plugin.shouldBeOnTop()) {
|
||||||
|
containerLayout.addView(pluginView);
|
||||||
|
} else {
|
||||||
|
containerLayout.addView(pluginView, 0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -191,6 +191,9 @@ public abstract class GodotPlugin {
|
||||||
* The plugin can return a non-null {@link View} layout in order to add it to the Godot view
|
* The plugin can return a non-null {@link View} layout in order to add it to the Godot view
|
||||||
* hierarchy.
|
* hierarchy.
|
||||||
*
|
*
|
||||||
|
* Use shouldBeOnTop() to set whether the plugin's {@link View} should be added on top or behind
|
||||||
|
* the main Godot view.
|
||||||
|
*
|
||||||
* @see Activity#onCreate(Bundle)
|
* @see Activity#onCreate(Bundle)
|
||||||
* @return the plugin's view to be included; null if no views should be included.
|
* @return the plugin's view to be included; null if no views should be included.
|
||||||
*/
|
*/
|
||||||
|
@ -310,6 +313,17 @@ public abstract class GodotPlugin {
|
||||||
return Collections.emptySet();
|
return Collections.emptySet();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns whether the plugin's {@link View} returned in onMainCreate() should be placed on
|
||||||
|
* top of the main Godot view.
|
||||||
|
*
|
||||||
|
* Returning false causes the plugin's {@link View} to be placed behind, which can be useful
|
||||||
|
* when used with transparency in order to let the Godot view handle inputs.
|
||||||
|
*/
|
||||||
|
public boolean shouldBeOnTop() {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Runs the specified action on the UI thread. If the current thread is the UI
|
* Runs the specified action on the UI thread. If the current thread is the UI
|
||||||
* thread, then the action is executed immediately. If the current thread is
|
* thread, then the action is executed immediately. If the current thread is
|
||||||
|
|
Loading…
Reference in New Issue