Compare commits

...

100 Commits

Author SHA1 Message Date
Vladimir Kotikov
5af0016c67 CB-10557 Updated version and RELEASENOTES.md for release 3.2.0 2016-02-09 13:13:27 +03:00
daserge
617960ee3e CB-10422 Splashscreen displays black screen with no image on Android 2016-01-27 18:58:56 +03:00
daserge
109c82b29b CB-10412 AutoHideSplashScreen "false" isn't taken in account on iOS 2016-01-27 18:53:23 +03:00
daserge
799b0a1737 CB-9516 Android SplashScreen - Spinner Does Not Display
Removes spinnerStop call from onMessage("spinner", "stop") as it is called when webview is shown and we are hiding spinner manually along with the splashscreen dialog.
Changed the spinner to be noncancellable.
Changed the ProgressDialog to custom only-spinner mode (on transparent background, without title/message and dimming).
Removed unused spinnerStart action handler.
Updated the docs.
2016-01-22 14:21:34 +03:00
Dan Polivy
5b3c2c8b14 CB-9094: Smarter autohide logic on Android
When the plugin is initialized, the splash screen is shown with an
auto-hide delay. If a subsequent call to show() comes in while the
splashscreen is visible, it will still be automatically hidden, even
though the user expectation is that it wouldn't be.

This fix tracks the "hideAfterDelay" setting of the most recent call to
show() -- and when the auto hide timer goes off, if the most recent call
to show() did not set hideAfterDelay, then the splashscreen will not be
automatically hidden.

This provides a more consistent -- and expected -- behavior based on
user action.

https://issues.apache.org/jira/browse/CB-9094

