我不只是在寻找API中的Splash Screen功能;如果可能的话,我希望HTML内容使用透明背景,并依靠WebView提供背景图像。这样的事情有可能吗?
除此之外,我是否至少可以在WebView上设置一个“渗透”到HTML内容的背景颜色?
答案 0 :(得分:5)
在挖掘Cordova源代码和Android文档后想出来。在src / com /.../ MyApp.java中:
public class MyApp extends DroidGap
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
super.loadUrl(Config.getStartUrl(), 20000);
// Must be after loadUrl!
super.appView.setBackgroundColor(0x00000000); // transparent RGB
super.appView.setLayerType(WebView.LAYER_TYPE_SOFTWARE, null);
// Put background image in res/drawable/splash.jpg
Drawable theSplash = getResources().getDrawable(R.drawable.splash);
super.root.setBackground(theSplash);
}
}
CSS:
html,
body,
.transparent { background-color: transparent !important; }
答案 1 :(得分:1)
我不确定设置图像,但您可以使用以下方法设置背景颜色:
<preference name="backgroundColor" value="0x00000000" />
您将在以下位置添加:res / xml / config.xml
答案 2 :(得分:1)
您可能希望在构建中自动执行其中某些操作,但这样可行。这是我在应用程序加载时在Android中出现启动画面的方式(不是在加载或人为延迟之后)......
在platforms / android / res / values / styles.xml
中创建一个文件<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="MyTheme" parent="@android:style/Theme.NoTitleBar">
<!-- set the splash screen as the background image on all windows -->
<item name="android:windowBackground">@drawable/screen</item>
</style>
</resources>
在您的platforms / android / Manifest.xml中,用@ style / MyTheme
替换主题在config.xml文件中添加以下两行
<!-- make the webview transparent -->
<preference name="backgroundColor" value="0x00000000" />
<!-- cordova will copy the splash screen file to screen.png,
but seems to ignore it after then
-->
<splash src="res/splash/splash.png"/>
显然,您需要使用splash.png文件。