mirror of
https://github.com/apache/cordova-android.git
synced 2025-02-01 02:12:58 +08:00
CB-883: SplashScreen without show() method, only hide()
This commit is contained in:
parent
6c594b6f5f
commit
5c7783305a
@ -260,7 +260,7 @@ public class DroidGap extends Activity implements CordovaInterface {
|
|||||||
{
|
{
|
||||||
getWindow().requestFeature(Window.FEATURE_NO_TITLE);
|
getWindow().requestFeature(Window.FEATURE_NO_TITLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(this.getBooleanProperty("setFullscreen", false))
|
if(this.getBooleanProperty("setFullscreen", false))
|
||||||
{
|
{
|
||||||
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
|
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
|
||||||
@ -866,7 +866,7 @@ public class DroidGap extends Activity implements CordovaInterface {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Launch an activity for which you would like a result when it finished. When this activity exits,
|
* Launch an activity for which you would like a result when it finished. When this activity exits,
|
||||||
* your onActivityResult() method will be called.
|
* your onActivityResult() method will be called.
|
||||||
*
|
*
|
||||||
* @param command The command object
|
* @param command The command object
|
||||||
@ -1088,40 +1088,46 @@ public class DroidGap extends Activity implements CordovaInterface {
|
|||||||
* Shows the splash screen over the full Activity
|
* Shows the splash screen over the full Activity
|
||||||
*/
|
*/
|
||||||
@SuppressWarnings("deprecation")
|
@SuppressWarnings("deprecation")
|
||||||
protected void showSplashScreen(int time) {
|
protected void showSplashScreen(final int time) {
|
||||||
|
final DroidGap that = this;
|
||||||
|
|
||||||
// Get reference to display
|
Runnable runnable = new Runnable() {
|
||||||
Display display = getWindowManager().getDefaultDisplay();
|
|
||||||
|
|
||||||
// Create the layout for the dialog
|
|
||||||
LinearLayout root = new LinearLayout(this);
|
|
||||||
root.setMinimumHeight(display.getHeight());
|
|
||||||
root.setMinimumWidth(display.getWidth());
|
|
||||||
root.setOrientation(LinearLayout.VERTICAL);
|
|
||||||
root.setBackgroundColor(this.getIntegerProperty("backgroundColor", Color.BLACK));
|
|
||||||
root.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT,
|
|
||||||
ViewGroup.LayoutParams.FILL_PARENT, 0.0F));
|
|
||||||
root.setBackgroundResource(this.splashscreen);
|
|
||||||
|
|
||||||
// Create and show the dialog
|
|
||||||
splashDialog = new Dialog(this, android.R.style.Theme_Translucent_NoTitleBar);
|
|
||||||
// check to see if the splash screen should be full screen
|
|
||||||
if ((getWindow().getAttributes().flags & WindowManager.LayoutParams.FLAG_FULLSCREEN)
|
|
||||||
== WindowManager.LayoutParams.FLAG_FULLSCREEN) {
|
|
||||||
splashDialog.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
|
|
||||||
WindowManager.LayoutParams.FLAG_FULLSCREEN);
|
|
||||||
}
|
|
||||||
splashDialog.setContentView(root);
|
|
||||||
splashDialog.setCancelable(false);
|
|
||||||
splashDialog.show();
|
|
||||||
|
|
||||||
// Set Runnable to remove splash screen just in case
|
|
||||||
final Handler handler = new Handler();
|
|
||||||
handler.postDelayed(new Runnable() {
|
|
||||||
public void run() {
|
public void run() {
|
||||||
removeSplashScreen();
|
// Get reference to display
|
||||||
|
Display display = getWindowManager().getDefaultDisplay();
|
||||||
|
|
||||||
|
// Create the layout for the dialog
|
||||||
|
LinearLayout root = new LinearLayout(that.getActivity());
|
||||||
|
root.setMinimumHeight(display.getHeight());
|
||||||
|
root.setMinimumWidth(display.getWidth());
|
||||||
|
root.setOrientation(LinearLayout.VERTICAL);
|
||||||
|
root.setBackgroundColor(that.getIntegerProperty("backgroundColor", Color.BLACK));
|
||||||
|
root.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT,
|
||||||
|
ViewGroup.LayoutParams.FILL_PARENT, 0.0F));
|
||||||
|
root.setBackgroundResource(that.splashscreen);
|
||||||
|
|
||||||
|
// Create and show the dialog
|
||||||
|
splashDialog = new Dialog(that, android.R.style.Theme_Translucent_NoTitleBar);
|
||||||
|
// check to see if the splash screen should be full screen
|
||||||
|
if ((getWindow().getAttributes().flags & WindowManager.LayoutParams.FLAG_FULLSCREEN)
|
||||||
|
== WindowManager.LayoutParams.FLAG_FULLSCREEN) {
|
||||||
|
splashDialog.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
|
||||||
|
WindowManager.LayoutParams.FLAG_FULLSCREEN);
|
||||||
|
}
|
||||||
|
splashDialog.setContentView(root);
|
||||||
|
splashDialog.setCancelable(false);
|
||||||
|
splashDialog.show();
|
||||||
|
|
||||||
|
// Set Runnable to remove splash screen just in case
|
||||||
|
final Handler handler = new Handler();
|
||||||
|
handler.postDelayed(new Runnable() {
|
||||||
|
public void run() {
|
||||||
|
removeSplashScreen();
|
||||||
|
}
|
||||||
|
}, time);
|
||||||
}
|
}
|
||||||
}, time);
|
};
|
||||||
|
this.runOnUiThread(runnable);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -31,8 +31,9 @@ public class SplashScreen extends Plugin {
|
|||||||
String result = "";
|
String result = "";
|
||||||
|
|
||||||
if (action.equals("hide")) {
|
if (action.equals("hide")) {
|
||||||
//((DroidGap)this.ctx).removeSplashScreen();
|
|
||||||
this.webView.postMessage("splashscreen", "hide");
|
this.webView.postMessage("splashscreen", "hide");
|
||||||
|
} else if (action.equals("show")){
|
||||||
|
this.webView.postMessage("splashscreen", "show");
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
status = PluginResult.Status.INVALID_ACTION;
|
status = PluginResult.Status.INVALID_ACTION;
|
||||||
|
Loading…
Reference in New Issue
Block a user