Github: close #49
2016-01-22 13:22:37 +03:00
daserge
7a12204ba9 CB-8396 Add AutoHideSplashScreen logic to Android's Splashscreen
Also initializing the splashscreen image irrespective of firstShow because the splashscreen could be shown manually via navigator.splashscreen.show(); after exiting the app using BackButton or via navigator.app.exitApp();
2016-01-18 11:36:21 +03:00
daserge
eada9a6ac1 Closing stale: close #14, close #17, close #23, close #33, close #63 2016-01-18 10:37:43 +03:00
Steve Gill
12dcd57d51 CB-10368 Incremented plugin version. 2016-01-15 16:58:32 -08:00
Steve Gill
0f4a9d3f18 CB-10368 Updated version and RELEASENOTES.md for release 3.1.0 2016-01-15 16:35:06 -08:00
daserge
50318213c4 CB-9538 Implementing FadeSplashScreen feature for Android
Refactoring, adds support of seconds for fade duration for backward compatibility
Includes fade duration into overall splashscreen duration to be consistent with iOS
Updated the docs
2016-01-11 12:49:38 +03:00
Philipp Grosswiler
34bc1dbf16 CB-9538 Implementing FadeSplashScreen feature for Android 2016-01-11 12:44:12 +03:00
daserge
3b2e9e5912 CB-9240 Cordova splash screen plugin iPad landscape mode issue
Aligns shouldRotate default value with parent CDVViewController behavior
2015-12-29 22:08:02 +03:00
daserge
d7841c7ec9 CB-10263 Fix splashscreen plugin filenames for Asset Catalog
Github: close #69
2015-12-29 12:00:31 +03:00
Wilson Pinto
1e67606c60 CB-9374 Android: add SplashShowOnlyFirstTime as preference
Github: close #70
2015-12-26 23:01:15 +03:00
daserge
fa3b665223 CB-10244 Don't rotate the iPhone 6 Plus splash 2015-12-22 17:28:53 +03:00
daserge
875ccbf5bc CB-9043 Fix the ios splashscreen being deformed on orientation change 2015-12-22 17:15:59 +03:00
Thejaswi Puthraya
ccb3c2f453 CB-10079 Splashscreen plugin does not honor SplashScreenDelay on iOS
Github: close #64
2015-12-21 08:00:27 -08:00
daserge
cfc6d74506 CB-10231 Fix FadeSplashScreen to default to true on iOS 2015-12-21 16:51:19 +03:00
Steve Gill
78d8ef94eb CB-10035 Incremented plugin version. 2015-11-30 17:57:07 -08:00
Steve Gill
e2239306d6 CB-10035 linked issues in RELEASENOTES.md 2015-11-18 22:11:41 -08:00
Steve Gill
ea3f7f7b07 CB-10035 Updated version and RELEASENOTES.md for release 3.0.0 2015-11-18 19:45:06 -08:00
Steve Gill
d348168e08 removed r prefix from tags 2015-11-18 14:53:11 -08:00
Steve Gill
848bd487e0 CB-10035 Updated RELEASENOTES to be newest to oldest 2015-11-18 13:54:08 -08:00
Dmitry Blotsky
d034ceee6e Actually fixing the contribute link. 2015-10-23 12:11:50 -07:00
Dmitry Blotsky
93aaf0529e Fixing contribute link. 2015-10-23 12:03:42 -07:00
Jesse MacFadyen
60fb0621ae Merge branch 'add-jira-link' of https://github.com/revolunet/cordova-plugin-splashscreen 2015-10-05 17:50:24 -07:00
Jesse MacFadyen
7eec7c8b43 Bumped version number for API changed in CB-9750 commit 2015-10-05 17:47:40 -07:00
Jesse MacFadyen
3a79663680 CB-9750 FadeSplashDuration is now in msecs 2015-10-05 17:46:12 -07:00
Jesse MacFadyen
b83392df21 This closes #56, This closes #44 2015-10-05 17:23:59 -07:00
Jesse MacFadyen
2b5187b909 fix formatting 2015-10-05 17:20:57 -07:00
Jesse MacFadyen
fb0764c528 CB-8875 FadeSplashScreen was not fading 2015-10-05 16:34:49 -07:00
Jesse MacFadyen
9a69f12ada CB-9749 documentation is wrong - default SplashScreenDelay 2015-10-05 14:16:30 -07:00
Jesse MacFadyen
9bd0ec7091 Add line to increase readability. Close #58 2015-09-14 13:54:48 -07:00
Julien Bouquillon
f675376de1 add JIRA issue tracker link 2015-09-10 18:29:36 +02:00
daserge
9ea2d4c86f CB-9467 SplashScreen does not show any image in hosted app on Windows 10 2015-08-07 11:29:05 +03:00
Andrey Kurdyumov
5aff6590f8 CB-7282 Document AutoHideSplashScreenpreference 2015-07-25 13:52:42 +06:00
Shazron Abdullah
f4a92d21ff CB-9327 - Splashscreen not receiving CDVPageLoadNotification 2015-07-07 18:17:07 -07:00
Jesse MacFadyen
0916db61b4 remove travis-ci 2015-07-07 17:55:55 -07:00
Roel van Uden
ac23964ac6 WP8: Avoid config value of a wrong element.
If you have an element that shares the `name`, like <feature
name="SplashScreen">, then the `value` attribute was read of that
instead (since it can appear *before* the preference element). Thus, the
config of `SplashScreen` preference was not settable at all.
2015-06-22 11:50:07 +02:00
Steve Gill
57ad3602f4 CB-9192 Incremented plugin version. 2015-06-17 17:35:36 -07:00
Steve Gill
4b1df233ae CB-9202 updated repo url to github mirror in package.json 2015-06-17 14:14:41 -07:00
Steve Gill
c4ba138de5 CB-9192 Updated version and RELEASENOTES.md for release 2.1.0 2015-06-17 12:36:05 -07:00
Steve Gill
805bcf505d added missing license headers 2015-06-17 11:11:40 -07:00
Victor Sosa
fa29a85fcb CB-9128 cordova-plugin-splashscreen documentation translation: cordova-plugin-splashscreen 2015-06-12 09:42:35 -05:00
Raymond Camden
ab26925e25 fix npm md issue 2015-06-02 11:01:17 -05:00
Shazron Abdullah
ed00c63d2d Fixed iOS unit tests. 2015-05-12 00:04:24 -07:00
Dan Polivy
52c025bbef CB-3562: Disable screen rotation for iPhone when splash screen is shown. (closes #47)
This is a port of emarashliev's original fix for CB-3562, cleaned up
to avoid deprecated functions.

Merge branch 'master' of https://github.com/emarashliev/cordova-plugin-splashscreen into CB3562

Signed-off-by: Shazron Abdullah <shazron@apache.org>
2015-05-11 23:59:44 -07:00
Dan Polivy
87f3c3a3ac CB-8988: Fix rotation on iOS/iPad (closes #46)
The viewController.interfaceOrientation passed to getImageName has not
yet been updated with the new orientation, even when the frame/bounds
change event has fired. Thus, the plugin never actually loads the
correct image for the new orientation. Instead, it poorly scales the
existing image.

This fix uses the statusBarOrientation property of the UIApplication
object to detect the actual orientation, and correctly load the right
image.

Signed-off-by: Shazron Abdullah <shazron@apache.org>
2015-05-11 17:46:58 -07:00
Joe Bowser
6cc3d1f3fe CB-8904: Don't reset the static variable when it's destroyed, otherwise we might as well just have a member variable 2015-05-07 15:59:39 -07:00
sgrebnov
b7750760f4 Removed wp7 from plugin.xml and package.json 2015-04-25 14:58:11 -07:00
sgrebnov
00e8999eeb CB-8750 [wp8]: Rewrite resoultion helper 2015-04-25 14:56:39 -07:00
sgrebnov
9549ce3a9d CB-8750 [wp8]: Allow resolution-specific splashscreen images
There are two aspect ratios for Windows Phone devices: 15:9 and 16:9. At
the moment, though, there is only one splash screen by default for WP8
Cordova apps. When stretched to fit all possible resolutions, this can
sometimes look bad.

WP supports resolution-specific splashscreens, so this commit adds the
same support to the splashscreen plugin. It uses the same base name for
the splashscreen, but adds modifiers such as ".screen-<res>" based on
the device. If a screen-specific image is found, it is used. If not, we
fall back to the single default image.

Fixes https://issues.apache.org/jira/browse/CB-8750

github close #41
github close #42
2015-04-25 14:55:21 -07:00
Dan Polivy
62e92afae8 CB-8758 [wp8]: UnauthorizedAccessException on hide()
When calling hide() from JS, the attempt to access Popup could happen on
a background thread, which ends up throwing an
UnauthorizedAccessException about cross-thread access.

To address this, it's best to check the popup's state from within the UI
thread.

Fixes https://issues.apache.org/jira/browse/CB-8758
2015-04-25 14:32:17 -07:00
Steve Gill
fa60f01adc CB-8858 Incremented plugin version. 2015-04-15 16:00:22 -07:00
Steve Gill
d23ea4e011 CB-8858 Updated version in package.json for release 2.0.0 2015-04-15 15:50:47 -07:00
Steve Gill
0a46c4cbbb Revert "CB-8858 Incremented plugin version."
This reverts commit a510cd21ec.
2015-04-15 14:31:12 -07:00
Steve Gill
a510cd21ec CB-8858 Incremented plugin version. 2015-04-15 13:55:47 -07:00
Steve Gill
76bf7655a0 CB-8858 Updated version and RELEASENOTES.md for release 2.0.0 2015-04-15 11:06:38 -07:00
Jesse MacFadyen
9575c92db6 give users a way to install the bleeding edge. 2015-04-13 11:40:00 -07:00
Steve Gill
a9ac114130 CB-8746 gave plugin major version bump 2015-04-09 17:03:54 -07:00
Shazron Abdullah
48def1443a CB-8797 - Splashscreen preferences FadeSplashScreenDuration and FadeSplashScreen (iOS) are missing 2015-04-09 14:19:23 -07:00
Shazron Abdullah
559b300d29 CB-8836 - Crashes after animating splashscreen 2015-04-09 14:07:18 -07:00
Andrew Grieve
35272415d3 CB-8753 android: Fix missing import in previous commit 2015-04-07 20:37:06 -04:00
Alex Talis
dd9c88204c CB-8753 android: Adds SplashMaintainAspectRatio preference (close #43) 2015-04-07 10:55:23 -04:00
Steve Gill
5dc26d7e65 CB-8683 changed plugin-id to pacakge-name 2015-04-01 16:41:33 -07:00
Steve Gill
1c41959288 CB-8653 properly updated translated docs to use new id 2015-03-31 16:06:01 -07:00
Steve Gill
43e9c75345 CB-8653 updated translated docs to use new id 2015-03-31 10:53:32 -07:00
Andrew Grieve
9b3f750085 CB-8345 Make default for splashscreen resource "screen" (which is what template and CLI assume it to be) 2015-03-30 09:48:04 -04:00
Andrew Grieve
ba6730e594 Revert "CB-8345 android: Make "splash" the default resource ID instead of null"
This reverts commit 1d89a2aa1b.
There were some other changes in there that weren't meant to be made!
2015-03-30 09:47:00 -04:00
Jesse MacFadyen
89c23fad03 Use TRAVIS_BUILD_DIR, install paramedic by npm 2015-03-24 23:43:27 -07:00
Andrew Grieve
1d89a2aa1b CB-8345 android: Make "splash" the default resource ID instead of null 2015-03-24 14:50:09 -04:00
sgrebnov
0ff8d52081 docs: added Windows to supported platforms 2015-03-19 18:24:40 +03:00
daserge
bb65993a51 CB-7964 Add cordova-plugin-splashscreen support for browser platform
Added Browser platform support
Using cordova/confighelper module to read parameter values from config.xml
Updated the docs
2015-03-18 16:01:31 +03:00
Steve Gill
6ce8a32865 CB-8653 Updated Readme 2015-03-13 19:41:09 -07:00
Jesse MacFadyen
5afde1c62f [wp8] oops, Added back config parse result checks 2015-03-10 15:03:39 -07:00
Jesse MacFadyen
6b1e72c631 [WP8] code cleanup, minor refactors, comments to clarify some stuff. 2015-03-10 14:27:29 -07:00
Jesse MacFadyen
98edfeb73e Merge branch 'galexandrov/wp8-fixes' of https://github.com/Icenium/cordova-plugin-splashscreen 2015-03-10 12:53:16 -07:00
Georgi Alexandrov
688b138e31 Extend WP8 Splash Screen to respect SplashScreen and SplashScreenDelay preferences from config file 2015-03-09 14:30:14 +02:00
Jesse MacFadyen
8bc540e454 CB-8574 Integrate TravisCI 2015-03-02 16:37:52 -08:00
Victor Sosa
4430cfce6b CB-8438 cordova-plugin-splashscreen documentation translation: cordova-plugin-splashscreen 2015-02-27 12:52:28 -06:00
Steve Gill
c1d4ca8d83 CB-8538 Added package.json file 2015-02-25 00:53:27 -08:00
sgrebnov
bcbc23958f CB-8397 Add support to 'windows' for showing the Windows Phone splashscreen 2015-02-11 13:36:02 +03:00
Andrew Grieve
b232cd7447 CB-8429 Incremented plugin version. 2015-02-04 20:54:03 -05:00
Andrew Grieve
a9f0faa499 CB-8429 Updated version and RELEASENOTES.md for release 1.0.0 2015-02-04 20:12:45 -05:00
Andrew Grieve
c3a5867c81 CB-8351 ios: Stop using deprecated IsIpad macro 2015-01-27 10:20:17 -05:00
Andrew Grieve
e86a9cc7a4 CB-8280 android: Don't apply SplashScreenDelay when .show() is called explicitly 2015-01-19 13:39:55 -05:00
Andrew Grieve
ddec7008cb CB-3679 Add engine tag for Android >= 3.6.0 due to use of preferences 2014-12-11 11:15:01 -05:00
Andrew Grieve
e320e2504a CB-8079 Use activity class package name, but fallback to application package name when looking for splash screen drawable 2014-12-10 21:18:00 -05:00
Andrew Grieve
e593fe3f53 CB-3679 Make SplashScreen plugin compatible with cordova-android@4.0.x 2014-12-10 16:09:54 -05:00
Andrew Grieve
50e4887aa1 CB-3679 Break Android splashscreen logic into splascreen plugin 2014-12-10 15:37:15 -05:00
Steve Gill
f67216d64a CB-8110 Incremented plugin version. 2014-12-02 16:08:50 -08:00
Steve Gill
67e8b9f01d CB-8110 Updated version and RELEASENOTES.md for release 0.3.5 2014-12-02 16:07:02 -08:00
Ian Clelland
29ac24ff9d Merge branch 'CB-7700' 2014-12-02 16:19:29 -05:00
Victor Sosa
3947f8570a CB-7700 cordova-plugin-splashscreen documentation translation: cordova-plugin-splashscreen 2014-10-20 10:39:27 -05:00
Shazron Abdullah
d2e62a551c CB-7204 - Race condition when hiding and showing spinner (closes #21) 2014-10-13 16:11:42 -07:00
Shazron Abdullah
c67622f1b9 Update iOS test to specify device 2014-10-13 16:06:17 -07:00
Nic Mulvaney
2f37eed184 Fix for portrait/landscape detection
Sometimes the width can be 568 or 320 depending on orientation on iPhone 5. This fixes the detection.

Signed-off-by: Shazron Abdullah <shazron@apache.org>
2014-10-13 16:03:33 -07:00
Ian Clelland
887f0f6c81 Merge branch 'master' of https://github.com/sosahvictor/cordova-plugin-splashscreen 2014-10-06 15:10:40 -04:00
Steven Gill
8804977c84 Incremented plugin version. 2014-10-03 17:09:47 -07:00
Victor Sosa
1009019372 CB-7700 cordova-plugin-splashscreen documentation translation: cordova-plugin-splashscreen 2014-10-02 18:13:15 -05:00
46 changed files with 2848 additions and 496 deletions

View File

@@ -27,7 +27,7 @@ There are multiple ways to contribute: report bugs, improve the docs, and
contribute code.
For instructions on this, start with the
[contribution overview](http://cordova.apache.org/#contribute).
[contribution overview](http://cordova.apache.org/contribute/).
The details are explained there, but the important items are:
- Sign and submit an Apache ICLA (Contributor License Agreement).

185
README.md
View File

@@ -1,22 +1,169 @@
<!---
license: Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
<!--
# license: Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-->
# org.apache.cordova.splashscreen
# cordova-plugin-splashscreen
Plugin documentation: [doc/index.md](doc/index.md)
This plugin displays and hides a splash screen during application launch.
:warning: Report issues on the [Apache Cordova issue tracker](https://issues.apache.org/jira/issues/?jql=project%20%3D%20CB%20AND%20status%20in%20%28Open%2C%20%22In%20Progress%22%2C%20Reopened%29%20AND%20resolution%20%3D%20Unresolved%20AND%20component%20%3D%20%22Plugin%20Splashscreen%22%20ORDER%20BY%20priority%20DESC%2C%20summary%20ASC%2C%20updatedDate%20DESC)
## Installation
// npm hosted (new) id
cordova plugin add cordova-plugin-splashscreen
// you may also install directly from this repo
cordova plugin add https://github.com/apache/cordova-plugin-splashscreen.git
## Supported Platforms
- Amazon Fire OS
- Android
- BlackBerry 10
- iOS
- Windows Phone 7 and 8
- Windows 8
- Windows
- Browser
## Preferences
#### config.xml
- __SplashScreen__ (string). The resource name which is used for the displaying splash screen. Different platforms use values for this.
<preference name="SplashScreen" value="resourcename" />
- __AutoHideSplashScreen__ (boolean, default to `true`). Indicates wherether hide splash screen automatically or not. Splash screen hidden after amount of time specified in the `SplashScreenDelay` preference.
<preference name="AutoHideSplashScreen" value="true" />
- __SplashScreenDelay__ (number, default to 3000). Amount of time in milliseconds to wait before automatically hide splash screen.
<preference name="SplashScreenDelay" value="3000" />
### Android Quirks
In your `config.xml`, you need to add the following preferences:
<preference name="SplashScreen" value="foo" />
<preference name="SplashScreenDelay" value="3000" />
<preference name="SplashMaintainAspectRatio" value="true|false" />
<preference name="SplashShowOnlyFirstTime" value="true|false" />
Where foo is the name of the splashscreen file, preferably a 9 patch file. Make sure to add your splashcreen files to your res/xml directory under the appropriate folders. The second parameter represents how long the splashscreen will appear in milliseconds. It defaults to 3000 ms. See [Icons and Splash Screens](http://cordova.apache.org/docs/en/edge/config_ref_images.md.html)
for more information.
"SplashMaintainAspectRatio" preference is optional. If set to true, splash screen drawable is not stretched to fit screen, but instead simply "covers" the screen, like CSS "background-size:cover". This is very useful when splash screen images cannot be distorted in any way, for example when they contain scenery or text. This setting works best with images that have large margins (safe areas) that can be safely cropped on screens with different aspect ratios.
The plugin reloads splash drawable whenever orientation changes, so you can specify different drawables for portrait and landscape orientations.
"SplashShowOnlyFirstTime" preference is also optional and defaults to `true`. When set to `true` splash screen will only appear on application launch. However, if you plan to use `navigator.app.exitApp()` to close application and force splash screen appear on next launch, you should set this property to `false` (this also applies to closing the App with Back button).
### Browser Quirks
You can use the following preferences in your `config.xml`:
<platform name="browser">
<preference name="SplashScreen" value="images/browser/splashscreen.jpg" /> <!-- defaults to "img/logo.png" -->
<preference name="SplashScreenDelay" value="3000" /> <!-- defaults to "3000" -->
<preference name="SplashScreenBackgroundColor" value="green" /> <!-- defaults to "#464646" -->
<preference name="ShowSplashScreen" value="false" /> <!-- defaults to "true" -->
<preference name="SplashScreenWidth" value="600" /> <!-- defaults to "170" -->
<preference name="SplashScreenHeight" value="300" /> <!-- defaults to "200" -->
</platform>
### Android and iOS Quirks
- `FadeSplashScreen` (boolean, defaults to `true`): Set to `false` to
prevent the splash screen from fading in and out when its display
state changes.
<preference name="FadeSplashScreen" value="false"/>
- `FadeSplashScreenDuration` (float, defaults to `3000`): Specifies the
number of milliseconds for the splash screen fade effect to execute.
<preference name="FadeSplashScreenDuration" value="3000"/>
Note also that this value used to be seconds, and not milliseconds, so values less than 30 will still be treated as seconds. ( Consider this a deprecated patch that will disapear in some future version. )
_Note_: `FadeSplashScreenDuration` is included into `SplashScreenDelay`, for example if you have `<preference name="SplashScreenDelay" value="3000" />` and `<preference name="FadeSplashScreenDuration" value="1000"/>` defined in `config.xml`:
- 00:00 - splashscreen is shown
- 00:02 - fading has started
- 00:03 - splashscreen is hidden
Turning the fading off via `<preference name="FadeSplashScreen" value="false"/>` technically means fading duration to be `0` so that in this example the overall splash delay will still be 3 seconds.
_Note_: This only applies to the app startup - you need to take the fading timeout into account when manually showing/hiding the splashscreen in the code:
```javascript
navigator.splashscreen.show();
window.setTimeout(function () {
navigator.splashscreen.hide();
}, splashDuration - fadeDuration);
```
- `ShowSplashScreenSpinner` (boolean, defaults to `true`): Set to `false`
to hide the splash-screen spinner.
<preference name="ShowSplashScreenSpinner" value="false"/>
## Methods
- splashscreen.show
- splashscreen.hide
## splashscreen.hide
Dismiss the splash screen.
navigator.splashscreen.hide();
### BlackBerry 10, WP8, iOS Quirk
The `config.xml` file's `AutoHideSplashScreen` setting must be
`false`. To delay hiding the splash screen for two seconds, add a
timer such as the following in the `deviceready` event handler:
setTimeout(function() {
navigator.splashscreen.hide();
}, 2000);
## splashscreen.show
Displays the splash screen.
navigator.splashscreen.show();
Your application cannot call `navigator.splashscreen.show()` until the app has
started and the `deviceready` event has fired. But since typically the splash
screen is meant to be visible before your app has started, that would seem to
defeat the purpose of the splash screen. Providing some configuration in
`config.xml` will automatically `show` the splash screen immediately after your
app launch and before it has fully started and received the `deviceready`
event. See [Icons and Splash Screens](http://cordova.apache.org/docs/en/edge/config_ref_images.md.html)
for more information on doing this configuration. For this reason, it is
unlikely you need to call `navigator.splashscreen.show()` to make the splash
screen visible for app startup.

View File

@@ -20,43 +20,102 @@
-->
# Release Notes
### 0.2.2 (Sept 25, 2013)
* CB-4889 bumping&resetting version
* CB-4889 renaming org.apache.cordova.core.splashscreen to org.apache.cordova.splashscreen
* Rename CHANGELOG.md -> RELEASENOTES.md
* [CB-4806] Update splashscreen image bounds for iOS 7
* [CB-4752] Incremented plugin version on dev branch.
### 3.2.0 (Feb 09, 2016)
* [CB-10422](https://issues.apache.org/jira/browse/CB-10422) Splashscreen displays black screen with no image on Android
* [CB-10412](https://issues.apache.org/jira/browse/CB-10412) AutoHideSplashScreen "false" isn't taken in account on iOS
* [CB-9516](https://issues.apache.org/jira/browse/CB-9516) Android SplashScreen - Spinner Does Not Display
* [CB-9094](https://issues.apache.org/jira/browse/CB-9094) Smarter autohide logic on Android
* [CB-8396](https://issues.apache.org/jira/browse/CB-8396) Add AutoHideSplashScreen logic to Android's Splashscreen
### 0.2.3 (Oct 9, 2013)
* [CB-4806] Re-fix Update splashscreen image bounds for iOS 7
* [CB-4934] plugin-splashscreen should not show by default on Windows8
* [CB-4929] plugin-splashscreen not loading proxy windows8
* [CB-4915] Incremented plugin version on dev branch.
### 3.1.0 (Jan 15, 2016)
* CB-9538 Implementing `FadeSplashScreen` feature for **Android**
* CB-9240 Cordova splash screen plugin **iPad** landscape mode issue
* CB-10263 Fix splashscreen plugin filenames for Asset Catalog
* CB-9374 **Android** add `SplashShowOnlyFirstTime` as preference
* CB-10244 Don't rotate the **iPhone 6 Plus** splash
* CB-9043 Fix the **ios** splashscreen being deformed on orientation change
* CB-10079 Splashscreen plugin does not honor `SplashScreenDelay` on **iOS**
* CB-10231 Fix `FadeSplashScreen` to default to true on **iOS**
### 0.2.4 (Oct 28, 2013)
* CB-5128: add repo + issue tag to plugin.xml for splashscreen plugin
* [CB-5010] Incremented plugin version on dev branch.
### 3.0.0 (Nov 18, 2015)
* [CB-10035](https://issues.apache.org/jira/browse/CB-10035) Updated `RELEASENOTES` to be newest to oldest
* Fixing contribute link.
* [CB-9750](https://issues.apache.org/jira/browse/CB-9750) `FadeSplashDuration` is now in `msecs`
* [CB-8875](https://issues.apache.org/jira/browse/CB-8875) `FadeSplashScreen` was not fading
* [CB-9467](https://issues.apache.org/jira/browse/CB-9467) SplashScreen does not show any image in hosted app on **Windows 10**
* [CB-7282](https://issues.apache.org/jira/browse/CB-7282) Document `AutoHideSplashScreenpreference`
* [CB-9327](https://issues.apache.org/jira/browse/CB-9327) - Splashscreen not receiving `CDVPageLoadNotification`
* WP8: Avoid config `value` of a wrong element.
### 0.2.5 (Dec 4, 2013)
* add ubuntu platform
* Added amazon-fireos platform. Change to use amazon-fireos as a platform if the user agent string contains 'cordova-amazon-fireos'
* CB-5124 - Remove splashscreen config.xml values from iOS Configuration Docs, move to plugin docs
### 2.1.0 (Jun 17, 2015)
* added missing license headers
* [CB-9128](https://issues.apache.org/jira/browse/CB-9128) cordova-plugin-splashscreen documentation translation: cordova-plugin-splashscreen
* fix npm md issue
* Fixed iOS unit tests.
* [CB-3562](https://issues.apache.org/jira/browse/CB-3562): Disable screen rotation for iPhone when splash screen is shown. (closes #47)
* [CB-8988](https://issues.apache.org/jira/browse/CB-8988): Fix rotation on iOS/iPad (closes #46)
* [CB-8904](https://issues.apache.org/jira/browse/CB-8904): Don't reset the static variable when it's destroyed, otherwise we might as well just have a member variable
* Removed wp7 from plugin.xml and package.json
* [CB-8750](https://issues.apache.org/jira/browse/CB-8750) [wp8]: Rewrite resoultion helper
* [CB-8750](https://issues.apache.org/jira/browse/CB-8750) [wp8]: Allow resolution-specific splashscreen images
* [CB-8758](https://issues.apache.org/jira/browse/CB-8758) [wp8]: UnauthorizedAccessException on hide()
### 0.2.6 (Jan 02, 2014)
* CB-5658 Add doc/index.md for Splashscreen plugin
* Handle error when splash image is missing.
### 2.0.0 (Apr 15, 2015)
* give users a way to install the bleeding edge.
* [CB-8746](https://issues.apache.org/jira/browse/CB-8746) gave plugin major version bump
* [CB-8797](https://issues.apache.org/jira/browse/CB-8797) - Splashscreen preferences FadeSplashScreenDuration and FadeSplashScreen (iOS) are missing
* [CB-8836](https://issues.apache.org/jira/browse/CB-8836) - Crashes after animating splashscreen
* [CB-8753](https://issues.apache.org/jira/browse/CB-8753) android: Fix missing import in previous commit
* [CB-8753](https://issues.apache.org/jira/browse/CB-8753) android: Adds `SplashMaintainAspectRatio` preference (close #43)
* [CB-8683](https://issues.apache.org/jira/browse/CB-8683) changed plugin-id to pacakge-name
* [CB-8653](https://issues.apache.org/jira/browse/CB-8653) properly updated translated docs to use new id
* [CB-8653](https://issues.apache.org/jira/browse/CB-8653) updated translated docs to use new id
* [CB-8345](https://issues.apache.org/jira/browse/CB-8345) Make default for splashscreen resource "screen" (which is what template and CLI assume it to be)
* Revert "CB-8345 android: Make "splash" the default resource ID instead of null"
* Use TRAVIS_BUILD_DIR, install paramedic by npm
* [CB-8345](https://issues.apache.org/jira/browse/CB-8345) android: Make "splash" the default resource ID instead of null
* docs: added Windows to supported platforms
* [CB-7964](https://issues.apache.org/jira/browse/CB-7964) Add cordova-plugin-splashscreen support for browser platform
* [CB-8653](https://issues.apache.org/jira/browse/CB-8653) Updated Readme
* [wp8] oops, Added back config parse result checks
* [WP8] code cleanup, minor refactors, comments to clarify some stuff.
* Extend WP8 Splash Screen to respect SplashScreen and SplashScreenDelay preferences from config file
* [CB-8574](https://issues.apache.org/jira/browse/CB-8574) Integrate TravisCI
* [CB-8438](https://issues.apache.org/jira/browse/CB-8438) cordova-plugin-splashscreen documentation translation: cordova-plugin-splashscreen
* [CB-8538](https://issues.apache.org/jira/browse/CB-8538) Added package.json file
* [CB-8397](https://issues.apache.org/jira/browse/CB-8397) Add support to 'windows' for showing the Windows Phone splashscreen
### 0.2.7 (Feb 05, 2014)
* [CB-3562] Fix aspect ratio on landscape-only iPhone applications
* CB-4051 fix for splashscreen rotation problem
### 1.0.0 (Feb 04, 2015)
* [CB-8351](https://issues.apache.org/jira/browse/CB-8351) ios: Stop using deprecated IsIpad macro
* [CB-3679](https://issues.apache.org/jira/browse/CB-3679) Add engine tag for Android >= 3.6.0 due to use of `preferences`
* [CB-3679](https://issues.apache.org/jira/browse/CB-3679) Make SplashScreen plugin compatible with cordova-android@4.0.x
### 0.3.0 (Apr 17, 2014)
* Add Tizen support to plugin
* CB-6422: [windows8] use cordova/exec/proxy
* CB-4051: [ios] - Re-fix - Splashscreen rotation problem (closes #13)
* CB-6460: Update license headers
* CB-6465: Add license headers to Tizen code
* Add NOTICE file
### 0.3.5 (Dec 02, 2014)
* [CB-7204](https://issues.apache.org/jira/browse/CB-7204) - Race condition when hiding and showing spinner (closes #21)
* [CB-7700](https://issues.apache.org/jira/browse/CB-7700) cordova-plugin-splashscreen documentation translation: cordova-plugin-splashscreen
### 0.3.4 (Oct 03, 2014)
* Finalized iOS splash screen (image name) tests. 176 tests in all, 44 for each type of device (iPad, iPhone, iPhone5, iPhone6, iPhone 6 Plus).
* [CB-7633](https://issues.apache.org/jira/browse/CB-7633) - (Re-fix based on updated unit tests) iPhone 6 Plus support
* Updated iOS tests for locked orientations
* Added more iOS splash screen tests.
* [CB-7633](https://issues.apache.org/jira/browse/CB-7633) - Add support for iPhone 6/6+
* Added failing iPhone 6/6 Plus tests.
* Added 'npm test'
* [CB-7663](https://issues.apache.org/jira/browse/CB-7663) - iOS unit tests for splash screen
* Properly formatted splashscreen preference docs.
### 0.3.3 (Sep 17, 2014)
* [CB-7249](https://issues.apache.org/jira/browse/CB-7249) cordova-plugin-splashscreen documentation translation
* Renamed test dir, added nested plugin.xml
* added documentation for manual tests
* [CB-7196](https://issues.apache.org/jira/browse/CB-7196) port splashscreen tests to framework
### 0.3.2 (Aug 06, 2014)
* [CB-6127](https://issues.apache.org/jira/browse/CB-6127) Updated translations for docs
* [CB-7041](https://issues.apache.org/jira/browse/CB-7041) ios: Fix image filename logic when setting the iPad splash screen
* fixes Splashscreen crash on WP8
* Remove outdated doc
### 0.3.1 (Jun 05, 2014)
* documentation translation: cordova-plugin-splashscreen
@@ -64,33 +123,48 @@
* Lisa testing pulling in plugins for plugin: cordova-plugin-splashscreen
* Lisa testing pulling in plugins for plugin: cordova-plugin-splashscreen
* Lisa testing pulling in plugins for plugin: cordova-plugin-splashscreen
* CB-6810 Add license to CONTRIBUTING.md
* [CB-6810](https://issues.apache.org/jira/browse/CB-6810) Add license to CONTRIBUTING.md
* [wp8] updated quirk for and combined iOS,WP8,BB10 quirks as they are all the same
* [wp] implemented OnInit so splash screen can be shown before cordova page is loaded
* [wp] plugin must be autoloaded for AutoHideSplashScreen preference to work
* CB-6483 Use splash screen image from manifest on Windows8
* CB-6491 add CONTRIBUTING.md
* [CB-6483](https://issues.apache.org/jira/browse/CB-6483) Use splash screen image from manifest on Windows8
* [CB-6491](https://issues.apache.org/jira/browse/CB-6491) add CONTRIBUTING.md
* Revert "Merge branch 'tizen' of http://github.com/siovene/cordova-plugin-splashscreen"
### 0.3.2 (Aug 06, 2014)
* CB-6127 Updated translations for docs
* CB-7041 ios: Fix image filename logic when setting the iPad splash screen
* fixes Splashscreen crash on WP8
* Remove outdated doc
### 0.3.0 (Apr 17, 2014)
* Add Tizen support to plugin
* [CB-6422](https://issues.apache.org/jira/browse/CB-6422): [windows8] use cordova/exec/proxy
* [CB-4051](https://issues.apache.org/jira/browse/CB-4051): [ios] - Re-fix - Splashscreen rotation problem (closes #13)
* [CB-6460](https://issues.apache.org/jira/browse/CB-6460): Update license headers
* [CB-6465](https://issues.apache.org/jira/browse/CB-6465): Add license headers to Tizen code
* Add NOTICE file
### 0.3.3 (Sep 17, 2014)
* CB-7249 cordova-plugin-splashscreen documentation translation
* Renamed test dir, added nested plugin.xml
* added documentation for manual tests
* CB-7196 port splashscreen tests to framework
### 0.2.7 (Feb 05, 2014)
* [CB-3562](https://issues.apache.org/jira/browse/CB-3562) Fix aspect ratio on landscape-only iPhone applications
* [CB-4051](https://issues.apache.org/jira/browse/CB-4051) fix for splashscreen rotation problem
### 0.3.4 (Oct 03, 2014)
* Finalized iOS splash screen (image name) tests. 176 tests in all, 44 for each type of device (iPad, iPhone, iPhone5, iPhone6, iPhone 6 Plus).
* CB-7633 - (Re-fix based on updated unit tests) iPhone 6 Plus support
* Updated iOS tests for locked orientations
* Added more iOS splash screen tests.
* CB-7633 - Add support for iPhone 6/6+
* Added failing iPhone 6/6 Plus tests.
* Added 'npm test'
* CB-7663 - iOS unit tests for splash screen
* Properly formatted splashscreen preference docs.
### 0.2.6 (Jan 02, 2014)
* [CB-5658](https://issues.apache.org/jira/browse/CB-5658) Add doc/index.md for Splashscreen plugin
* Handle error when splash image is missing.
### 0.2.5 (Dec 4, 2013)
* add ubuntu platform
* Added amazon-fireos platform. Change to use amazon-fireos as a platform if the user agent string contains 'cordova-amazon-fireos'
* [CB-5124](https://issues.apache.org/jira/browse/CB-5124) - Remove splashscreen config.xml values from iOS Configuration Docs, move to plugin docs
### 0.2.4 (Oct 28, 2013)
* [CB-5128](https://issues.apache.org/jira/browse/CB-5128): add repo + issue tag to plugin.xml for splashscreen plugin
* [CB-5010](https://issues.apache.org/jira/browse/CB-5010) Incremented plugin version on dev branch.
### 0.2.3 (Oct 9, 2013)
* [CB-4806](https://issues.apache.org/jira/browse/CB-4806) Re-fix Update splashscreen image bounds for iOS 7
* [CB-4934](https://issues.apache.org/jira/browse/CB-4934) plugin-splashscreen should not show by default on Windows8
* [CB-4929](https://issues.apache.org/jira/browse/CB-4929) plugin-splashscreen not loading proxy windows8
* [CB-4915](https://issues.apache.org/jira/browse/CB-4915) Incremented plugin version on dev branch.
### 0.2.2 (Sept 25, 2013)
* [CB-4889](https://issues.apache.org/jira/browse/CB-4889) bumping&resetting version
* [CB-4889](https://issues.apache.org/jira/browse/CB-4889) renaming org.apache.cordova.core.splashscreen to org.apache.cordova.splashscreen
* Rename CHANGELOG.md -> RELEASENOTES.md
* [CB-4806](https://issues.apache.org/jira/browse/CB-4806) Update splashscreen image bounds for iOS 7
* [CB-4752](https://issues.apache.org/jira/browse/CB-4752) Incremented plugin version on dev branch.

119
doc/de/README.md Normal file
View File

@@ -0,0 +1,119 @@
<!--
# license: Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-->
# cordova-plugin-splashscreen
[![Build Status](https://travis-ci.org/apache/cordova-plugin-splashscreen.svg)](https://travis-ci.org/apache/cordova-plugin-splashscreen)
Dieses Plugin zeigt und verbirgt einen Splash-Screen beim Start der Anwendung.
## Installation
// npm hosted (new) id
cordova plugin add cordova-plugin-splashscreen
// you may also install directly from this repo
cordova plugin add https://github.com/apache/cordova-plugin-splashscreen.git
## Unterstützte Plattformen
* Amazon Fire OS
* Android
* BlackBerry 10
* iOS
* Windows Phone 7 und 8
* Windows 8
* Windows
* Browser
## Methoden
* SplashScreen.Show
* SplashScreen.Hide
### Android Eigenarten
Sie müssen in Ihrem `"config.xml"`fügen Sie die folgenden Einstellungen:
<preference name="SplashScreen" value="foo" />
<preference name="SplashScreenDelay" value="10000" />
<preference name="SplashMaintainAspectRatio" value="true|false" />
Wo Foo ist der Name der Datei Splashscreen, vorzugsweise eine 9-Patch-Datei. Stellen Sie sicher, Splashcreen Dateien zu Ihrem res/xml-Verzeichnis unter den entsprechenden Ordnern hinzuzufügen. Der zweite Parameter stellt dar, wie lange das Splashscreen in Millisekunden angezeigt werden. Es wird standardmäßig auf 3000 ms. Weitere Informationen finden Sie unter [Symbole und Splash-Screens](http://cordova.apache.org/docs/en/edge/config_ref_images.md.html).
"SplashMaintainAspectRatio" Präferenz ist optional. Wenn wahr, Splash-Screen zeichenbaren nicht gestreckt wird, um den Bildschirm passen, sondern stattdessen einfach "" den Bildschirm, wie CSS abdeckt "Hintergrund-Größe: Schutz vor". Dies ist sehr nützlich, wenn Splash-Bildschirm Bilder können nicht, in keiner Weise, zum Beispiel verzerrt werden wenn sie Landschaft oder Text enthalten. Diese Einstellung funktioniert am besten mit Bildern, die große Margen (sichere Bereiche) haben, die sicher auf Bildschirme mit unterschiedlichen Seitenverhältnissen zugeschnitten werden können.
Das Plugin lädt platsch zeichenbaren wenn Ausrichtung ändert, sodass Sie verschiedene Drawables für hoch- und Querformat Ausrichtungen angeben können.
### Browser-Eigenheiten
In Ihrem `"config.xml"`können Sie die folgenden Einstellungen:
<platform name="browser">
<preference name="SplashScreen" value="images/browser/splashscreen.jpg" /> <!-- defaults to "img/logo.png" -->
<preference name="SplashScreenDelay" value="10000" /> <!-- defaults to "3000" -->
<preference name="SplashScreenBackgroundColor" value="green" /> <!-- defaults to "#464646" -->
<preference name="ShowSplashScreen" value="false" /> <!-- defaults to "true" -->
<preference name="SplashScreenWidth" value="600" /> <!-- defaults to "170" -->
<preference name="SplashScreenHeight" value="300" /> <!-- defaults to "200" -->
</platform>
### iOS Macken
* `FadeSplashScreen` (Boolean, standardmäßig auf `true festgelegt`): um zu verhindern, dass den Begrüßungsbildschirm ein-und ausblenden bei ihrer Anzeige Statusänderungen auf `false` festgelegt.
<preference name="FadeSplashScreen" value="false"/>
* `FadeSplashScreenDuration` (float, Standardwert ist `2`): gibt die Anzahl der Sekunden für den Begrüßungsbildschirm fade Effekt ausgeführt.
<preference name="FadeSplashScreenDuration" value="4"/>
* `ShowSplashScreenSpinner` (Boolean, standardmäßig auf `true festgelegt`): auf `false` festgelegt wird, um den Begrüßungsbildschirm Spinner auszublenden.
<preference name="ShowSplashScreenSpinner" value="false"/>
## SplashScreen.Hide
Schließen Sie den Splash-Screen.
navigator.splashscreen.hide();
### BlackBerry 10, WP8, iOS Eigenarten
Die Datei `config.xml` `AutoHideSplashScreen` Einstellung muss `false` sein. Verstecken des Begrüßungsbildschirms für zwei Sekunden Verzögerung, fügen Sie einen Timer wie die folgende in der `deviceready`-Ereignishandler:
setTimeout(function() {
navigator.splashscreen.hide();
}, 2000);
## SplashScreen.Show
Zeigt den Begrüßungsbildschirm.
navigator.splashscreen.show();
Ihre Anwendung kann nicht `navigator.splashscreen.show()` aufrufen, bis die app begonnen hat und das `deviceready`-Ereignis ausgelöst hat. Aber da in der Regel der Splash-Screen soll sichtbar sein, bevor die Anwendung gestartet wurde, scheint die Niederlage der Zweck des Begrüßungsbildschirms. Somit einige Konfiguration in der Datei `config.xml` werden automatisch die Splash `show` sofort nach Ihrer app-Start und Bildschirm bevor es voll begonnen hat, und das `deviceready`-Ereignis empfangen. Weitere Informationen zu dieser Konfiguration finden Sie unter [Symbole und Splash-Screens](http://cordova.apache.org/docs/en/edge/config_ref_images.md.html). Aus diesem Grund ist es unwahrscheinlich, dass Sie `navigator.splashscreen.show()` damit den Splash-Screen sichtbar ist für app-Start aufrufen müssen.

View File

@@ -17,13 +17,13 @@
under the License.
-->
# org.apache.cordova.splashscreen
# cordova-plugin-splashscreen
Dieses Plugin zeigt und verbirgt einen Splash-Screen beim Start der Anwendung.
## Installation
cordova plugin add org.apache.cordova.splashscreen
cordova plugin add cordova-plugin-splashscreen
## Unterstützte Plattformen
@@ -44,9 +44,11 @@ Dieses Plugin zeigt und verbirgt einen Splash-Screen beim Start der Anwendung.
Sie müssen in der config.xml folgende Einstellungen vornehmen:
`<preference name="SplashScreen" value="foo" />` `<preference name="SplashScreenDelay" value="10000" />`
<preference name="SplashScreen" value="foo" />
<preference name="SplashScreenDelay" value="10000" />
"foo" stellt hierbei den Namen der SplashScreen-Datei dar. Vorzugsweise ist dies ein "9-Patch-File". Stellen Sie sicher, dass Sie die erforderlichen Dateien für den SplashScreen auch Ihrem Res/XML-Verzeichnis hinzufügen und dorthin kopieren. Der zweite Parameter stellt dar, wie lange der SplashScreen in Millisekunden angezeigt wird. Standardmäßig beträgt dieser Wert 3000ms. Weitere Informationen finden Sie unter [Symbole und Splash-Screens][1] .
Wo Foo ist der Name der Datei Splashscreen, vorzugsweise eine 9-Patch-Datei. Stellen Sie sicher, Splashcreen Dateien zu Ihrem res/xml-Verzeichnis unter den entsprechenden Ordnern hinzuzufügen. Der zweite Parameter stellt dar, wie lange das Splashscreen in Millisekunden angezeigt werden. Es wird standardmäßig auf 3000 ms. Weitere Informationen finden Sie unter [Symbole und Splash-Screens][1].
[1]: http://cordova.apache.org/docs/en/edge/config_ref_images.md.html
@@ -59,7 +61,7 @@ Schließen Sie den Splash-Screen.
### BlackBerry 10, WP8, iOS Eigenarten
Der in der `config.xml` enthaltene Befehl `AutoHideSplashScreen` muss auf `false` gesetzt sein. Um das Verstecken des SplashScreens um zwei Sekunden zu verzögern, können Sie einen Countdown in den `deviceready` -Eventhändler wie folgt integrieren:
Die Datei `config.xml` `AutoHideSplashScreen` Einstellung muss `false` sein. Verstecken des Begrüßungsbildschirms für zwei Sekunden Verzögerung, fügen Sie einen Timer wie die folgende in der `deviceready`-Ereignishandler:
setTimeout(function() {
navigator.splashscreen.hide();
@@ -68,9 +70,9 @@ Der in der `config.xml` enthaltene Befehl `AutoHideSplashScreen` muss auf `false
## SplashScreen.Show
Zeigt den SplashScreen.
Zeigt den Begrüßungsbildschirm.
navigator.splashscreen.show();
Ihre Anwendung kann die Funktion `navigator.splashscreen.show()` nicht aufrufen, bis die App vollständig gestartet, und das `deviceready` -Event ausgelöst wurde. Aber da der SplashScreen eigentlich beabsichtigt, bereits vor dem vollständigen Laden der App sichtbar zu sein, würde dies die eigentliche Funktion des SplashScreens sinnlos machen. Vorausgesetzt von einigen Konfigurationen in der `config.xml` wird der Splashscreen also dennoch unmittelbar nach dem Laden der App gestartet `show` noch bevor das `deviceready` -Event ausgelöst wurde. Weitere Informationen zu dieser Konfiguration finden Sie unter [Symbole und Splash-Screens][1] . Aus diesem Grund ist es unpassend, dass Sie die Funktion `navigator.splashscreen.show()` aufrufen müssen, denn der Splashscreen erscheint unverzüglich nach dem Starten der App.
Ihre Anwendung kann nicht `navigator.splashscreen.show()` aufrufen, bis die app begonnen hat und das `deviceready`-Ereignis ausgelöst hat. Aber da in der Regel der Splash-Screen soll sichtbar sein, bevor die Anwendung gestartet wurde, scheint die Niederlage der Zweck des Begrüßungsbildschirms. Somit einige Konfiguration in der Datei `config.xml` werden automatisch die Splash `show` sofort nach Ihrer app-Start und Bildschirm bevor es voll begonnen hat, und das `deviceready`-Ereignis empfangen. Weitere Informationen zu dieser Konfiguration finden Sie unter [Symbole und Splash-Screens][1]. Aus diesem Grund ist es unwahrscheinlich, dass Sie `navigator.splashscreen.show()` damit den Splash-Screen sichtbar ist für app-Start aufrufen müssen.

119
doc/es/README.md Normal file
View File

@@ -0,0 +1,119 @@
<!--
# license: Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-->
# cordova-plugin-splashscreen
[![Build Status](https://travis-ci.org/apache/cordova-plugin-splashscreen.svg)](https://travis-ci.org/apache/cordova-plugin-splashscreen)
Este plugin muestra y esconde una pantalla de bienvenida durante el inicio de la aplicación.
## Instalación
// npm hosted (new) id
cordova plugin add cordova-plugin-splashscreen
// you may also install directly from this repo
cordova plugin add https://github.com/apache/cordova-plugin-splashscreen.git
## Plataformas soportadas
* Amazon fire OS
* Android
* BlackBerry 10
* iOS
* Windows Phone 7 y 8
* Windows 8
* Windows
* Explorador
## Métodos
* splashscreen.show
* splashscreen.hide
### Rarezas Android
En el `archivo config.xml`, es necesario agregar las siguientes preferencias:
<preference name="SplashScreen" value="foo" />
<preference name="SplashScreenDelay" value="10000" />
<preference name="SplashMaintainAspectRatio" value="true|false" />
Donde foo es el nombre del archivo splashscreen, preferiblemente un archivo de 9 parche. Asegúrese de agregar tus archivos splashcreen en tu directorio res/xml bajo las carpetas apropiadas. El segundo parámetro representa cuánto aparecerán el splashscreen en milisegundos. Valor predeterminado es ms 3000. Ver [los iconos y salpicadura pantallas](http://cordova.apache.org/docs/en/edge/config_ref_images.md.html) para obtener más información.
Preferencia "SplashMaintainAspectRatio" es opcional. Si establece en true, pantalla dibujable no es estirado para caber la pantalla, pero en su lugar simplemente "cover" la pantalla, como CSS "background-size: cover". Esto es muy útil cuando las imágenes de pantallas splash no distorsionadas de cualquier manera, por ejemplo cuando contienen texto o paisaje. Esta opción funciona mejor con imágenes que tienen bordes grandes (zonas seguras) que pueden ser recortadas con seguridad en pantallas con diferentes relaciones de aspecto.
El plugin recarga splash dibujable cuando cambia de orientación, por lo que puede especificar diferente dibujo para orientaciones vertical y horizontal.
### Navegador rarezas
Puede utilizar las siguientes preferencias en el `archivo config.xml`:
<platform name="browser">
<preference name="SplashScreen" value="images/browser/splashscreen.jpg" /> <!-- defaults to "img/logo.png" -->
<preference name="SplashScreenDelay" value="10000" /> <!-- defaults to "3000" -->
<preference name="SplashScreenBackgroundColor" value="green" /> <!-- defaults to "#464646" -->
<preference name="ShowSplashScreen" value="false" /> <!-- defaults to "true" -->
<preference name="SplashScreenWidth" value="600" /> <!-- defaults to "170" -->
<preference name="SplashScreenHeight" value="300" /> <!-- defaults to "200" -->
</platform>
### iOS rarezas
* `FadeSplashScreen` (booleano, por defecto `true`): establecida en `false` para evitar que la pantalla de bienvenida de descolorarse adentro y hacia fuera cuando cambia su estado de presentación.
<preference name="FadeSplashScreen" value="false"/>
* `FadeSplashScreenDuration` (float, por defecto es `2`): especifica el número de segundos para que la pantalla se descolora efecto para ejecutar.
<preference name="FadeSplashScreenDuration" value="4"/>
* `ShowSplashScreenSpinner` (booleano, por defecto `true`): establecida en `false` para ocultar la ruleta de la pantalla de bienvenida.
<preference name="ShowSplashScreenSpinner" value="false"/>
## splashscreen.hide
Despedir a la pantalla de bienvenida.
navigator.splashscreen.hide();
### BlackBerry 10, WP8, iOS Quirk
El `config.xml` del archivo `AutoHideSplashScreen` la configuración debe ser `false` . Para retrasar oculta la pantalla splash durante dos segundos, agregue un temporizador como la siguiente en el `deviceready` controlador de eventos:
setTimeout(function() {
navigator.splashscreen.hide();
}, 2000);
## splashscreen.show
Muestra la pantalla de bienvenida.
navigator.splashscreen.show();
La aplicación no se puede llamar `navigator.splashscreen.show()` hasta que haya iniciado la aplicación y el `deviceready` evento ha despedido. Pero puesto que normalmente la pantalla está destinada a ser visible antes de que comience su aplicación, que parecería que el propósito de la pantalla de bienvenida. Proporcionar cierta configuración en `config.xml` automáticamente `show` la pantalla de presentación inmediatamente después de su lanzamiento de la aplicación y antes de ser completamente ha iniciado y recibió el `deviceready` evento. Ver [los iconos y salpicadura pantallas](http://cordova.apache.org/docs/en/edge/config_ref_images.md.html) para obtener más información sobre haciendo esta configuración. Por esta razón, es poco probable que necesitas llamar a `navigator.splashscreen.show()` para hacer la pantalla visible para el inicio de la aplicación.

View File

@@ -17,18 +17,18 @@
under the License.
-->
# org.apache.cordova.splashscreen
# cordova-plugin-splashscreen
Este plugin muestra y esconde una pantalla de bienvenida durante el inicio de la aplicación.
## Instalación
cordova plugin add org.apache.cordova.splashscreen
cordova plugin add cordova-plugin-splashscreen
## Plataformas soportadas
* Amazon fuego OS
* Amazon fire OS
* Android
* BlackBerry 10
* iOS
@@ -44,7 +44,8 @@ Este plugin muestra y esconde una pantalla de bienvenida durante el inicio de la
En el archivo config.xml, tienes que añadir las siguientes preferencias:
`<preference name="SplashScreen" value="foo" />` `<preference name="SplashScreenDelay" value="10000" />`
< nombre de preferencia = "SplashScreen" value = "foo" / >< nombre de preferencia = "SplashScreenDelay" value = "10000" / >
Donde foo es el nombre del archivo splashscreen, preferiblemente un archivo de 9 parche. Asegúrese de agregar tus archivos splashcreen en tu directorio res/xml bajo las carpetas apropiadas. El segundo parámetro representa cuánto aparecerán el splashscreen en milisegundos. Valor predeterminado es ms 3000. Ver [los iconos y salpicadura pantallas][1] para obtener más información.
@@ -54,15 +55,14 @@ Donde foo es el nombre del archivo splashscreen, preferiblemente un archivo de 9
Despedir a la pantalla de bienvenida.
navigator.splashscreen.hide();
Navigator.SplashScreen.Hide();
### BlackBerry 10, WP8, iOS Quirk
El `config.xml` del archivo `AutoHideSplashScreen` la configuración debe ser `false` . Para retrasar oculta la pantalla splash durante dos segundos, agregue un temporizador como la siguiente en el `deviceready` controlador de eventos:
setTimeout(function() {
navigator.splashscreen.hide();
setTimeout(function() {navigator.splashscreen.hide();
}, 2000);
@@ -70,7 +70,7 @@ El `config.xml` del archivo `AutoHideSplashScreen` la configuración debe ser `f
Muestra la pantalla de bienvenida.
navigator.splashscreen.show();
Navigator.SplashScreen.Show();
La aplicación no se puede llamar `navigator.splashscreen.show()` hasta que haya iniciado la aplicación y el `deviceready` evento ha despedido. Pero puesto que normalmente la pantalla está destinada a ser visible antes de que comience su aplicación, que parecería que el propósito de la pantalla de bienvenida. Proporcionar cierta configuración en `config.xml` automáticamente `show` la pantalla de presentación inmediatamente después de su lanzamiento de la aplicación y antes de ser completamente ha iniciado y recibió el `deviceready` evento. Ver [los iconos y salpicadura pantallas][1] para obtener más información sobre haciendo esta configuración. Por esta razón, es poco probable que necesitas llamar a `navigator.splashscreen.show()` para hacer la pantalla visible para el inicio de la aplicación.
La aplicación no se puede llamar `navigator.splashscreen.show()` hasta que haya iniciado la aplicación y el `deviceready` evento ha despedido. Pero puesto que normalmente la pantalla está destinada a ser visible antes de que comience su aplicación, que parecería que el propósito de la pantalla de bienvenida. Proporcionar cierta configuración en `config.xml` automáticamente `show` la pantalla de presentación inmediatamente después de su lanzamiento de la aplicación y antes de ser completamente ha iniciado y recibió el `deviceready` evento. Ver [los iconos y salpicadura pantallas][1] para obtener más información sobre haciendo esta configuración. Por esta razón, es poco probable que necesitas llamar a `navigator.splashscreen.show()` para hacer la pantalla visible para el inicio de la aplicación.

119
doc/fr/README.md Normal file
View File

@@ -0,0 +1,119 @@
<!--
# license: Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-->
# cordova-plugin-splashscreen
[![Build Status](https://travis-ci.org/apache/cordova-plugin-splashscreen.svg)](https://travis-ci.org/apache/cordova-plugin-splashscreen)
Ce plugin affiche et masque un écran de démarrage lors du lancement de l'application.
## Installation
// npm hosted (new) id
cordova plugin add cordova-plugin-splashscreen
// you may also install directly from this repo
cordova plugin add https://github.com/apache/cordova-plugin-splashscreen.git
## Plates-formes supportées
* Amazon Fire OS
* Android
* BlackBerry 10
* iOS
* Windows Phone 7 et 8
* Windows 8
* Windows
* Navigateur
## Méthodes
* splashscreen.Show
* splashscreen.Hide
### Quirks Android
Dans votre `fichier config.xml`, vous devez ajouter les préférences suivantes :
<preference name="SplashScreen" value="foo" />
<preference name="SplashScreenDelay" value="10000" />
<preference name="SplashMaintainAspectRatio" value="true|false" />
Où foo est le nom du fichier splashscreen, préférablement un fichier de 9 correctif. Assurez-vous d'ajouter vos fichiers splashcreen dans votre répertoire res/xml dans les dossiers appropriés. Le deuxième paramètre représente combien de temps le splashscreen apparaîtra en millisecondes. Il est par défaut à 3000 ms. Pour plus d'informations, consultez [icônes et écrans de démarrage](http://cordova.apache.org/docs/en/edge/config_ref_images.md.html).
Préférence de « SplashMaintainAspectRatio » est facultative. Si défini à true, écran de démarrage drawable n'est pas étirée pour s'adapter écran, mais plutôt simplement « couvre » l'écran, comme CSS "fond-taille : couverture". Ceci est très utile lorsque images écran de démarrage ne peut pas être déformées en quelque sorte, par exemple lorsqu'ils contiennent des décors ou texte. Ce paramètre fonctionne mieux avec des images qui ont des marges importantes (zones de sécurité) qui peuvent être recadrées en toute sécurité sur les écrans avec des proportions différentes.
Le plugin recharge splash drawable chaque fois que l'orientation change, donc vous pouvez spécifier différents drawables pour les orientations portrait et paysage.
### Bizarreries navigateur
Vous pouvez utiliser les préférences suivantes dans votre `fichier config.xml`:
<platform name="browser">
<preference name="SplashScreen" value="images/browser/splashscreen.jpg" /> <!-- defaults to "img/logo.png" -->
<preference name="SplashScreenDelay" value="10000" /> <!-- defaults to "3000" -->
<preference name="SplashScreenBackgroundColor" value="green" /> <!-- defaults to "#464646" -->
<preference name="ShowSplashScreen" value="false" /> <!-- defaults to "true" -->
<preference name="SplashScreenWidth" value="600" /> <!-- defaults to "170" -->
<preference name="SplashScreenHeight" value="300" /> <!-- defaults to "200" -->
</platform>
### Notes au sujet d'iOS
* `FadeSplashScreen` (boolean, par défaut est `true`): la valeur `false` pour empêcher l'écran de démarrage de fading in et out lorsque son état d'affichage est modifié.
<preference name="FadeSplashScreen" value="false"/>
* `FadeSplashScreenDuration` (float, la valeur par défaut `2`): spécifie le nombre de secondes que l'écran de démarrage s'estomper l'effet d'exécuter.
<preference name="FadeSplashScreenDuration" value="4"/>
* `ShowSplashScreenSpinner` (boolean, par défaut est `true`): la valeur `false` pour masquer le cône de l'écran de démarrage.
<preference name="ShowSplashScreenSpinner" value="false"/>
## splashscreen.Hide
Faire disparaître de l'écran de démarrage.
navigator.splashscreen.hide();
### BlackBerry 10, WP8, iOS Quirk
Paramètre `AutoHideSplashScreen` du fichier `config.xml` doit avoir la valeur `false`. Pour retarder la cacher l'écran de démarrage pendant deux secondes, ajouter un minuteur semblable à la suivante dans le gestionnaire d'événements `deviceready` :
setTimeout(function() {
navigator.splashscreen.hide();
}, 2000);
## splashscreen.Show
Affiche l'écran de démarrage.
navigator.splashscreen.show();
Votre application ne peut pas appeler `navigator.splashscreen.show()` jusqu'à ce que l'application a commencé et l'événement `deviceready` est déclenché. Mais puisqu'en général, l'écran de démarrage est destiné à être visible avant que votre application a commencé, qui semblerait à l'encontre des objectifs de l'écran de démarrage. Fournir une configuration dans le fichier `config.xml` automatiquement `show` le splash projettera immédiatement après votre lancement de l'app et avant qu'il a complètement démarré et a reçu l'événement `deviceready`. Voir les [icônes et les écrans de démarrage](http://cordova.apache.org/docs/en/edge/config_ref_images.md.html) pour plus d'informations sur la conduite de cette configuration. Pour cette raison, il est peu probable que vous devez appeler `navigator.splashscreen.show()` pour rendre l'écran de démarrage visible pour le démarrage de l'application.

View File

@@ -17,13 +17,13 @@
under the License.
-->
# org.apache.cordova.splashscreen
# cordova-plugin-splashscreen
Ce plugin affiche et masque un écran de démarrage lors du lancement de l'application.
## Installation
cordova plugin add org.apache.cordova.splashscreen
cordova plugin add cordova-plugin-splashscreen
## Plates-formes prises en charge
@@ -44,9 +44,11 @@ Ce plugin affiche et masque un écran de démarrage lors du lancement de l'appli
Dans votre fichier config.xml, vous devez ajouter les préférences suivantes :
`<preference name="SplashScreen" value="foo" />` `<preference name="SplashScreenDelay" value="10000" />`
<preference name="SplashScreen" value="foo" />
<preference name="SplashScreenDelay" value="10000" />
Où foo est le nom du fichier splashscreen, préférablement un fichier de 9 correctif. Assurez-vous d'ajouter vos fichiers splashcreen dans votre répertoire res/xml dans les dossiers appropriés. Le deuxième paramètre représente combien de temps le splashscreen apparaîtra en millisecondes. Il est par défaut à 3000 ms. Pour plus d'informations, consultez [icônes et écrans de démarrage][1] .
Où foo est le nom du fichier splashscreen, préférablement un fichier de 9 correctif. Assurez-vous d'ajouter vos fichiers splashcreen dans votre répertoire res/xml dans les dossiers appropriés. Le deuxième paramètre représente combien de temps le splashscreen apparaîtra en millisecondes. Il est par défaut à 3000 ms. Pour plus d'informations, consultez [icônes et écrans de démarrage][1].
[1]: http://cordova.apache.org/docs/en/edge/config_ref_images.md.html
@@ -59,7 +61,7 @@ Faire disparaître de l'écran de démarrage.
### BlackBerry 10, WP8, iOS Quirk
La `config.xml` du fichier `AutoHideSplashScreen` doit être `false` . Pour retarder la cacher l'écran de démarrage pendant deux secondes, ajouter un minuteur comme suit dans la `deviceready` gestionnaire d'événements :
Paramètre `AutoHideSplashScreen` du fichier `config.xml` doit avoir la valeur `false`. Pour retarder la cacher l'écran de démarrage pendant deux secondes, ajouter un minuteur semblable à la suivante dans le gestionnaire d'événements `deviceready` :
setTimeout(function() {
navigator.splashscreen.hide();
@@ -73,4 +75,4 @@ Affiche l'écran de démarrage.
navigator.splashscreen.show();
Votre application ne peut pas appeler `navigator.splashscreen.show()` jusqu'à ce que l'application a commencé et le `deviceready` événement a été déclenché. Mais puisqu'en général, l'écran de démarrage est destiné à être visible avant que votre application a commencé, qui semblerait à l'encontre des objectifs de l'écran de démarrage. Fournir une configuration en `config.xml` sera automatiquement `show` l'écran de démarrage immédiatement après votre lancement de l'app et avant qu'il a complètement démarré et a reçu le `deviceready` événement. Voir les [icônes et les écrans de démarrage][1] pour plus d'informations sur la conduite de cette configuration. Pour cette raison, il est peu probable que vous devez appeler `navigator.splashscreen.show()` pour rendre l'écran de démarrage visible pour le démarrage de l'application.
Votre application ne peut pas appeler `navigator.splashscreen.show()` jusqu'à ce que l'application a commencé et l'événement `deviceready` est déclenché. Mais puisqu'en général, l'écran de démarrage est destiné à être visible avant que votre application a commencé, qui semblerait à l'encontre des objectifs de l'écran de démarrage. Fournir une configuration dans le fichier `config.xml` automatiquement `show` le splash projettera immédiatement après votre lancement de l'app et avant qu'il a complètement démarré et a reçu l'événement `deviceready`. Voir les [icônes et les écrans de démarrage][1] pour plus d'informations sur la conduite de cette configuration. Pour cette raison, il est peu probable que vous devez appeler `navigator.splashscreen.show()` pour rendre l'écran de démarrage visible pour le démarrage de l'application.

View File

@@ -1,88 +0,0 @@
<!---
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
# org.apache.cordova.splashscreen
This plugin displays and hides a splash screen during application launch.
## Installation
cordova plugin add org.apache.cordova.splashscreen
## Supported Platforms
- Amazon Fire OS
- Android
- BlackBerry 10
- iOS
- Windows Phone 7 and 8
- Windows 8
## Methods
- splashscreen.show
- splashscreen.hide
### Android Quirks
In your config.xml, you need to add the following preferences:
<preference name="SplashScreen" value="foo" />
<preference name="SplashScreenDelay" value="10000" />
Where foo is the name of the splashscreen file, preferably a 9 patch file. Make sure to add your splashcreen files to your res/xml directory under the appropriate folders. The second parameter represents how long the splashscreen will appear in milliseconds. It defaults to 3000 ms. See [Icons and Splash Screens](http://cordova.apache.org/docs/en/edge/config_ref_images.md.html)
for more information.
## splashscreen.hide
Dismiss the splash screen.
navigator.splashscreen.hide();
### BlackBerry 10, WP8, iOS Quirk
The `config.xml` file's `AutoHideSplashScreen` setting must be
`false`. To delay hiding the splash screen for two seconds, add a
timer such as the following in the `deviceready` event handler:
setTimeout(function() {
navigator.splashscreen.hide();
}, 2000);
## splashscreen.show
Displays the splash screen.
navigator.splashscreen.show();
Your application cannot call `navigator.splashscreen.show()` until the app has
started and the `deviceready` event has fired. But since typically the splash
screen is meant to be visible before your app has started, that would seem to
defeat the purpose of the splash screen. Providing some configuration in
`config.xml` will automatically `show` the splash screen immediately after your
app launch and before it has fully started and received the `deviceready`
event. See [Icons and Splash Screens](http://cordova.apache.org/docs/en/edge/config_ref_images.md.html)
for more information on doing this configuration. For this reason, it is
unlikely you need to call `navigator.splashscreen.show()` to make the splash
screen visible for app startup.

119
doc/it/README.md Normal file
View File

@@ -0,0 +1,119 @@
<!--
# license: Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-->
# cordova-plugin-splashscreen
[![Build Status](https://travis-ci.org/apache/cordova-plugin-splashscreen.svg)](https://travis-ci.org/apache/cordova-plugin-splashscreen)
Questo plugin Visualizza e nasconde una schermata iniziale durante l'avvio dell'applicazione.
## Installazione
// npm hosted (new) id
cordova plugin add cordova-plugin-splashscreen
// you may also install directly from this repo
cordova plugin add https://github.com/apache/cordova-plugin-splashscreen.git
## Piattaforme supportate
* Amazon fuoco OS
* Android
* BlackBerry 10
* iOS
* Windows Phone 7 e 8
* Windows 8
* Windows
* Browser
## Metodi
* splashscreen
* splashscreen.Hide
### Stranezze Android
Nel vostro `config. XML`, è necessario aggiungere le seguenti preferenze:
<preference name="SplashScreen" value="foo" />
<preference name="SplashScreenDelay" value="10000" />
<preference name="SplashMaintainAspectRatio" value="true|false" />
Dove foo è il nome del file splashscreen, preferibilmente un file 9 patch. Assicurati di aggiungere i tuoi file splashcreen res/xml nella directory sotto cartelle appropriate. Il secondo parametro rappresenta quanto tempo lo splashscreen apparirà in millisecondi. Il valore predefinito è 3000 ms. Per ulteriori informazioni, vedere [icone e schermate iniziali](http://cordova.apache.org/docs/en/edge/config_ref_images.md.html).
"SplashMaintainAspectRatio" preferenza è facoltativo. Se impostato su true, schermata iniziale drawable non viene adattata per misura lo schermo, ma invece semplicemente "copre" lo schermo, come CSS "sfondo-dimensione: copertina". Questo è molto utile quando immagini schermata iniziale non possono essere distorta in qualche modo, per esempio quando contengono testo o scenario. Questa impostazione funziona meglio con immagini che hanno grandi margini (zone sicure) che possono essere ritagliati in modo sicuro su schermi con proporzioni diverse.
Il plugin viene ricaricata splash drawable ogni volta che cambia orientamento, è possibile specificare diversi parte per orientamento verticale e orizzontale.
### Stranezze browser
Nel vostro `config. XML`, è possibile utilizzare le seguenti preferenze:
<platform name="browser">
<preference name="SplashScreen" value="images/browser/splashscreen.jpg" /> <!-- defaults to "img/logo.png" -->
<preference name="SplashScreenDelay" value="10000" /> <!-- defaults to "3000" -->
<preference name="SplashScreenBackgroundColor" value="green" /> <!-- defaults to "#464646" -->
<preference name="ShowSplashScreen" value="false" /> <!-- defaults to "true" -->
<preference name="SplashScreenWidth" value="600" /> <!-- defaults to "170" -->
<preference name="SplashScreenHeight" value="300" /> <!-- defaults to "200" -->
</platform>
### iOS stranezze
* `FadeSplashScreen` (boolean, impostazioni predefinite a `true`): impostare su `false` per impedire che la schermata iniziale e scompaiono quando cambia il relativo stato di visualizzazione.
<preference name="FadeSplashScreen" value="false"/>
* `FadeSplashScreenDuration` (float, il valore predefinito è `2`): specifica il numero di secondi per la schermata iniziale dissolvenza effetto da eseguire.
<preference name="FadeSplashScreenDuration" value="4"/>
* `ShowSplashScreenSpinner` (boolean, impostazioni predefinite a `true`): impostare su `false` per nascondere la filatrice schermata iniziale.
<preference name="ShowSplashScreenSpinner" value="false"/>
## splashscreen.Hide
Respingere la schermata iniziale.
navigator.splashscreen.hide();
### BlackBerry 10, WP8, iOS Quirk
Impostazione `AutoHideSplashScreen` del file `config.xml` deve essere `false`. Per ritardare nascondendo la schermata iniziale per due secondi, aggiungere un timer ad esempio nel gestore eventi `deviceready`:
setTimeout(function() {
navigator.splashscreen.hide();
}, 2000);
## splashscreen
Visualizza la schermata iniziale.
navigator.splashscreen.show();
L'applicazione non può chiamare `navigator.splashscreen.show()` fino a quando l'app ha iniziato e ha generato l'evento `deviceready`. Ma poiché in genere la schermata iniziale è destinata ad essere visibile prima app ha iniziato, che sembrerebbe per sconfiggere lo scopo della schermata iniziale. Fornendo qualche configurazione nel `file config.xml` sarà automaticamente `show` il tonfo schermo subito dopo il lancio dell'app e prima che completamente ha iniziato e ha ricevuto l'evento `deviceready`. Per ulteriori informazioni su facendo questa configurazione, vedere [icone e schermate iniziali](http://cordova.apache.org/docs/en/edge/config_ref_images.md.html). Per questo motivo, è improbabile che dovete chiamare `navigator.splashscreen.show()` per rendere la schermata visibile per avvio di app.

View File

@@ -17,13 +17,13 @@
under the License.
-->
# org.apache.cordova.splashscreen
# cordova-plugin-splashscreen
Questo plugin Visualizza e nasconde una schermata iniziale durante l'avvio dell'applicazione.
## Installazione
cordova plugin add org.apache.cordova.splashscreen
cordova plugin add cordova-plugin-splashscreen
## Piattaforme supportate
@@ -44,9 +44,11 @@ Questo plugin Visualizza e nasconde una schermata iniziale durante l'avvio dell'
Nel vostro config. xml, è necessario aggiungere le seguenti preferenze:
`<preference name="SplashScreen" value="foo" />` `<preference name="SplashScreenDelay" value="10000" />`
<preference name="SplashScreen" value="foo" />
<preference name="SplashScreenDelay" value="10000" />
Dove foo è il nome del file splashscreen, preferibilmente un file 9 patch. Assicurati di aggiungere i tuoi file splashcreen res/xml nella directory sotto cartelle appropriate. Il secondo parametro rappresenta quanto tempo lo splashscreen apparirà in millisecondi. Il valore predefinito è 3000 ms. Per ulteriori informazioni, vedere [icone e schermate iniziali][1] .
Dove foo è il nome del file splashscreen, preferibilmente un file 9 patch. Assicurati di aggiungere i tuoi file splashcreen res/xml nella directory sotto cartelle appropriate. Il secondo parametro rappresenta quanto tempo lo splashscreen apparirà in millisecondi. Il valore predefinito è 3000 ms. Per ulteriori informazioni, vedere [icone e schermate iniziali][1].
[1]: http://cordova.apache.org/docs/en/edge/config_ref_images.md.html
@@ -59,7 +61,7 @@ Respingere la schermata iniziale.
### BlackBerry 10, WP8, iOS Quirk
Il `config.xml` di file `AutoHideSplashScreen` impostazione deve essere `false` . Per ritardare nascondendo la schermata iniziale per due secondi, aggiungere un timer ad esempio nel `deviceready` gestore di evento:
Impostazione `AutoHideSplashScreen` del file `config.xml` deve essere `false`. Per ritardare nascondendo la schermata iniziale per due secondi, aggiungere un timer ad esempio nel gestore eventi `deviceready`:
setTimeout(function() {
navigator.splashscreen.hide();
@@ -73,4 +75,4 @@ Visualizza la schermata iniziale.
navigator.splashscreen.show();
L'applicazione non può chiamare `navigator.splashscreen.show()` fino a quando ha iniziato l'app e il `deviceready` ha generato l'evento. Ma poiché in genere la schermata iniziale è destinata ad essere visibile prima app ha iniziato, che sembrerebbe per sconfiggere lo scopo della schermata iniziale. Fornendo qualche configurazione in `config.xml` verrà automaticamente `show` la schermata iniziale subito dopo il lancio dell'app e prima che completamente ha iniziato e ha ricevuto il `deviceready` evento. Per ulteriori informazioni su facendo questa configurazione, vedere [icone e schermate iniziali][1] . Per questo motivo, è improbabile che dovete chiamare `navigator.splashscreen.show()` per rendere la schermata visibile per avvio di app.
L'applicazione non può chiamare `navigator.splashscreen.show()` fino a quando l'app ha iniziato e ha generato l'evento `deviceready`. Ma poiché in genere la schermata iniziale è destinata ad essere visibile prima app ha iniziato, che sembrerebbe per sconfiggere lo scopo della schermata iniziale. Fornendo qualche configurazione nel `file config.xml` sarà automaticamente `show` il tonfo schermo subito dopo il lancio dell'app e prima che completamente ha iniziato e ha ricevuto l'evento `deviceready`. Per ulteriori informazioni su facendo questa configurazione, vedere [icone e schermate iniziali][1]. Per questo motivo, è improbabile che dovete chiamare `navigator.splashscreen.show()` per rendere la schermata visibile per avvio di app.

119
doc/ja/README.md Normal file
View File

@@ -0,0 +1,119 @@
<!--
# license: Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-->
# cordova-plugin-splashscreen
[![Build Status](https://travis-ci.org/apache/cordova-plugin-splashscreen.svg)](https://travis-ci.org/apache/cordova-plugin-splashscreen)
このプラグインが表示され、アプリケーションの起動中にスプラッシュ スクリーンを非表示にします。
## インストール
// npm hosted (new) id
cordova plugin add cordova-plugin-splashscreen
// you may also install directly from this repo
cordova plugin add https://github.com/apache/cordova-plugin-splashscreen.git
## サポートされているプラットフォーム
* アマゾン火 OS
* アンドロイド
* ブラックベリー 10
* iOS
* Windows Phone 7 と 8
* Windows 8
* Windows
* ブラウザー
## メソッド
* splashscreen.show
* splashscreen.hide
### Android の癖
あなたの`config.xml`内の次の設定を追加する必要があります。
<preference name="SplashScreen" value="foo" />
<preference name="SplashScreenDelay" value="10000" />
<preference name="SplashMaintainAspectRatio" value="true|false" />
Foo ができれば 9 パッチファイル splashscreen ファイルの名前です。 解像度/xml ディレクトリの適切なフォルダーの下に splashcreen ファイルを追加することを確認します。 2 番目のパラメーターは、スプラッシュ ・ スクリーンがの表示時間 (ミリ秒単位) を表します。 デフォルトでは 3000 ミリ秒です。 詳細については、[アイコンとスプラッシュ画面](http://cordova.apache.org/docs/en/edge/config_ref_images.md.html) を参照してください。
"SplashMaintainAspectRatio"の設定はオプションです。 True の場合、スプラッシュ画面描画に設定画面を埋めるために拡大されませんが、代わりに単に「カバー」画面では、CSS のような場合「背景-サイズ: カバー」. これは、たとえば風景またはテキストが含まれている場合、任意の方法でスプラッシュ画面画像が歪むことができない非常に便利です。 この設定は、画面と異なる縦横比で安全にトリミングすることができます大規模なマージン (安全な地域) の画像に適しています。
縦長と横長の異なるドロウアブルを指定できるように、プラグインは向きを変更するたびにスプラッシュ ドロウアブルをリロードします。
### ブラウザーの癖
あなたの`config.xml`で次の設定を使用できます。
<platform name="browser">
<preference name="SplashScreen" value="images/browser/splashscreen.jpg" /> <!-- defaults to "img/logo.png" -->
<preference name="SplashScreenDelay" value="10000" /> <!-- defaults to "3000" -->
<preference name="SplashScreenBackgroundColor" value="green" /> <!-- defaults to "#464646" -->
<preference name="ShowSplashScreen" value="false" /> <!-- defaults to "true" -->
<preference name="SplashScreenWidth" value="600" /> <!-- defaults to "170" -->
<preference name="SplashScreenHeight" value="300" /> <!-- defaults to "200" -->
</platform>
### iOS の癖
* `FadeSplashScreen`(ブール値、既定で [ `true`): スプラッシュ画面がフェードインとフェードアウトの表示状態が変更されたときすることを防ぐために`false`に設定します。
<preference name="FadeSplashScreen" value="false"/>
* `FadeSplashScreenDuration`(float, デフォルトは`2`): スプラッシュ画面の秒数のフェードを実行する効果を指定します。
<preference name="FadeSplashScreenDuration" value="4"/>
* `ShowSplashScreenSpinner`(ブール値、既定で [ `true`): スプラッシュ スクリーン スピナーを非表示にするを`false`に設定します。
<preference name="ShowSplashScreenSpinner" value="false"/>
## splashscreen.hide
スプラッシュ スクリーンを閉じます。
navigator.splashscreen.hide();
### ブラックベリー 10、WP8、iOS の気まぐれ
`config.xml` ファイルの `AutoHideSplashScreen` の設定は `false` である必要があります。 遅延を 2 秒間スプラッシュ スクリーンを非表示に `deviceready` イベント ハンドラーで、次のようタイマーを追加します。
setTimeout(function() {
navigator.splashscreen.hide();
}, 2000);
## splashscreen.show
スプラッシュ画面が表示されます。
navigator.splashscreen.show();
アプリが開始され、`deviceready` イベントが発生するまで、アプリケーションは `navigator.splashscreen.show()` を呼び出すことはできません。 しかし、以来、通常スプラッシュ画面アプリ開始前に表示するものですと思われる、スプラッシュ スクリーンの目的の敗北します。 `config.xml` にいくつかの構成を提供するは自動的に `表示` スプラッシュ画面、アプリを起動後すぐに、それが完全に起動し、`deviceready` イベントを受信する前に。 詳細についてはこの構成を行うには、[アイコンとスプラッシュ画面](http://cordova.apache.org/docs/en/edge/config_ref_images.md.html) を参照してください。 この理由のためにアプリ起動時のスプラッシュ スクリーンを確認 `navigator.splashscreen.show()` をコールする必要がある可能性が高いです。

View File

@@ -17,13 +17,13 @@
under the License.
-->
# org.apache.cordova.splashscreen
# cordova-plugin-splashscreen
このプラグインが表示され、アプリケーションの起動中にスプラッシュ スクリーンを非表示にします。
## インストール
cordova plugin add org.apache.cordova.splashscreen
cordova plugin add cordova-plugin-splashscreen
## サポートされているプラットフォーム
@@ -44,9 +44,11 @@
あなたの config.xml を以下の設定を追加する必要があります。
`<preference name="SplashScreen" value="foo" />` `<preference name="SplashScreenDelay" value="10000" />`
<preference name="SplashScreen" value="foo" />
<preference name="SplashScreenDelay" value="10000" />
Foo ができれば 9 パッチファイル splashscreen ファイルの名前です。 解像度/xml ディレクトリの適切なフォルダーの下に splashcreen ファイルを追加することを確認します。 2 番目のパラメーターは、スプラッシュ ・ スクリーンがの表示時間 (ミリ秒単位) を表します。 デフォルトでは 3000 ミリ秒です。 詳細については、[アイコンとスプラッシュ画面][1]を参照してください。
Foo ができれば 9 パッチファイル splashscreen ファイルの名前です。 解像度/xml ディレクトリの適切なフォルダーの下に splashcreen ファイルを追加することを確認します。 2 番目のパラメーターは、スプラッシュ ・ スクリーンがの表示時間 (ミリ秒単位) を表します。 デフォルトでは 3000 ミリ秒です。 詳細については、[アイコンとスプラッシュ画面][1] を参照してください。
[1]: http://cordova.apache.org/docs/en/edge/config_ref_images.md.html
@@ -59,7 +61,7 @@ Foo ができれば 9 パッチファイル splashscreen ファイルの名前
### ブラックベリー 10、WP8、iOS の気まぐれ
`config.xml`ファイルの `AutoHideSplashScreen` 設定する必要があります `false` 。 遅延を 2 秒間スプラッシュ スクリーンを非表示、タイマーを追加しますで次のよう`deviceready` イベント ハンドラー。
`config.xml` ファイルの `AutoHideSplashScreen` 設定 `false` である必要があります。 遅延を 2 秒間スプラッシュ スクリーンを非表示に `deviceready` イベント ハンドラーで、次のようタイマーを追加します
setTimeout(function() {
navigator.splashscreen.hide();
@@ -73,4 +75,4 @@ Foo ができれば 9 パッチファイル splashscreen ファイルの名前
navigator.splashscreen.show();
アプリケーションを呼び出すことはできません `navigator.splashscreen.show()` 、アプリが開始されるまで、 `deviceready` イベントが発生します。 しかし、以来、通常スプラッシュ画面アプリ開始前に表示するものですと思われる、スプラッシュ スクリーンの目的の敗北します。 いくつかの構成を提供する `config.xml` は自動的に `show` スプラッシュ画面、アプリを起動後すぐに、それが完全に起動し、受信する前に、 `deviceready` イベント。 詳細についてはこの構成を行うには、[アイコンとスプラッシュ画面][1]を参照してください。 このような理由から、それは可能性を呼び出す必要があります `navigator.splashscreen.show()` アプリ起動時のスプラッシュ画面を見やすくします。
アプリが開始され、`deviceready` イベントが発生するまで、アプリケーションは `navigator.splashscreen.show()` を呼び出すことはできません。 しかし、以来、通常スプラッシュ画面アプリ開始前に表示するものですと思われる、スプラッシュ スクリーンの目的の敗北します。 `config.xml` にいくつかの構成を提供するは自動的に `表示` スプラッシュ画面、アプリを起動後すぐに、それが完全に起動し、`deviceready` イベントを受信する前に。 詳細についてはこの構成を行うには、[アイコンとスプラッシュ画面][1] を参照してください。 この理由のためにアプリ起動時のスプラッシュ スクリーンを確認 `navigator.splashscreen.show()` をコールする必要がある可能性が高いです。

119
doc/ko/README.md Normal file
View File

@@ -0,0 +1,119 @@
<!--
# license: Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-->
# cordova-plugin-splashscreen
[![Build Status](https://travis-ci.org/apache/cordova-plugin-splashscreen.svg)](https://travis-ci.org/apache/cordova-plugin-splashscreen)
이 플러그인은 표시 하 고 응용 프로그램 실행 하는 동안 시작 화면을 숨깁니다.
## 설치
// npm hosted (new) id
cordova plugin add cordova-plugin-splashscreen
// you may also install directly from this repo
cordova plugin add https://github.com/apache/cordova-plugin-splashscreen.git
## 지원 되는 플랫폼
* 아마존 화재 운영 체제
* 안 드 로이드
* 블랙베리 10
* iOS
* Windows Phone 7과 8
* 윈도우 8
* 윈도우
* 브라우저
## 메서드
* splashscreen.show
* splashscreen.hide
### 안 드 로이드 단점
`Config.xml`에 다음 환경 설정에 추가 해야 합니다.
<preference name="SplashScreen" value="foo" />
<preference name="SplashScreenDelay" value="10000" />
<preference name="SplashMaintainAspectRatio" value="true|false" />
여기서 foo splashscreen 파일, 선호 9 패치 파일의 이름입니다. 적절 한 폴더 아래 res/xml 디렉토리에 splashcreen 파일을 추가 해야 합니다. 두 번째 매개 변수는 splashscreen 얼마나 밀리초 단위로 표시 됩니다 나타냅니다. 3000 ms 기본값으로 사용 됩니다. 자세한 내용은 [아이콘 및 시작 화면을](http://cordova.apache.org/docs/en/edge/config_ref_images.md.html) 참조 하십시오.
"SplashMaintainAspectRatio" 취향은 선택 사항입니다. Drawable, 시작 화면 설정 화면에 맞게 확장 되지 하지만 대신 단순히 "커버" CSS 같은 화면 "배경-크기: 덮개". 시작 화면 이미지 예: 풍경 또는 텍스트를 포함 하는 경우 어떤 식으로든에서 왜곡 될 수 없는 경우에 매우 유용 합니다. 이 설정은 큰 여백 (안전 지역) 안전 하 게 다른 종횡비와 화면에 자를 수 있는 이미지에 가장 적합 합니다.
플러그인 다시 로드 스플래시 drawable 방향이 변경 될 때마다 세로 및 가로 방향에 대 한 다른 drawables를 지정할 수 있도록 합니다.
### 브라우저 만지면
`Config.xml`에 다음 기본 설정을 사용할 수 있습니다.
<platform name="browser">
<preference name="SplashScreen" value="images/browser/splashscreen.jpg" /> <!-- defaults to "img/logo.png" -->
<preference name="SplashScreenDelay" value="10000" /> <!-- defaults to "3000" -->
<preference name="SplashScreenBackgroundColor" value="green" /> <!-- defaults to "#464646" -->
<preference name="ShowSplashScreen" value="false" /> <!-- defaults to "true" -->
<preference name="SplashScreenWidth" value="600" /> <!-- defaults to "170" -->
<preference name="SplashScreenHeight" value="300" /> <!-- defaults to "200" -->
</platform>
### iOS 단점
* `FadeSplashScreen` (부울 `true`로 기본값): 시작 화면 표시 상태로 변경 될 때 밖으로 퇴색 하지 않도록 하려면 `false` 로 설정.
<preference name="FadeSplashScreen" value="false"/>
* `FadeSplashScreenDuration` (부동, `2`기본값): 시작 화면에 대 한 초 페이드 효과를 실행 하는 지정 합니다.
<preference name="FadeSplashScreenDuration" value="4"/>
* `ShowSplashScreenSpinner` (부울 `true`로 기본값): 스플래시 화면 회전자를 숨기려면 `false` 로 설정.
<preference name="ShowSplashScreenSpinner" value="false"/>
## splashscreen.hide
시작 화면을 닫습니다.
navigator.splashscreen.hide();
### 블랙베리 10, WP8, iOS 특질
`config.xml` 파일의 `AutoHideSplashScreen` 설정을 `false` 여야 합니다. 2 초 동안 시작 화면을 숨기고 지연, `deviceready` 이벤트 처리기에서 다음과 같은 타이머를 추가:
setTimeout(function() {
navigator.splashscreen.hide();
}, 2000);
## splashscreen.show
시작 화면을 표시합니다.
navigator.splashscreen.show();
응용 프로그램 시작 및 `deviceready` 이벤트는 발생 될 때까지 응용 프로그램이 `navigator.splashscreen.show()`을 호출할 수 없습니다. 하지만 그 스플래시 스크린의 목적 것 같다 일반적으로 시작 화면이 당신의 애플 리 케이 션 시작 하기 전에 표시 될 운명이 다, 이후. `config.xml에서` 몇 가지 구성을 제공 하 자동으로 스플래시 `표시` 화면 애플 리 케이 션 출시 직후와 그것은 완벽 하 게 시작 하 고 `deviceready` 이벤트를 받은 전에. 이 구성 하 고 자세한 내용은 [아이콘 및 시작 화면을](http://cordova.apache.org/docs/en/edge/config_ref_images.md.html) 참조 하십시오. 이러한 이유로, 그것은 가능성이 시작 화면은 응용 프로그램 시작에 대 한 표시 되도록 `navigator.splashscreen.show()`를 호출 해야입니다.

View File

@@ -17,13 +17,13 @@
under the License.
-->
# org.apache.cordova.splashscreen
# cordova-plugin-splashscreen
이 플러그인은 표시 하 고 응용 프로그램 실행 하는 동안 시작 화면을 숨깁니다.
## 설치
cordova plugin add org.apache.cordova.splashscreen
cordova plugin add cordova-plugin-splashscreen
## 지원 되는 플랫폼
@@ -44,7 +44,9 @@
당신의 config.xml에 다음 환경 설정에 추가 해야 합니다.
`<preference name="SplashScreen" value="foo" />` `<preference name="SplashScreenDelay" value="10000" />`
<preference name="SplashScreen" value="foo" />
<preference name="SplashScreenDelay" value="10000" />
여기서 foo splashscreen 파일, 선호 9 패치 파일의 이름입니다. 적절 한 폴더 아래 res/xml 디렉토리에 splashcreen 파일을 추가 해야 합니다. 두 번째 매개 변수는 splashscreen 얼마나 밀리초 단위로 표시 됩니다 나타냅니다. 3000 ms 기본값으로 사용 됩니다. 자세한 내용은 [아이콘 및 시작 화면을][1] 참조 하십시오.
@@ -59,7 +61,7 @@
### 블랙베리 10, WP8, iOS 특질
`config.xml`파일의 `AutoHideSplashScreen` 설정을 해야 합니다 `false` . 2 초 동안 시작 화면을 숨기고 지연에 다음과 같이 타이머 추가 `deviceready` 이벤트 처리기:
`config.xml` 파일의 `AutoHideSplashScreen` 설정을 `false` 여야 합니다. 2 초 동안 시작 화면을 숨기고 지연, `deviceready` 이벤트 처리기에서 다음과 같은 타이머를 추가:
setTimeout(function() {
navigator.splashscreen.hide();
@@ -73,4 +75,4 @@
navigator.splashscreen.show();
응용 프로그램 호출할 수 없습니다 `navigator.splashscreen.show()` 응용 프로그램은 시작 될 때까지 및 `deviceready` 이벤트를 해 고 했다. 하지만 그 스플래시 스크린의 목적 것 같다 일반적으로 시작 화면이 당신의 애플 리 케이 션 시작 하기 전에 표시 될 운명이 다, 이후. 몇 가지 구성을 제공 `config.xml` 자동으로 `show` 시작 화면 응용 프로그램 실행 후 즉시 및 그것은 완벽 하 게 시작 하 고 받은 전에 `deviceready` 이벤트. 이 구성 하 고 자세한 내용은 [아이콘 및 시작 화면을][1] 참조 하십시오. 이러한 이유로, 그것은 가능성이 호출 해야 `navigator.splashscreen.show()` 시작 화면은 응용 프로그램 시작에 대 한 표시 되도록 합니다.
응용 프로그램 시작 및 `deviceready` 이벤트는 발생 될 때까지 응용 프로그램이 `navigator.splashscreen.show()`을 호출할 수 없습니다. 하지만 그 스플래시 스크린의 목적 것 같다 일반적으로 시작 화면이 당신의 애플 리 케이 션 시작 하기 전에 표시 될 운명이 다, 이후. `config.xml에서` 몇 가지 구성을 제공 하 자동으로 스플래시 `표시` 화면 애플 리 케이 션 출시 직후와 그것은 완벽 하 게 시작 하 고 `deviceready` 이벤트를 받은 전에. 이 구성 하 고 자세한 내용은 [아이콘 및 시작 화면을][1] 참조 하십시오. 이러한 이유로, 그것은 가능성이 시작 화면은 응용 프로그램 시작에 대 한 표시 되도록 `navigator.splashscreen.show()`를 호출 해야입니다.

119
doc/pl/README.md Normal file
View File

@@ -0,0 +1,119 @@
<!--
# license: Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-->
# cordova-plugin-splashscreen
[![Build Status](https://travis-ci.org/apache/cordova-plugin-splashscreen.svg)](https://travis-ci.org/apache/cordova-plugin-splashscreen)
Ten plugin wyświetla i ukrywa ekran powitalny podczas uruchamiania aplikacji.
## Instalacja
// npm hosted (new) id
cordova plugin add cordova-plugin-splashscreen
// you may also install directly from this repo
cordova plugin add https://github.com/apache/cordova-plugin-splashscreen.git
## Obsługiwane platformy
* Amazon Fire OS
* Android
* BlackBerry 10
* iOS
* Windows Phone 7 i 8
* Windows 8
* Windows
* Przeglądarka
## Metody
* splashscreen.show
* splashscreen.Hide
### Dziwactwa Androida
W pliku `config.xml`musisz dodać następujące preferencje:
<preference name="SplashScreen" value="foo" />
<preference name="SplashScreenDelay" value="10000" />
<preference name="SplashMaintainAspectRatio" value="true|false" />
Gdzie foo jest nazwą pliku ekranu powitalnego, najlepiej 9 łatce. Upewnij się dodać pliki splashcreen do katalogu res/xml w odpowiednich folderach. Drugi parametr reprezentuje, jak długo ekranu powitalnego pojawi się w milisekundach. Domyślnie 3000 ms. Aby uzyskać więcej informacji, zobacz [ikony i ekrany powitalne w aplikacjach](http://cordova.apache.org/docs/en/edge/config_ref_images.md.html).
"SplashMaintainAspectRatio" preferencji jest opcjonalne. Jeśli zestaw na wartość true, ekran powitalny dolarowe nie jest rozciągnięty do ekranów, ale zamiast po prostu "obejmuje" ekranu, jak CSS "tło-rozmiar: okładka". Jest to bardzo przydatne, kiedy opryskać tęcza obrazy nie zniekształcony w jakikolwiek sposób, na przykład, gdy zawierają one dekoracje lub tekst. To ustawienie działa najlepiej z obrazów, które mają duże marginesy (bezpiecznych obszarów), które mogą być bezpiecznie przycięte na ekrany z różnych proporcji.
Plugin ładuje rozchlapać dolarowe, gdy zmienia orientację, tak można określić różnych drawables do orientacji pionowej i poziomej.
### Quirks przeglądarki
W pliku `config.xml`można użyć następujące preferencje:
<platform name="browser">
<preference name="SplashScreen" value="images/browser/splashscreen.jpg" /> <!-- defaults to "img/logo.png" -->
<preference name="SplashScreenDelay" value="10000" /> <!-- defaults to "3000" -->
<preference name="SplashScreenBackgroundColor" value="green" /> <!-- defaults to "#464646" -->
<preference name="ShowSplashScreen" value="false" /> <!-- defaults to "true" -->
<preference name="SplashScreenWidth" value="600" /> <!-- defaults to "170" -->
<preference name="SplashScreenHeight" value="300" /> <!-- defaults to "200" -->
</platform>
### Dziwactwa iOS
* `FadeSplashScreen` (wartość logiczna, domyślnie `true`): zestaw na `false` , aby zapobiec Znikająca i odkładane po zmianie stanu wyświetlania ekranu powitalnego.
<preference name="FadeSplashScreen" value="false"/>
* `FadeSplashScreenDuration` (float, domyślnie `2`): określa liczbę sekund dla ekranu powitalnego zanikanie efekt do wykonać.
<preference name="FadeSplashScreenDuration" value="4"/>
* `ShowSplashScreenSpinner` (wartość logiczna, domyślnie `true`): zestaw na `false` , aby ukryć pokrętła ekran powitalny.
<preference name="ShowSplashScreenSpinner" value="false"/>
## splashscreen.Hide
Odrzucić ten opryskaæ têcza.
navigator.splashscreen.hide();
### Jeżyna 10, WP8, iOS dziwactwo
Plik `config.xml` `AutoHideSplashScreen` ustawienie musi być `false`. Opóźnienia, ukrywanie ekranu powitalnego przez dwie sekundy, dodać timer następujących w `deviceready` obsługa zdarzeń:
setTimeout(function() {
navigator.splashscreen.hide();
}, 2000);
## splashscreen.show
Wyświetla ekran powitalny.
navigator.splashscreen.show();
Aplikacja nie można wywołać `navigator.splashscreen.show()`, aż aplikacja została uruchomiona i zdarzenie `deviceready` został zwolniony. Ale ponieważ zazwyczaj opryskać tęcza ma być widoczne przed rozpoczęciem aplikacji, wydaje się sprzeczne z celem ekranu powitalnego. Dostarczanie niektórych konfiguracji w `pliku config.xml` będzie automatycznie `show` splash na ekranie natychmiast po uruchomienie aplikacji i przed pełni rozpoczął i odebrał zdarzenie `deviceready`. Aby uzyskać więcej informacji na robienie tej konfiguracji, zobacz [ikony i ekrany powitalne w aplikacjach](http://cordova.apache.org/docs/en/edge/config_ref_images.md.html). Z tego powodu jest mało prawdopodobne, należy zadzwonić `navigator.splashscreen.show()`, aby wyświetlić ekran powitalny dla uruchamiania aplikacji.

View File

@@ -17,20 +17,20 @@
under the License.
-->
# org.apache.cordova.splashscreen
# cordova-plugin-splashscreen
Ten plugin wyświetla i ukrywa ekran powitalny podczas uruchamiania aplikacji.
## Instalacji
## Instalacja
cordova plugin add org.apache.cordova.splashscreen
cordova plugin add cordova-plugin-splashscreen
## Obsługiwane platformy
* Amazon ogień OS
* Amazon Fire OS
* Android
* Jeżyna 10
* BlackBerry 10
* iOS
* Windows Phone 7 i 8
* Windows 8
@@ -40,13 +40,15 @@ Ten plugin wyświetla i ukrywa ekran powitalny podczas uruchamiania aplikacji.
* splashscreen.show
* splashscreen.Hide
### Android dziwactwa
### Dziwactwa Androida
W pliku config.xml musisz dodać następujące preferencje:
`<preference name="SplashScreen" value="foo" />` `<preference name="SplashScreenDelay" value="10000" />`
<preference name="SplashScreen" value="foo" />
<preference name="SplashScreenDelay" value="10000" />
Gdzie foo jest nazwą pliku ekranu powitalnego, najlepiej 9 łatce. Upewnij się dodać pliki splashcreen do katalogu res/xml w odpowiednich folderach. Drugi parametr reprezentuje, jak długo ekranu powitalnego pojawi się w milisekundach. Domyślnie 3000 ms. Aby uzyskać więcej informacji, zobacz [ikony i ekrany powitalne w aplikacjach][1] .
Gdzie foo jest nazwą pliku ekranu powitalnego, najlepiej 9 łatce. Upewnij się dodać pliki splashcreen do katalogu res/xml w odpowiednich folderach. Drugi parametr reprezentuje, jak długo ekranu powitalnego pojawi się w milisekundach. Domyślnie 3000 ms. Aby uzyskać więcej informacji, zobacz [ikony i ekrany powitalne w aplikacjach][1].
[1]: http://cordova.apache.org/docs/en/edge/config_ref_images.md.html
@@ -59,7 +61,7 @@ Odrzucić ten opryskaæ têcza.
### Jeżyna 10, WP8, iOS dziwactwo
`config.xml`Pliku `AutoHideSplashScreen` ustawienie musi być `false` . Opóźnienia, ukrywanie ekranu powitalnego przez dwie sekundy, dodać timer następujących w `deviceready` obsługa zdarzeń:
Plik `config.xml` `AutoHideSplashScreen` ustawienie musi być `false`. Opóźnienia, ukrywanie ekranu powitalnego przez dwie sekundy, dodać timer następujących w `deviceready` obsługa zdarzeń:
setTimeout(function() {
navigator.splashscreen.hide();
@@ -73,4 +75,4 @@ Wyświetla ekran powitalny.
navigator.splashscreen.show();
Aplikacja nie może wywołać `navigator.splashscreen.show()` aż aplikacja została uruchomiona i `deviceready` imprezy został zwolniony. Ale ponieważ zazwyczaj opryskać tęcza ma być widoczne przed rozpoczęciem aplikacji, wydaje się sprzeczne z celem ekranu powitalnego. Dostarczanie niektórych konfiguracji w `config.xml` będzie automatycznie `show` ekran powitalny, natychmiast po uruchomienie aplikacji i przed pełni rozpoczął i otrzymał `deviceready` zdarzenie. Aby uzyskać więcej informacji na robienie tej konfiguracji, zobacz [ikony i ekrany powitalne w aplikacjach][1] . Z tego powodu, jest mało prawdopodobne, należy zadzwonić `navigator.splashscreen.show()` Aby wyświetlić ekran powitalny dla uruchamiania aplikacji.
Aplikacja nie można wywołać `navigator.splashscreen.show()`, aż aplikacja została uruchomiona i zdarzenie `deviceready` został zwolniony. Ale ponieważ zazwyczaj opryskać tęcza ma być widoczne przed rozpoczęciem aplikacji, wydaje się sprzeczne z celem ekranu powitalnego. Dostarczanie niektórych konfiguracji w `pliku config.xml` będzie automatycznie `show` splash na ekranie natychmiast po uruchomienie aplikacji i przed pełni rozpoczął i odebrał zdarzenie `deviceready`. Aby uzyskać więcej informacji na robienie tej konfiguracji, zobacz [ikony i ekrany powitalne w aplikacjach][1]. Z tego powodu jest mało prawdopodobne, należy zadzwonić `navigator.splashscreen.show()`, aby wyświetlić ekran powitalny dla uruchamiania aplikacji.

View File

@@ -17,18 +17,18 @@
under the License.
-->
# org.apache.cordova.splashscreen
# cordova-plugin-splashscreen
Этот плагин отображает и скрывает экран-заставку при запуске приложения.
## Установка
cordova plugin add org.apache.cordova.splashscreen
cordova plugin add cordova-plugin-splashscreen
## Поддерживаемые платформы
* Amazon Fire ОС
* Amazon Fire OS
* Android
* BlackBerry 10
* iOS
@@ -54,15 +54,14 @@
Закройте экран-заставка.
navigator.splashscreen.hide();
Navigator.SplashScreen.Hide();
### Особенности BlackBerry 10, WP8, iOS
`config.xml`Файла `AutoHideSplashScreen` должен быть `false` . Для задержки скрытия заставки на две секунды, добавить таймер, например в `deviceready` обработчик событий:
setTimeout(function() {
navigator.splashscreen.hide();
setTimeout(function() {navigator.splashscreen.hide();
}, 2000);
@@ -70,7 +69,7 @@
Отображает экран-заставку.
navigator.splashscreen.show();
Navigator.SplashScreen.Show();
Ваше приложение не может вызвать `navigator.splashscreen.show()` до тех пор, пока приложение началась и `deviceready` событие инициировано. Но поскольку обычно экран-заставка должен быть видимым до начала вашего приложения, что казалось бы поражение цели экрана-заставки. Предоставление некоторых конфигурации в `config.xml` будет автоматически `show` экран-заставку сразу же после запуска вашего приложения и перед его полностью запущен и получил `deviceready` событие. Увидеть [иконки и заставки][1] для получения дополнительной информации на делать этой конфигурации. По этой причине маловероятно, вам нужно вызвать `navigator.splashscreen.show()` для отображения экрана-заставки для запуска приложения.
Ваше приложение не может вызвать `navigator.splashscreen.show()` до тех пор, пока приложение началась и `deviceready` событие инициировано. Но поскольку обычно экран-заставка должен быть видимым до начала вашего приложения, что казалось бы поражение цели экрана-заставки. Предоставление некоторых конфигурации в `config.xml` будет автоматически `show` экран-заставку сразу же после запуска вашего приложения и перед его полностью запущен и получил `deviceready` событие. Увидеть [иконки и заставки][1] для получения дополнительной информации на делать этой конфигурации. По этой причине маловероятно, вам нужно вызвать `navigator.splashscreen.show()` для отображения экрана-заставки для запуска приложения.

119
doc/zh/README.md Normal file
View File

@@ -0,0 +1,119 @@
<!--
# license: Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-->
# cordova-plugin-splashscreen
[![Build Status](https://travis-ci.org/apache/cordova-plugin-splashscreen.svg)](https://travis-ci.org/apache/cordova-plugin-splashscreen)
這個外掛程式顯示和隱藏在應用程式啟動期間的初始螢幕。
## 安裝
// npm hosted (new) id
cordova plugin add cordova-plugin-splashscreen
// you may also install directly from this repo
cordova plugin add https://github.com/apache/cordova-plugin-splashscreen.git
## 支援的平臺
* 亞馬遜火 OS
* Android 系統
* 黑莓 10
* iOS
* Windows Phone 7 和 8
* Windows 8
* Windows
* 瀏覽器
## 方法
* splashscreen.show
* splashscreen.hide
### Android 的怪癖
在你的`config.xml`,您需要添加以下優惠:
<preference name="SplashScreen" value="foo" />
<preference name="SplashScreenDelay" value="10000" />
<preference name="SplashMaintainAspectRatio" value="true|false" />
美孚在哪裡閃屏檔,最好是 9 修補程式檔的名稱。 請確保您的 splashcreen 檔添加到 res/xml 目錄下相應的資料夾。 第二個參數表示多久閃屏會顯示以毫秒為單位。 它將預設為 3000 毫秒。 有關更多資訊,請參見 [圖示和啟動畫面](http://cordova.apache.org/docs/en/edge/config_ref_images.md.html)。
"SplashMaintainAspectRatio"首選項是可選的。 如果設置為 true可繪製的初始螢幕不會拉伸以適合螢幕但相反只是"覆蓋"螢幕,像 CSS"背景-大小: 蓋"。 這是非常有用的不能以任何方式,例如當他們包含文本或風景畸變閃屏圖像時。 此設置適用于有大利潤 (安全區),可以安全地裁剪不同長寬比與螢幕上的圖像。
該外掛程式重新載入初始可繪製只要方向發生變化,所以您可以指定不同的畫板為縱向和橫向方向。
### 瀏覽器的怪癖
你可以用你的`config.xml`下列優先選項:
<platform name="browser">
<preference name="SplashScreen" value="images/browser/splashscreen.jpg" /> <!-- defaults to "img/logo.png" -->
<preference name="SplashScreenDelay" value="10000" /> <!-- defaults to "3000" -->
<preference name="SplashScreenBackgroundColor" value="green" /> <!-- defaults to "#464646" -->
<preference name="ShowSplashScreen" value="false" /> <!-- defaults to "true" -->
<preference name="SplashScreenWidth" value="600" /> <!-- defaults to "170" -->
<preference name="SplashScreenHeight" value="300" /> <!-- defaults to "200" -->
</platform>
### iOS 的怪癖
* `FadeSplashScreen`(預設為`true`的布林值): 設置為`false` ,以防止出現閃屏衰落和退出其顯示狀態發生變化時。
<preference name="FadeSplashScreen" value="false"/>
* `FadeSplashScreenDuration`(float預設為`2`): 指定的閃屏秒數淡出效果來執行。
<preference name="FadeSplashScreenDuration" value="4"/>
* `ShowSplashScreenSpinner`(boolean, `true`的布林值): 設置為`false`來隱藏初始螢幕微調框。
<preference name="ShowSplashScreenSpinner" value="false"/>
## splashscreen.hide
解雇的閃屏。
navigator.splashscreen.hide();
### 黑莓 10WP8iOS 怪癖
`config.xml``AutoHideSplashScreen` 設置必須是 `假` 的。 若要延遲兩秒鐘隱藏的閃屏,`deviceready` 事件處理常式中添加一個計時器,如下所示:
setTimeout(function() {
navigator.splashscreen.hide();
}, 2000);
## splashscreen.show
顯示初始螢幕。
navigator.splashscreen.show();
您的應用程式無法調用 `navigator.splashscreen.show()`,直到該應用程式已啟動,且觸發了 `deviceready` 事件。 但是,由於通常的閃屏為了是可見的在您的應用程式啟動之前,這似乎會打敗閃屏的目的。 提供一些配置在 `config.xml` 中的會自動 `show` 初始螢幕您的應用程式啟動後立即和之前它已經完全起步並收到 `deviceready` 事件。 做這種配置的詳細資訊,請參閱 [圖示和啟動畫面](http://cordova.apache.org/docs/en/edge/config_ref_images.md.html)。 出於此原因,不太可能您需要調用 `navigator.splashscreen.show()`,使初始螢幕可見為應用程式啟動。

View File

@@ -17,13 +17,13 @@
under the License.
-->
# org.apache.cordova.splashscreen
# cordova-plugin-splashscreen
這個外掛程式顯示和隱藏在應用程式啟動期間的初始螢幕。
## 安裝
cordova plugin add org.apache.cordova.splashscreen
cordova plugin add cordova-plugin-splashscreen
## 支援的平臺
@@ -44,22 +44,24 @@
在你的 config.xml您需要添加以下優惠
`<preference name="SplashScreen" value="foo" />` `<preference name="SplashScreenDelay" value="10000" />`
<preference name="SplashScreen" value="foo" />
<preference name="SplashScreenDelay" value="10000" />
美孚在哪裡閃屏檔,最好是 9 修補程式檔的名稱。 請確保您的 splashcreen 檔添加到 res/xml 目錄下相應的資料夾。 第二個參數表示多久閃屏顯示以毫秒為單位。 它將預設為 3000 毫秒。 有關更多資訊,請參見[圖示和啟動畫面][1]。
美孚在哪裡閃屏檔,最好是 9 修補程式檔的名稱。 請確保您的 splashcreen 檔添加到 res/xml 目錄下相應的資料夾。 第二個參數表示多久閃屏顯示以毫秒為單位。 它將預設為 3000 毫秒。 有關更多資訊,請參見 [圖示和啟動畫面][1]。
[1]: http://cordova.apache.org/docs/en/edge/config_ref_images.md.html
## splashscreen.hide
解雇的初始螢幕
解雇的閃屏
navigator.splashscreen.hide();
### 黑莓 10WP8iOS 怪癖
`config.xml` `AutoHideSplashScreen` 設置必須 `false` 。 若要延遲兩秒鐘隱藏的閃屏,添加一個計時器在以下 `deviceready` 事件處理常式:
`config.xml` `AutoHideSplashScreen` 設置必須 `` 。 若要延遲兩秒鐘隱藏的閃屏,`deviceready` 事件處理常式中添加一個計時器,如下所示
setTimeout(function() {
navigator.splashscreen.hide();
@@ -73,4 +75,4 @@
navigator.splashscreen.show();
您的應用程式不能調用 `navigator.splashscreen.show()` 直到應用程式已經開始和 `deviceready` 觸發了事件。 但通常的閃屏是意味著是可見的在您的應用程式啟動之前,這似乎會打敗閃屏的目的。 提供一些配置在 `config.xml` 自動 `show` 閃屏立即在您的應用程式啟動後它已完全開始前收到 `deviceready` 事件。 做這種配置的更多資訊,請參[圖示和啟動畫面][1]。 為此,它是不太可能需要調用 `navigator.splashscreen.show()` ,使初始螢幕可見應用程式啟動。
您的應用程式無法調用 `navigator.splashscreen.show()`直到應用程式已啟動,且觸發了 `deviceready` 事件。 但是,由於通常的閃屏為了是可見的在您的應用程式啟動之前,這似乎會打敗閃屏的目的。 提供一些配置在 `config.xml` 中的會自動 `show` 初始螢幕您的應用程式啟動後立即和之前它已完全起步並收到 `deviceready` 事件。 做這種配置的詳細資訊,請參[圖示和啟動畫面][1]。 出於此原因,不太可能需要調用 `navigator.splashscreen.show()`,使初始螢幕可見應用程式啟動。

45
package.json Normal file
View File

@@ -0,0 +1,45 @@
{
"name": "cordova-plugin-splashscreen",
"version": "3.2.0",
"description": "Cordova Splashscreen Plugin",
"cordova": {
"id": "cordova-plugin-splashscreen",
"platforms": [
"android",
"amazon-fireos",
"ubuntu",
"ios",
"blackberry10",
"wp8",
"windows8",
"windows",
"tizen"
]
},
"repository": {
"type": "git",
"url": "https://github.com/apache/cordova-plugin-splashscreen"
},
"keywords": [
"cordova",
"splashscreen",
"ecosystem:cordova",
"cordova-android",
"cordova-amazon-fireos",
"cordova-ubuntu",
"cordova-ios",
"cordova-blackberry10",
"cordova-wp8",
"cordova-windows8",
"cordova-windows",
"cordova-tizen"
],
"engines": [
{
"name": "cordova-android",
"version": ">=3.6.0"
}
],
"author": "Apache Software Foundation",
"license": "Apache 2.0"
}

View File

@@ -19,8 +19,8 @@
-->
<plugin xmlns="http://apache.org/cordova/ns/plugins/1.0"
id="org.apache.cordova.splashscreen"
version="0.3.4">
id="cordova-plugin-splashscreen"
version="3.2.0">
<name>Splashscreen</name>
<description>Cordova Splashscreen Plugin</description>
<license>Apache 2.0</license>
@@ -28,6 +28,9 @@
<repo>https://git-wip-us.apache.org/repos/asf/cordova-plugin-splashscreen.git</repo>
<issue>https://issues.apache.org/jira/browse/CB/component/12320653</issue>
<engines>
<engine name="cordova-android" version=">=3.6.0" /><!-- Requires CordovaPlugin.preferences -->
</engines>
<js-module src="www/splashscreen.js" name="SplashScreen">
<clobbers target="navigator.splashscreen" />
@@ -37,7 +40,8 @@
<platform name="android">
<config-file target="res/xml/config.xml" parent="/*">
<feature name="SplashScreen">
<param name="android-package" value="org.apache.cordova.splashscreen.SplashScreen"/>
<param name="android-package" value="org.apache.cordova.splashscreen.SplashScreen"/>
<param name="onload" value="true"/>
</feature>
</config-file>
@@ -54,7 +58,7 @@
<source-file src="src/android/SplashScreen.java" target-dir="src/org/apache/cordova/splashscreen" />
</platform>
<!-- ubuntu -->
<platform name="ubuntu">
<header-file src="src/ubuntu/splashscreen.h" />
@@ -70,8 +74,10 @@
</feature>
</config-file>
<header-file src="src/ios/CDVSplashScreen.h" />
<source-file src="src/ios/CDVSplashScreen.m" />
<header-file src="src/ios/CDVSplashScreen.h" />
<source-file src="src/ios/CDVSplashScreen.m" />
<header-file src="src/ios/CDVViewController+SplashScreen.h" />
<source-file src="src/ios/CDVViewController+SplashScreen.m" />
<framework src="CoreGraphics.framework" />
</platform>
@@ -84,19 +90,6 @@
</config-file>
</platform>
<!-- wp7 -->
<platform name="wp7">
<config-file target="config.xml" parent="/*">
<feature name="SplashScreen">
<param name="wp-package" value="SplashScreen"/>
<param name="onload" value="true"/>
</feature>
</config-file>
<source-file src="src/wp/SplashScreen.cs" />
</platform>
<!-- wp8 -->
<platform name="wp8">
<config-file target="config.xml" parent="/*">
@@ -107,12 +100,20 @@
</config-file>
<source-file src="src/wp/SplashScreen.cs" />
<source-file src="src/wp/ResolutionHelper.cs" />
</platform>
<!-- windows8 -->
<platform name="windows8">
<js-module src="www/windows8/SplashScreenProxy.js" name="SplashScreenProxy">
<js-module src="www/windows/SplashScreenProxy.js" name="SplashScreenProxy">
<merges target="" />
</js-module>
</platform>
<!-- windows -->
<platform name="windows">
<js-module src="www/windows/SplashScreenProxy.js" name="SplashScreenProxy">
<merges target="" />
</js-module>
</platform>
@@ -123,4 +124,11 @@
<runs />
</js-module>
</platform>
<!-- browser -->
<platform name="browser">
<js-module src="src/browser/SplashScreenProxy.js" name="SplashScreenProxy">
<runs />
</js-module>
</platform>
</plugin>

View File

@@ -19,20 +19,150 @@
package org.apache.cordova.splashscreen;
import android.app.Dialog;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.res.Configuration;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.os.Handler;
import android.view.Display;
import android.view.Gravity;
import android.view.View;
import android.view.ViewGroup.LayoutParams;
import android.view.WindowManager;
import android.view.animation.Animation;
import android.view.animation.AlphaAnimation;
import android.view.animation.DecelerateInterpolator;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ProgressBar;
import android.widget.RelativeLayout;
import org.apache.cordova.CallbackContext;
import org.apache.cordova.CordovaPlugin;
import org.apache.cordova.CordovaWebView;
import org.json.JSONArray;
import org.json.JSONException;
public class SplashScreen extends CordovaPlugin {
private static final String LOG_TAG = "SplashScreen";
// Cordova 3.x.x has a copy of this plugin bundled with it (SplashScreenInternal.java).
// Enable functionality only if running on 4.x.x.
private static final boolean HAS_BUILT_IN_SPLASH_SCREEN = Integer.valueOf(CordovaWebView.CORDOVA_VERSION.split("\\.")[0]) < 4;
private static final int DEFAULT_SPLASHSCREEN_DURATION = 3000;
private static Dialog splashDialog;
private static ProgressDialog spinnerDialog;
private static boolean firstShow = true;
private static boolean lastHideAfterDelay; // https://issues.apache.org/jira/browse/CB-9094
/**
* Displays the splash drawable.
*/
private ImageView splashImageView;
/**
* Remember last device orientation to detect orientation changes.
*/
private int orientation;
// Helper to be compile-time compatible with both Cordova 3.x and 4.x.
private View getView() {
try {
return (View)webView.getClass().getMethod("getView").invoke(webView);
} catch (Exception e) {
return (View)webView;
}
}
@Override
public boolean execute(String action, JSONArray args, CallbackContext callbackContext) {
if (action.equals("hide")) {
this.webView.postMessage("splashscreen", "hide");
} else if (action.equals("show")){
this.webView.postMessage("splashscreen", "show");
protected void pluginInitialize() {
if (HAS_BUILT_IN_SPLASH_SCREEN) {
return;
}
else {
// Make WebView invisible while loading URL
getView().setVisibility(View.INVISIBLE);
int drawableId = preferences.getInteger("SplashDrawableId", 0);
if (drawableId == 0) {
String splashResource = preferences.getString("SplashScreen", "screen");
if (splashResource != null) {
drawableId = cordova.getActivity().getResources().getIdentifier(splashResource, "drawable", cordova.getActivity().getClass().getPackage().getName());
if (drawableId == 0) {
drawableId = cordova.getActivity().getResources().getIdentifier(splashResource, "drawable", cordova.getActivity().getPackageName());
}
preferences.set("SplashDrawableId", drawableId);
}
}
// Save initial orientation.
orientation = cordova.getActivity().getResources().getConfiguration().orientation;
if (firstShow) {
boolean autoHide = preferences.getBoolean("AutoHideSplashScreen", true);
showSplashScreen(autoHide);
}
if (preferences.getBoolean("SplashShowOnlyFirstTime", true)) {
firstShow = false;
}
}
/**
* Shorter way to check value of "SplashMaintainAspectRatio" preference.
*/
private boolean isMaintainAspectRatio () {
return preferences.getBoolean("SplashMaintainAspectRatio", false);
}
private int getFadeDuration () {
int fadeSplashScreenDuration = preferences.getBoolean("FadeSplashScreen", true) ?
preferences.getInteger("FadeSplashScreenDuration", DEFAULT_SPLASHSCREEN_DURATION) : 0;
if (fadeSplashScreenDuration < 30) {
// [CB-9750] This value used to be in decimal seconds, so we will assume that if someone specifies 10
// they mean 10 seconds, and not the meaningless 10ms
fadeSplashScreenDuration *= 1000;
}
return fadeSplashScreenDuration;
}
@Override
public void onPause(boolean multitasking) {
if (HAS_BUILT_IN_SPLASH_SCREEN) {
return;
}
// hide the splash screen to avoid leaking a window
this.removeSplashScreen();
}
@Override
public void onDestroy() {
if (HAS_BUILT_IN_SPLASH_SCREEN) {
return;
}
// hide the splash screen to avoid leaking a window
this.removeSplashScreen();
// If we set this to true onDestroy, we lose track when we go from page to page!
//firstShow = true;
}
@Override
public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException {
if (action.equals("hide")) {
cordova.getActivity().runOnUiThread(new Runnable() {
public void run() {
webView.postMessage("splashscreen", "hide");
}
});
} else if (action.equals("show")) {
cordova.getActivity().runOnUiThread(new Runnable() {
public void run() {
webView.postMessage("splashscreen", "show");
}
});
} else {
return false;
}
@@ -40,4 +170,208 @@ public class SplashScreen extends CordovaPlugin {
return true;
}
@Override
public Object onMessage(String id, Object data) {
if (HAS_BUILT_IN_SPLASH_SCREEN) {
return null;
}
if ("splashscreen".equals(id)) {
if ("hide".equals(data.toString())) {
this.removeSplashScreen();
} else {
this.showSplashScreen(false);
}
} else if ("spinner".equals(id)) {
if ("stop".equals(data.toString())) {
getView().setVisibility(View.VISIBLE);
}
} else if ("onReceivedError".equals(id)) {
this.spinnerStop();
}
return null;
}
// Don't add @Override so that plugin still compiles on 3.x.x for a while
public void onConfigurationChanged(Configuration newConfig) {
if (newConfig.orientation != orientation) {
orientation = newConfig.orientation;
// Splash drawable may change with orientation, so reload it.
if (splashImageView != null) {
int drawableId = preferences.getInteger("SplashDrawableId", 0);
if (drawableId != 0) {
splashImageView.setImageDrawable(cordova.getActivity().getResources().getDrawable(drawableId));
}
}
}
}
private void removeSplashScreen() {
cordova.getActivity().runOnUiThread(new Runnable() {
public void run() {
if (splashDialog != null && splashDialog.isShowing()) {
final int fadeSplashScreenDuration = getFadeDuration();
if (fadeSplashScreenDuration > 0) {
AlphaAnimation fadeOut = new AlphaAnimation(1, 0);
fadeOut.setInterpolator(new DecelerateInterpolator());
fadeOut.setDuration(fadeSplashScreenDuration);
splashImageView.setAnimation(fadeOut);
splashImageView.startAnimation(fadeOut);
fadeOut.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
spinnerStop();
}
@Override
public void onAnimationEnd(Animation animation) {
if (splashDialog != null && splashDialog.isShowing()) {
splashDialog.dismiss();
splashDialog = null;
splashImageView = null;
}
}
@Override
public void onAnimationRepeat(Animation animation) {
}
});
} else {
spinnerStop();
splashDialog.dismiss();
splashDialog = null;
splashImageView = null;
}
}
}
});
}
/**
* Shows the splash screen over the full Activity
*/
@SuppressWarnings("deprecation")
private void showSplashScreen(final boolean hideAfterDelay) {
final int splashscreenTime = preferences.getInteger("SplashScreenDelay", DEFAULT_SPLASHSCREEN_DURATION);
final int drawableId = preferences.getInteger("SplashDrawableId", 0);
final int fadeSplashScreenDuration = getFadeDuration();
final int effectiveSplashDuration = Math.max(0, splashscreenTime - fadeSplashScreenDuration);
lastHideAfterDelay = hideAfterDelay;
// If the splash dialog is showing don't try to show it again
if (splashDialog != null && splashDialog.isShowing()) {
return;
}
if (drawableId == 0 || (splashscreenTime <= 0 && hideAfterDelay)) {
return;
}
cordova.getActivity().runOnUiThread(new Runnable() {
public void run() {
// Get reference to display
Display display = cordova.getActivity().getWindowManager().getDefaultDisplay();
Context context = webView.getContext();
// Use an ImageView to render the image because of its flexible scaling options.
splashImageView = new ImageView(context);
splashImageView.setImageResource(drawableId);
LayoutParams layoutParams = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
splashImageView.setLayoutParams(layoutParams);
splashImageView.setMinimumHeight(display.getHeight());
splashImageView.setMinimumWidth(display.getWidth());
// TODO: Use the background color of the webView's parent instead of using the preference.
splashImageView.setBackgroundColor(preferences.getInteger("backgroundColor", Color.BLACK));
if (isMaintainAspectRatio()) {
// CENTER_CROP scale mode is equivalent to CSS "background-size:cover"
splashImageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
}
else {
// FIT_XY scales image non-uniformly to fit into image view.
splashImageView.setScaleType(ImageView.ScaleType.FIT_XY);
}
// Create and show the dialog
splashDialog = new Dialog(context, android.R.style.Theme_Translucent_NoTitleBar);
// check to see if the splash screen should be full screen
if ((cordova.getActivity().getWindow().getAttributes().flags & WindowManager.LayoutParams.FLAG_FULLSCREEN)
== WindowManager.LayoutParams.FLAG_FULLSCREEN) {
splashDialog.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
}
splashDialog.setContentView(splashImageView);
splashDialog.setCancelable(false);
splashDialog.show();
if (preferences.getBoolean("ShowSplashScreenSpinner", true)) {
spinnerStart();
}
// Set Runnable to remove splash screen just in case
if (hideAfterDelay) {
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
public void run() {
if (lastHideAfterDelay) {
removeSplashScreen();
}
}
}, effectiveSplashDuration);
}
}
});
}
// Show only spinner in the center of the screen
private void spinnerStart() {
cordova.getActivity().runOnUiThread(new Runnable() {
public void run() {
spinnerStop();
spinnerDialog = new ProgressDialog(webView.getContext());
spinnerDialog.setOnCancelListener(new DialogInterface.OnCancelListener() {
public void onCancel(DialogInterface dialog) {
spinnerDialog = null;
}
});
spinnerDialog.setCancelable(false);
spinnerDialog.setIndeterminate(true);
RelativeLayout centeredLayout = new RelativeLayout(cordova.getActivity());
centeredLayout.setGravity(Gravity.CENTER);
centeredLayout.setLayoutParams(new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
ProgressBar progressBar = new ProgressBar(webView.getContext());
RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
layoutParams.addRule(RelativeLayout.CENTER_IN_PARENT, RelativeLayout.TRUE);
progressBar.setLayoutParams(layoutParams);
centeredLayout.addView(progressBar);
spinnerDialog.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
spinnerDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
spinnerDialog.show();
spinnerDialog.setContentView(centeredLayout);
}
});
}
private void spinnerStop() {
cordova.getActivity().runOnUiThread(new Runnable() {
public void run() {
if (spinnerDialog != null && spinnerDialog.isShowing()) {
spinnerDialog.dismiss();
spinnerDialog = null;
}
}
});
}
}

View File

@@ -0,0 +1,138 @@
/*
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
*/
// Default parameter values including image size can be changed in `config.xml`
var splashImageWidth = 170;
var splashImageHeight = 200;
var position = { x: 0, y: 0, width: splashImageWidth, height: splashImageHeight };
var splash = null; //
var localSplash; // the image to display
var localSplashImage;
var bgColor = "#464646";
var imageSrc = 'img/logo.png';
var splashScreenDelay = 3000; // in milliseconds
var showSplashScreen = true; // show splashcreen by default
var configHelper = cordova.require('cordova/confighelper');
function updateImageLocation() {
position.width = Math.min(splashImageWidth, window.innerWidth);
position.height = position.width * (splashImageHeight / splashImageWidth);
localSplash.style.width = window.innerWidth + "px";
localSplash.style.height = window.innerHeight + "px";
localSplash.style.top = "0px";
localSplash.style.left = "0px";
localSplashImage.style.top = "50%";
localSplashImage.style.left = "50%";
localSplashImage.style.height = position.height + "px";
localSplashImage.style.width = position.width + "px";
localSplashImage.style.marginTop = (-position.height / 2) + "px";
localSplashImage.style.marginLeft = (-position.width / 2) + "px";
}
function onResize() {
updateImageLocation();
}
var SplashScreen = {
setBGColor: function (cssBGColor) {
bgColor = cssBGColor;
if (localSplash) {
localSplash.style.backgroundColor = bgColor;
}
},
show: function () {
if(!localSplash) {
window.addEventListener("resize", onResize, false);
localSplash = document.createElement("div");
localSplash.style.backgroundColor = bgColor;
localSplash.style.position = "absolute";
localSplashImage = document.createElement("img");
localSplashImage.src = imageSrc;
localSplashImage.style.position = "absolute";
updateImageLocation();
localSplash.appendChild(localSplashImage);
document.body.appendChild(localSplash);
}
},
hide: function () {
if(localSplash) {
window.removeEventListener("resize", onResize, false);
document.body.removeChild(localSplash);
localSplash = null;
}
}
};
/**
* Reads preferences via ConfigHelper and substitutes default parameters.
*/
function readPreferencesFromCfg(cfg) {
try {
var value = cfg.getPreferenceValue('ShowSplashScreen');
if(typeof value != 'undefined') {
showSplashScreen = value === 'true';
}
splashScreenDelay = cfg.getPreferenceValue('SplashScreenDelay') || splashScreenDelay;
imageSrc = cfg.getPreferenceValue('SplashScreen') || imageSrc;
bgColor = cfg.getPreferenceValue('SplashScreenBackgroundColor') || bgColor;
splashImageWidth = cfg.getPreferenceValue('SplashScreenWidth') || splashImageWidth;
splashImageHeight = cfg.getPreferenceValue('SplashScreenHeight') || splashImageHeight;
} catch(e) {
var msg = '[Browser][SplashScreen] Error occured on loading preferences from config.xml: ' + JSON.stringify(e);
console.error(msg);
error(msg);
}
}
/**
* Shows and hides splashscreen if it is enabled, with a delay according the current preferences.
*/
function showAndHide() {
if(showSplashScreen) {
SplashScreen.show();
window.setTimeout(function() {
SplashScreen.hide();
}, splashScreenDelay);
}
}
/**
* Tries to read config.xml and override default properties and then shows and hides splashcreen if it is enabled.
*/
(function initAndShow() {
configHelper.readConfig(function(config) {
readPreferencesFromCfg(config);
showAndHide();
}, function(err) {
console.error(err);
});
})();
module.exports = SplashScreen;
require("cordova/exec/proxy").add("SplashScreen", SplashScreen);

View File

@@ -23,6 +23,7 @@
typedef struct {
BOOL iPhone;
BOOL iPad;
BOOL iPhone4;
BOOL iPhone5;
BOOL iPhone6;
BOOL iPhone6Plus;

View File

@@ -20,15 +20,16 @@
#import "CDVSplashScreen.h"
#import <Cordova/CDVViewController.h>
#import <Cordova/CDVScreenOrientationDelegate.h>
#import "CDVViewController+SplashScreen.h"
#define kSplashScreenDurationDefault 0.25f
#define kSplashScreenDurationDefault 3000.0f
@implementation CDVSplashScreen
- (void)pluginInitialize
{
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(pageDidLoad) name:CDVPageDidLoadNotification object:self.webView];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(pageDidLoad) name:CDVPageDidLoadNotification object:nil];
[self setVisible:YES];
}
@@ -68,14 +69,29 @@
* gray = UIActivityIndicatorViewStyleGray
*
*/
// Determine whether rotation should be enabled for this device
// Per iOS HIG, landscape is only supported on iPad and iPhone 6+
CDV_iOSDevice device = [self getCurrentDevice];
BOOL autorotateValue = (device.iPad || device.iPhone6Plus) ?
[(CDVViewController *)self.viewController shouldAutorotateDefaultValue] :
NO;
[(CDVViewController *)self.viewController setEnabledAutorotation:autorotateValue];
NSString* topActivityIndicator = [self.commandDelegate.settings objectForKey:[@"TopActivityIndicator" lowercaseString]];
UIActivityIndicatorViewStyle topActivityIndicatorStyle = UIActivityIndicatorViewStyleGray;
if ([topActivityIndicator isEqualToString:@"whiteLarge"]) {
if ([topActivityIndicator isEqualToString:@"whiteLarge"])
{
topActivityIndicatorStyle = UIActivityIndicatorViewStyleWhiteLarge;
} else if ([topActivityIndicator isEqualToString:@"white"]) {
}
else if ([topActivityIndicator isEqualToString:@"white"])
{
topActivityIndicatorStyle = UIActivityIndicatorViewStyleWhite;
} else if ([topActivityIndicator isEqualToString:@"gray"]) {
}
else if ([topActivityIndicator isEqualToString:@"gray"])
{
topActivityIndicatorStyle = UIActivityIndicatorViewStyleGray;
}
@@ -93,7 +109,8 @@
id showSplashScreenSpinnerValue = [self.commandDelegate.settings objectForKey:[@"ShowSplashScreenSpinner" lowercaseString]];
// backwards compatibility - if key is missing, default to true
if ((showSplashScreenSpinnerValue == nil) || [showSplashScreenSpinnerValue boolValue]) {
if ((showSplashScreenSpinnerValue == nil) || [showSplashScreenSpinnerValue boolValue])
{
[parentView addSubview:_activityView];
}
@@ -105,8 +122,16 @@
[self updateImage];
}
- (void)hideViews
{
[_imageView setAlpha:0];
[_activityView setAlpha:0];
}
- (void)destroyViews
{
[(CDVViewController *)self.viewController setEnabledAutorotation:[(CDVViewController *)self.viewController shouldAutorotateDefaultValue]];
[_imageView removeFromSuperview];
[_activityView removeFromSuperview];
_imageView = nil;
@@ -124,16 +149,20 @@
UIScreen* mainScreen = [UIScreen mainScreen];
CGFloat mainScreenHeight = mainScreen.bounds.size.height;
CGFloat mainScreenWidth = mainScreen.bounds.size.width;
int limit = MAX(mainScreenHeight,mainScreenWidth);
device.iPad = (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad);
device.iPhone = (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone);
device.retina = ([mainScreen scale] == 2.0);
device.iPhone5 = (device.iPhone && mainScreenHeight == 568.0);
device.iPhone4 = (device.iPhone && limit == 480.0);
device.iPhone5 = (device.iPhone && limit == 568.0);
// note these below is not a true device detect, for example if you are on an
// iPhone 6/6+ but the app is scaled it will prob set iPhone5 as true, but
// this is appropriate for detecting the runtime screen environment
device.iPhone6 = (device.iPhone && mainScreenHeight == 667.0);
device.iPhone6Plus = (device.iPhone && mainScreenHeight == 736.0);
device.iPhone6 = (device.iPhone && limit == 667.0);
device.iPhone6Plus = (device.iPhone && limit == 736.0);
return device;
}
@@ -151,21 +180,49 @@
// this means there are no mixed orientations in there
BOOL isOrientationLocked = !(supportsPortrait && supportsLandscape);
if (imageName) {
if (imageName)
{
imageName = [imageName stringByDeletingPathExtension];
} else {
}
else
{
imageName = @"Default";
}
if (device.iPhone5) { // does not support landscape
// Add Asset Catalog specific prefixes
if ([imageName isEqualToString:@"LaunchImage"])
{
if (device.iPhone4 || device.iPhone5 || device.iPad) {
imageName = [imageName stringByAppendingString:@"-700"];
} else if(device.iPhone6) {
imageName = [imageName stringByAppendingString:@"-800"];
} else if(device.iPhone6Plus) {
imageName = [imageName stringByAppendingString:@"-800"];
if (currentOrientation == UIInterfaceOrientationPortrait || currentOrientation == UIInterfaceOrientationPortraitUpsideDown)
{
imageName = [imageName stringByAppendingString:@"-Portrait"];
}
}
}
if (device.iPhone5)
{ // does not support landscape
imageName = [imageName stringByAppendingString:@"-568h"];
} else if (device.iPhone6) { // does not support landscape
}
else if (device.iPhone6)
{ // does not support landscape
imageName = [imageName stringByAppendingString:@"-667h"];
} else if (device.iPhone6Plus) { // supports landscape
if (isOrientationLocked) {
}
else if (device.iPhone6Plus)
{ // supports landscape
if (isOrientationLocked)
{
imageName = [imageName stringByAppendingString:(supportsLandscape ? @"-Landscape" : @"")];
} else {
switch (currentOrientation) {
}
else
{
switch (currentOrientation)
{
case UIInterfaceOrientationLandscapeLeft:
case UIInterfaceOrientationLandscapeRight:
imageName = [imageName stringByAppendingString:@"-Landscape"];
@@ -176,11 +233,17 @@
}
imageName = [imageName stringByAppendingString:@"-736h"];
} else if (device.iPad) { // supports landscape
if (isOrientationLocked) {
}
else if (device.iPad)
{ // supports landscape
if (isOrientationLocked)
{
imageName = [imageName stringByAppendingString:(supportsLandscape ? @"-Landscape" : @"-Portrait")];
} else {
switch (currentOrientation) {
}
else
{
switch (currentOrientation)
{
case UIInterfaceOrientationLandscapeLeft:
case UIInterfaceOrientationLandscapeRight:
imageName = [imageName stringByAppendingString:@"-Landscape"];
@@ -198,21 +261,62 @@
return imageName;
}
- (UIInterfaceOrientation)getCurrentOrientation
{
UIInterfaceOrientation iOrientation = [UIApplication sharedApplication].statusBarOrientation;
UIDeviceOrientation dOrientation = [UIDevice currentDevice].orientation;
bool landscape;
if (dOrientation == UIDeviceOrientationUnknown || dOrientation == UIDeviceOrientationFaceUp || dOrientation == UIDeviceOrientationFaceDown) {
// If the device is laying down, use the UIInterfaceOrientation based on the status bar.
landscape = UIInterfaceOrientationIsLandscape(iOrientation);
} else {
// If the device is not laying down, use UIDeviceOrientation.
landscape = UIDeviceOrientationIsLandscape(dOrientation);
// There's a bug in iOS!!!! http://openradar.appspot.com/7216046
// So values needs to be reversed for landscape!
if (dOrientation == UIDeviceOrientationLandscapeLeft)
{
iOrientation = UIInterfaceOrientationLandscapeRight;
}
else if (dOrientation == UIDeviceOrientationLandscapeRight)
{
iOrientation = UIInterfaceOrientationLandscapeLeft;
}
else if (dOrientation == UIDeviceOrientationPortrait)
{
iOrientation = UIInterfaceOrientationPortrait;
}
else if (dOrientation == UIDeviceOrientationPortraitUpsideDown)
{
iOrientation = UIInterfaceOrientationPortraitUpsideDown;
}
}
return iOrientation;
}
// Sets the view's frame and image.
- (void)updateImage
{
NSString* imageName = [self getImageName:self.viewController.interfaceOrientation delegate:(id<CDVScreenOrientationDelegate>)self.viewController device:[self getCurrentDevice]];
NSString* imageName = [self getImageName:[self getCurrentOrientation] delegate:(id<CDVScreenOrientationDelegate>)self.viewController device:[self getCurrentDevice]];
if (![imageName isEqualToString:_curImageName]) {
if (![imageName isEqualToString:_curImageName])
{
UIImage* img = [UIImage imageNamed:imageName];
_imageView.image = img;
_curImageName = imageName;
}
// Check that splash screen's image exists before updating bounds
if (_imageView.image) {
if (_imageView.image)
{
[self updateBounds];
} else {
}
else
{
NSLog(@"WARNING: The splashscreen image named %@ was not found", imageName);
}
}
@@ -231,26 +335,35 @@
* landscape. In this case the image must be rotated in order to appear
* correctly.
*/
if (UIInterfaceOrientationIsLandscape(orientation) && !CDV_IsIPad()) {
CDV_iOSDevice device = [self getCurrentDevice];
if (UIInterfaceOrientationIsLandscape(orientation) && !device.iPhone6Plus && !device.iPad)
{
imgTransform = CGAffineTransformMakeRotation(M_PI / 2);
imgBounds.size = CGSizeMake(imgBounds.size.height, imgBounds.size.width);
}
// There's a special case when the image is the size of the screen.
if (CGSizeEqualToSize(screenSize, imgBounds.size)) {
if (CGSizeEqualToSize(screenSize, imgBounds.size))
{
CGRect statusFrame = [self.viewController.view convertRect:[UIApplication sharedApplication].statusBarFrame fromView:nil];
if (!(IsAtLeastiOSVersion(@"7.0"))) {
if (!(IsAtLeastiOSVersion(@"7.0")))
{
imgBounds.origin.y -= statusFrame.size.height;
}
} else if (imgBounds.size.width > 0) {
}
else if (imgBounds.size.width > 0)
{
CGRect viewBounds = self.viewController.view.bounds;
CGFloat imgAspect = imgBounds.size.width / imgBounds.size.height;
CGFloat viewAspect = viewBounds.size.width / viewBounds.size.height;
// This matches the behaviour of the native splash screen.
CGFloat ratio;
if (viewAspect > imgAspect) {
if (viewAspect > imgAspect)
{
ratio = viewBounds.size.width / imgBounds.size.width;
} else {
}
else
{
ratio = viewBounds.size.height / imgBounds.size.height;
}
imgBounds.size.height *= ratio;
@@ -263,39 +376,85 @@
- (void)setVisible:(BOOL)visible
{
if (visible == _visible) {
return;
}
_visible = visible;
if (visible != _visible)
{
_visible = visible;
id fadeSplashScreenValue = [self.commandDelegate.settings objectForKey:[@"FadeSplashScreen" lowercaseString]];
id fadeSplashScreenDuration = [self.commandDelegate.settings objectForKey:[@"FadeSplashScreenDuration" lowercaseString]];
id fadeSplashScreenValue = [self.commandDelegate.settings objectForKey:[@"FadeSplashScreen" lowercaseString]];
id fadeSplashScreenDuration = [self.commandDelegate.settings objectForKey:[@"FadeSplashScreenDuration" lowercaseString]];
float fadeDuration = fadeSplashScreenDuration == nil ? kSplashScreenDurationDefault : [fadeSplashScreenDuration floatValue];
float fadeDuration = fadeSplashScreenDuration == nil ? kSplashScreenDurationDefault : [fadeSplashScreenDuration floatValue];
if ((fadeSplashScreenValue == nil) || ![fadeSplashScreenValue boolValue]) {
fadeDuration = 0;
}
id splashDurationString = [self.commandDelegate.settings objectForKey: [@"SplashScreenDelay" lowercaseString]];
float splashDuration = splashDurationString == nil ? kSplashScreenDurationDefault : [splashDurationString floatValue];
// Never animate the showing of the splash screen.
if (visible) {
if (_imageView == nil) {
[self createViews];
}
} else if (fadeDuration == 0) {
[self destroyViews];
} else {
[UIView transitionWithView:self.viewController.view
duration:fadeDuration
options:UIViewAnimationOptionTransitionNone
animations:^(void) {
[_imageView setAlpha:0];
[_activityView setAlpha:0];
id autoHideSplashScreenValue = [self.commandDelegate.settings objectForKey:[@"AutoHideSplashScreen" lowercaseString]];
BOOL autoHideSplashScreen = true;
if (autoHideSplashScreenValue != nil) {
autoHideSplashScreen = [autoHideSplashScreenValue boolValue];
}
completion:^(BOOL finished) {
if (!autoHideSplashScreen) {
// CB-10412 SplashScreenDelay does not make sense if the splashscreen is hidden manually
splashDuration = 0;
}
if (fadeSplashScreenValue == nil)
{
fadeSplashScreenValue = @"true";
}
if (![fadeSplashScreenValue boolValue])
{
fadeDuration = 0;
}
else if (fadeDuration < 30)
{
// [CB-9750] This value used to be in decimal seconds, so we will assume that if someone specifies 10
// they mean 10 seconds, and not the meaningless 10ms
fadeDuration *= 1000;
}
if (_visible)
{
if (_imageView == nil)
{
[self createViews];
}
}
else if (fadeDuration == 0 && splashDuration == 0)
{
[self destroyViews];
}];
}
else
{
__weak __typeof(self) weakSelf = self;
float effectiveSplashDuration;
if (!autoHideSplashScreen) {
effectiveSplashDuration = (fadeDuration) / 1000;
} else {
effectiveSplashDuration = (splashDuration - fadeDuration) / 1000;
}
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (uint64_t) effectiveSplashDuration * NSEC_PER_SEC), dispatch_get_main_queue(), CFBridgingRelease(CFBridgingRetain(^(void) {
[UIView transitionWithView:self.viewController.view
duration:(fadeDuration / 1000)
options:UIViewAnimationOptionTransitionNone
animations:^(void) {
[weakSelf hideViews];
}
completion:^(BOOL finished) {
if (finished) {
[weakSelf destroyViews];
// TODO: It might also be nice to have a js event happen here -jm
}
}
];
})));
}
}
}

View File

@@ -0,0 +1,28 @@
/*
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
*/
#import <Cordova/CDVViewController.h>
@interface CDVViewController (SplashScreen)
@property (nonatomic, assign) BOOL enabledAutorotation;
@property (nonatomic, readonly) BOOL shouldAutorotateDefaultValue;
@end

View File

@@ -0,0 +1,89 @@
/*
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
*/
#import "CDVViewController+SplashScreen.h"
#import <objc/runtime.h>
@implementation CDVViewController (SplashScreen)
@dynamic enabledAutorotation;
- (void)setEnabledAutorotation:(BOOL)value
{
objc_setAssociatedObject(self,
@selector(enabledAutorotation),
[NSNumber numberWithBool:value],
OBJC_ASSOCIATION_RETAIN_NONATOMIC);
}
- (BOOL)enabledAutorotation
{
NSNumber *number = (NSNumber *)objc_getAssociatedObject(self, @selector(enabledAutorotation));
// Defaulting to YES to correspond parent CDVViewController behavior
if (number == nil)
{
return YES;
}
return [number boolValue];
}
+ (void)load
{
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
Class class = [self class];
SEL originalSelector = @selector(shouldAutorotate);
SEL swizzledSelector = @selector(splash_shouldAutorotate);
Method originalMethod = class_getInstanceMethod(class, originalSelector);
Method swizzledMethod = class_getInstanceMethod(class, swizzledSelector);
BOOL didAddMethod = class_addMethod(class,
originalSelector,
method_getImplementation(swizzledMethod),
method_getTypeEncoding(swizzledMethod));
if (didAddMethod) {
class_replaceMethod(class,
swizzledSelector,
method_getImplementation(originalMethod),
method_getTypeEncoding(originalMethod));
} else {
method_exchangeImplementations(originalMethod, swizzledMethod);
}
});
}
#pragma mark - Method Swizzling
- (BOOL)splash_shouldAutorotate
{
return self.enabledAutorotation;
}
- (BOOL)shouldAutorotateDefaultValue
{
return [self splash_shouldAutorotate];
}
@end

View File

@@ -0,0 +1,39 @@
/*
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
using Microsoft.Phone.Info;
using System;
using System.Windows;
namespace WPCordovaClassLib.Cordova.Commands
{
public enum Resolutions { WVGA, WXGA, HD };
public static class ResolutionHelper
{
public static Resolutions CurrentResolution
{
get
{
switch (Application.Current.Host.Content.ScaleFactor)
{
case 100: return Resolutions.WVGA;
case 160: return Resolutions.WXGA;
case 150: return Resolutions.HD;
}
throw new InvalidOperationException("Unknown resolution");
}
}
}
}

View File

@@ -1,10 +1,10 @@
/*
/*
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -41,127 +41,215 @@ namespace WPCordovaClassLib.Cordova.Commands
public class SplashScreen : BaseCommand
{
private Popup popup;
private bool autohide = true;
// Time until we dismiss the splashscreen
private int prefDelay = 3000;
// Whether we hide it by default
private bool prefAutoHide = true;
// Path to image to use
private string prefImagePath = "SplashScreenImage.jpg";
// static because autodismiss is only ever applied once, at app launch
// subsequent page loads should not cause the SplashScreen to be shown.
private static bool WasShown = false;
public SplashScreen()
{
Image SplashScreen = new Image();
BitmapImage splash_image = new BitmapImage();
splash_image.SetSource(Application.GetResourceStream(new Uri(@"SplashScreenImage.jpg", UriKind.Relative)).Stream);
SplashScreen.Source = splash_image;
LoadConfigPrefs();
Image SplashScreen = new Image()
{
Height = Application.Current.Host.Content.ActualHeight,
Width = Application.Current.Host.Content.ActualWidth,
Stretch = Stretch.Fill
};
var imageResource = GetSplashScreenImageResource();
if (imageResource != null)
{
BitmapImage splash_image = new BitmapImage();
splash_image.SetSource(imageResource.Stream);
SplashScreen.Source = splash_image;
}
// Instansiate the popup and set the Child property of Popup to SplashScreen
popup = new Popup() {IsOpen = false, Child = SplashScreen };
// Orient the popup accordingly
popup.HorizontalAlignment = HorizontalAlignment.Stretch;
popup.VerticalAlignment = VerticalAlignment.Center;
popup = new Popup() { IsOpen = false,
Child = SplashScreen,
HorizontalAlignment = HorizontalAlignment.Stretch,
VerticalAlignment = VerticalAlignment.Center
LoadConfigValues();
};
}
public override void OnInit()
{
// we only want to autoload the first time a page is loaded.
if (!WasShown)
// we only want to autoload on the first page load.
// but OnInit is called for every page load.
if (!SplashScreen.WasShown)
{
WasShown = true;
SplashScreen.WasShown = true;
show();
}
}
void LoadConfigValues()
private void LoadConfigPrefs()
{
StreamResourceInfo streamInfo = Application.GetResourceStream(new Uri("config.xml", UriKind.Relative));
if (streamInfo != null)
{
StreamReader sr = new StreamReader(streamInfo.Stream);
//This will Read Keys Collection for the xml file
XDocument document = XDocument.Parse(sr.ReadToEnd());
var preferences = from results in document.Descendants()
where (string)results.Attribute("name") == "AutoHideSplashScreen"
select (string)results.Attribute("value") == "true";
if (preferences.Count() > 0 && preferences.First() == false)
using (StreamReader sr = new StreamReader(streamInfo.Stream))
{
autohide = false;
//This will Read Keys Collection for the xml file
XDocument configFile = XDocument.Parse(sr.ReadToEnd());
string configAutoHide = configFile.Descendants()
.Where(x => x.Name.LocalName == "preference")
.Where(x => (string)x.Attribute("name") == "AutoHideSplashScreen")
.Select(x => (string)x.Attribute("value"))
.FirstOrDefault();
bool bVal;
prefAutoHide = bool.TryParse(configAutoHide, out bVal) ? bVal : prefAutoHide;
string configDelay = configFile.Descendants()
.Where(x => x.Name.LocalName == "preference")
.Where(x => (string)x.Attribute("name") == "SplashScreenDelay")
.Select(x => (string)x.Attribute("value"))
.FirstOrDefault();
int nVal;
prefDelay = int.TryParse(configDelay, out nVal) ? nVal : prefDelay;
string configImage = configFile.Descendants()
.Where(x => x.Name.LocalName == "preference")
.Where(x => (string)x.Attribute("name") == "SplashScreen")
.Select(x => (string)x.Attribute("value"))
.FirstOrDefault();
if (!String.IsNullOrEmpty(configImage))
{
prefImagePath = configImage;
}
}
}
}
private StreamResourceInfo GetSplashScreenImageResource()
{
// Get the base filename for the splash screen images
string imageName = System.IO.Path.GetFileNameWithoutExtension(prefImagePath);
Uri imageUri = null;
StreamResourceInfo imageResource = null;
// First, try to get a resolution-specific splashscreen
try
{
// Determine the device's resolution
switch (ResolutionHelper.CurrentResolution)
{
case Resolutions.HD:
imageUri = new Uri(imageName + ".screen-720p.jpg", UriKind.Relative);
break;
case Resolutions.WVGA:
imageUri = new Uri(imageName + ".screen-WVGA.jpg", UriKind.Relative);
break;
case Resolutions.WXGA:
default:
imageUri = new Uri(imageName + ".screen-WXGA.jpg", UriKind.Relative);
break;
}
imageResource = Application.GetResourceStream(imageUri);
}
catch (Exception)
{
// It's OK if we didn't get a resolution-specific image
}
// Fallback to the default image name without decoration
if (imageResource == null)
{
imageUri = new Uri(prefImagePath, UriKind.Relative);
imageResource = Application.GetResourceStream(imageUri);
}
if (imageUri != null) Debug.WriteLine("INFO :: SplashScreen: using image {0}", imageUri.OriginalString);
return imageResource;
}
public void show(string options = null)
{
Deployment.Current.Dispatcher.BeginInvoke(() =>
{
if (popup.IsOpen)
if (!popup.IsOpen)
{
return;
}
popup.Child.Opacity = 0;
popup.Child.Opacity = 0;
Storyboard story = new Storyboard();
DoubleAnimation animation = new DoubleAnimation()
{
From = 0.0,
To = 1.0,
Duration = new Duration(TimeSpan.FromSeconds(0.2))
};
Storyboard story = new Storyboard();
DoubleAnimation animation;
animation = new DoubleAnimation();
animation.From = 0.0;
animation.To = 1.0;
animation.Duration = new Duration(TimeSpan.FromSeconds(0.2));
Storyboard.SetTarget(animation, popup.Child);
Storyboard.SetTargetProperty(animation, new PropertyPath("Opacity"));
story.Children.Add(animation);
Storyboard.SetTarget(animation, popup.Child);
Storyboard.SetTargetProperty(animation, new PropertyPath("Opacity"));
story.Children.Add(animation);
story.Begin();
Debug.WriteLine("Fading the splash screen in");
popup.IsOpen = true;
story.Begin();
popup.IsOpen = true;
if (autohide)
{
DispatcherTimer timer = new DispatcherTimer();
timer.Tick += (object sender, EventArgs e) =>
if (prefAutoHide)
{
hide();
};
timer.Interval = TimeSpan.FromSeconds(1.2);
timer.Start();
StartAutoHideTimer();
}
}
});
});
}
public void hide(string options = null)
{
Deployment.Current.Dispatcher.BeginInvoke(() =>
{
if (!popup.IsOpen)
if (popup.IsOpen)
{
return;
popup.Child.Opacity = 1.0;
Storyboard story = new Storyboard();
DoubleAnimation animation = new DoubleAnimation()
{
From = 1.0,
To = 0.0,
Duration = new Duration(TimeSpan.FromSeconds(0.4))
};
Storyboard.SetTarget(animation, popup.Child);
Storyboard.SetTargetProperty(animation, new PropertyPath("Opacity"));
story.Children.Add(animation);
story.Completed += (object sender, EventArgs e) =>
{
popup.IsOpen = false;
};
story.Begin();
}
popup.Child.Opacity = 1.0;
Storyboard story = new Storyboard();
DoubleAnimation animation;
animation = new DoubleAnimation();
animation.From = 1.0;
animation.To = 0.0;
animation.Duration = new Duration(TimeSpan.FromSeconds(0.4));
Storyboard.SetTarget(animation, popup.Child);
Storyboard.SetTargetProperty(animation, new PropertyPath("Opacity"));
story.Children.Add(animation);
story.Completed += (object sender, EventArgs e) =>
{
popup.IsOpen = false;
};
story.Begin();
});
}
private void StartAutoHideTimer()
{
var timer = new DispatcherTimer() { Interval = TimeSpan.FromMilliseconds(prefDelay) };
timer.Tick += (object sender, EventArgs e) =>
{
hide();
timer.Stop();
};
timer.Start();
}
}
}

View File

@@ -0,0 +1 @@
build

View File

@@ -1,5 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<!--
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
-->
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>

View File

@@ -1,3 +1,22 @@
<!--
# license: Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-->
# iOS Tests for CDVSplashScreen
You need to install `node.js` to pull in `cordova-ios`.

View File

@@ -0,0 +1,39 @@
<!--
# license: Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-->
# iOS-Tests für CDVSplashScreen
Sie müssen installieren `node.js` in `Cordova-Ios` zu ziehen.
Installieren Sie Cordova-Ios zum ersten Mal:
npm install
... im aktuellen Ordner.
# Testen von Xcode
1. Starten Sie die Datei `CDVSplashScreenTest.xcworkspace` .
2. Wählen Sie im Dropdown-Schema "CDVSplashScreenLibTests"
3. Klicken Sie und halten Sie auf den `Play` -Button und wählen Sie das `Schraubenschlüssel` -Symbol zum Ausführen der tests
# Tests von der Befehlszeile aus
npm test

View File

@@ -0,0 +1,39 @@
<!--
# license: Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-->
# Pruebas de iOS para CDVSplashScreen
Necesita instalar `node.js` en `Córdoba-ios`.
Primero instalar cordova-ios:
npm install
... en la carpeta actual.
# Prueba de Xcode
1. Iniciar el archivo `CDVSplashScreenTest.xcworkspace` .
2. Elija "CDVSplashScreenLibTests" en el menú de lista desplegable esquema
3. Haga clic y mantenga el botón de `Play` y elegir el icono de `llave inglesa` para ejecutar las pruebas
# Pruebas desde la línea de comandos
npm test

View File

@@ -0,0 +1,39 @@
<!--
# license: Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-->
# Tests d'iOS pour CDVSplashScreen
Vous devez installer `node.js` à `cordova-ios`.
Commencez par installer cordova-ios :
npm install
... dans le dossier actuel.
# Tests de Xcode
1. Lancez le fichier `CDVSplashScreenTest.xcworkspace` .
2. Choisissez « CDVSplashScreenLibTests » dans le menu déroulant de régime
3. Cliquez et maintenez sur la touche `Play` et cliquez sur l'icône de `clé` pour exécuter les tests
# Test de la ligne de commande
npm test

View File

@@ -0,0 +1,39 @@
<!--
# license: Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-->
# Test di iOS per CDVSplashScreen
È necessario installare `node. js` per tirare in `cordova-ios`.
In primo luogo installare cordova-ios:
npm install
... nella cartella corrente.
# Test da Xcode
1. Lanciare il file `CDVSplashScreenTest.xcworkspace` .
2. Scegli "CDVSplashScreenLibTests" dal menu a discesa Schema
3. Fare clic e tenere premuto il pulsante `Play` e scegliere l'icona della `chiave inglese` per eseguire i test
# Test dalla riga di comando
npm test

View File

@@ -0,0 +1,39 @@
<!--
# license: Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-->
# CDVSplashScreen の iOS のテスト
`Node.js` `コルドバ`ios をプルするをインストールする必要があります。.
コルドバ ios をインストールします。
npm install
現在のフォルダーに.
# Xcode からテスト
1. `CDVSplashScreenTest.xcworkspace`ファイルを起動します。
2. スキーム] ドロップダウン メニューから"CDVSplashScreenLibTests"を選択します。
3. クリックし、`再生`ボタンを押し、テストを実行する`レンチ`のアイコンを選択
# コマンドラインからテスト
npm test

View File

@@ -0,0 +1,39 @@
<!--
# license: Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-->
# CDVSplashScreen에 대 한 iOS 테스트
`Node.js` `코르도바` ios에서를 설치 해야.
코르도바-ios를 설치 하는 첫번째는:
npm install
현재 폴더에....
# Xcode에서 테스트
1. `CDVSplashScreenTest.xcworkspace` 파일을 시작 합니다.
2. 구성표 드롭 다운 메뉴에서 "CDVSplashScreenLibTests"를 선택
3. 클릭 하 고 `재생` 버튼에는 테스트를 실행 하려면 `공구 모양` 아이콘을 선택
# 명령줄에서 테스트
npm test

View File

@@ -0,0 +1,39 @@
<!--
# license: Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-->
# iOS testy dla CDVSplashScreen
Musisz zainstalować `node.js` ciągnąć w `cordova-ios`.
Najpierw zainstalować cordova-ios:
npm install
... w folderze bieżącym.
# Badania z Xcode
1. Uruchom plik `CDVSplashScreenTest.xcworkspace` .
2. Wybierz z menu rozwijanego systemu "CDVSplashScreenLibTests"
3. Kliknij i przytrzymaj przycisk `Play` i wybrać ikonę `klucz` do testów
# Badania z wiersza polecenia
npm test

View File

@@ -0,0 +1,39 @@
<!--
# license: Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-->
# CDVSplashScreen 的 iOS 測試
您需要安裝`node.js``科爾多瓦 ios`中.
第一次安裝科爾多瓦 ios:
npm install
在當前資料夾中。
# 從 Xcode 測試
1. 啟動`CDVSplashScreenTest.xcworkspace`檔。
2. 從方案下拉式功能表中選擇"CDVSplashScreenLibTests"
3. 按一下並堅持`播放`按鈕,然後選擇要運行的測試的`扳手`圖示
# 從命令列測試
npm test

View File

@@ -8,6 +8,6 @@
"cordova-ios": "^3.6.0"
},
"scripts": {
"test": "xcodebuild -scheme CordovaLib && xcodebuild test -scheme CDVSplashScreenLibTests"
"test": "xcodebuild test -workspace CDVSplashScreenTest.xcworkspace -scheme CDVSplashScreenLibTests -destination 'platform=iOS Simulator,name=iPhone 5' CONFIGURATION_BUILD_DIR='/tmp'"
}
}

View File

@@ -19,8 +19,8 @@
-->
<plugin xmlns="http://apache.org/cordova/ns/plugins/1.0"
id="org.apache.cordova.splashscreen.tests"
version="0.3.4">
id="cordova-plugin-splashscreen-tests"
version="3.2.0">
<name>Cordova Splashscreen Plugin Tests</name>
<license>Apache 2.0</license>

View File

@@ -0,0 +1,79 @@
/*
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
*/
/*jslint sloppy:true */
/*global Windows:true, require, module, window, document, WinJS */
var cordova = require('cordova'),
channel = require('cordova/channel');
var isPhone = (cordova.platformId == "windows") && WinJS.Utilities.isPhone;
var isHosted = window.location.protocol.indexOf('http') === 0;
var localSplash = null;
var bgColor = "#464646"; // default backgrond color; TDOO - read it from .appxmanifest
var splashImageSrc = (isHosted ? "ms-appx-web" : "ms-appx") + ":///images/"
+ (isPhone ? "splashscreenphone.png" : "splashscreen.png");
var SplashScreen = {
setBGColor: function (cssBGColor) {
bgColor = cssBGColor;
if (localSplash) {
localSplash.style.backgroundColor = bgColor;
}
},
show: function () {
if (localSplash) {
return; // already showed
}
localSplash = document.createElement("div");
localSplash.style.backgroundColor = bgColor;
localSplash.style.position = "fixed";
localSplash.style.top = "0";
localSplash.style.width = "100%";
localSplash.style.height = "100%";
localSplashImage = document.createElement("img");
localSplashImage.src = splashImageSrc;
localSplashImage.style.maxWidth = "100%";
localSplashImage.style.maxHeight = "100%";
// center horizontally
localSplashImage.style.margin = "0 auto";
localSplashImage.style.display = "block";
// center vertically
localSplashImage.style.position = "relative";
localSplashImage.style.top = "50%";
localSplashImage.style.transform = "translateY(-50%)";
localSplash.appendChild(localSplashImage);
document.body.appendChild(localSplash);
},
hide: function () {
if (localSplash) {
document.body.removeChild(localSplash);
localSplash = null;
}
}
};
module.exports = SplashScreen;
require("cordova/exec/proxy").add("SplashScreen", SplashScreen);

View File

@@ -1,106 +0,0 @@
/*
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
*/
/*jslint sloppy:true */
/*global Windows:true, require, module, window, document, WinJS */
var cordova = require('cordova'),
channel = require('cordova/channel');
/* This is the actual implementation part that returns the result on Windows 8
*/
var position = { x: 0, y: 0, width: 0, height: 0 }; // defined by evt.detail.splashScreen.imageLocation
var splash = null; //
var localSplash; // the image to display
var localSplashImage;
var bgColor = "#464646";
function updateImageLocation() {
localSplash.style.width = window.innerWidth + "px";
localSplash.style.height = window.innerHeight + "px";
localSplash.style.top = "0px";
localSplash.style.left = "0px";
localSplashImage.style.top = position.y + "px";
localSplashImage.style.left = position.x + "px";
localSplashImage.style.height = position.height + "px";
localSplashImage.style.width = position.width + "px";
}
function onResize(evt) {
if (splash) {
position = splash.imageLocation;
updateImageLocation();
}
}
var SplashScreen = {
setBGColor: function (cssBGColor) {
bgColor = cssBGColor;
if (localSplash) {
localSplash.style.backgroundColor = bgColor;
}
},
show: function () {
window.addEventListener("resize", onResize, false);
localSplash = document.createElement("div");
localSplash.style.backgroundColor = bgColor;
localSplash.style.position = "absolute";
localSplashImage = document.createElement("img");
localSplashImage.src = "ms-appx:///images/splashscreen.png";
localSplashImage.style.position = "absolute";
updateImageLocation();
localSplash.appendChild(localSplashImage);
document.body.appendChild(localSplash);
},
hide: function () {
window.removeEventListener("resize", onResize, false);
document.body.removeChild(localSplash);
localSplash = null;
}
};
module.exports = SplashScreen;
function activated(evt) {
if (evt.detail.kind === Windows.ApplicationModel.Activation.ActivationKind.launch) {
splash = evt.detail.splashScreen;
position = evt.detail.splashScreen.imageLocation;
}
}
channel.onCordovaReady.subscribe(function (evt) {
document.addEventListener("DOMContentLoaded", function (evt) {
WinJS.Application.addEventListener("activated", activated, false);
}, false);
});
require("cordova/exec/proxy").add("SplashScreen", SplashScreen);