我有一个带有Ionic 3的应用程序,并且在您的app.component.ts中,我使用Statusbar ionic插件将其隐藏,但这仅在平台就绪被触发后才会发生。
在启动画面期间如何隐藏它?我尝试过:
–在启动屏幕期间不隐藏,仅在此隐藏之后 –在启动画面期间不更改背景颜色
解决方案?
答案 0 :(得分:4)
Android
似乎没有优雅的方法可以在应用启动时隐藏状态栏。 但是有一种方法可以做到这一点。
platforms/android/src/io/ionic/starter
) import android.view.WindowManager;
public class MainActivity extends CordovaActivity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
// enable Cordova apps to be started in the background
Bundle extras = getIntent().getExtras();
if (extras != null && extras.getBoolean("cdvStartInBackground", false)) {
moveTaskToBack(true);
}
// [Hyuck] add this two line below
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
// Set by <content src="index.html" /> in config.xml
loadUrl(launchUrl);
}
// [Hyuck] onStart() is totally new.
@Override
public void onStart()
{
super.onStart();
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
}
}
IOS
我只能测试Android设备。因此,我只留下the link可能会解决您的问题
答案 1 :(得分:0)
在MainActivity页面中添加代码后 我运行命令来构建apk 我收到此错误
Task :app:compileDebugJavaWithJavac FAILED E:\Ionic\AIOU_Solutions1\platforms\android\app\src\main\java\io\ionic\starter\MainActivity.java:38: error: package WindowManager does not exist getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
答案 2 :(得分:0)
基于Cordova的应用程序也遇到了同样的问题。在找到这种解决方案之前,我不知道如何在Splashcreen中隐藏状态栏(尝试了很多事情)。
找到文件 platforms / android / app / src / main / res / values / strings.xml
通过编辑XML添加具有特定规则的自定义主题
<?xml version='1.0' encoding='utf-8'?>
<resources>
<string name="app_name">My App Name</string>
<string name="launcher_name">@string/app_name</string>
<string name="activity_name">@string/launcher_name</string>
<!-- Add your custom theme rules -->
<style name="MyCustomTheme">
<item name="android:windowActionBar">false</item>
<item name="android:windowNoTitle">true</item>
</style>
</resources>
找到文件 platforms / android / app / src / main / AndroidManifest.xml
找到<activity>
标记并将引用添加到"MyCustomTheme"
<activity android:theme="@style/MyCustomTheme" ...etc...
您可能希望直接从config.xml
文件管理此自定义主题,而不必自己编辑AndroidManifest.xml
和strings.xml
。如果cordova platform remove android
和cordova platform add android
会删除您的更改,则可能会有所帮助。
将此添加到您的config.xml中
<platform name="android">
<!-- Edit the activity tag fo your AndroidManifest.xml -->
<edit-config file="AndroidManifest.xml" mode="merge" target="/manifest/application/activity">
<activity android:theme="@style/MyCustomTheme"/>
</edit-config>
<!-- Edit the strings.xml file -->
<edit-config file="strings.xml" mode="add" target="/resources">
<style name="MyCustomTheme">
<item name="android:windowActionBar">false</item>
<item name="android:windowNoTitle">true</item>
</style>
</edit-config>
</platform>
最后一步,请记住,为了能够使用<edit-config>
文件中的config.xml
标签,需要将此xmlns
属性添加到<widget>
标签中
<?xml version='1.0' encoding='utf-8'?>
<widget xmlns:android="http://schemas.android.com/apk/res/android" ...etc...
如果您有更好的选择,我很好奇!