【发布时间】:2017-08-30 20:04:51
【问题描述】:
我正在尝试实现一个占据整个屏幕的启动画面。因此,需要隐藏状态栏,但仅在启动屏幕期间。 现在启动画面出现了,但状态栏仍然显示。 我尝试了这种方法但没有成功:
public class LaunchScreen extends AppCompatActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().getDecorView().setSystemUiVisibility(
View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION // hide nav bar
| View.SYSTEM_UI_FLAG_FULLSCREEN // hide status bar
| View.SYSTEM_UI_FLAG_IMMERSIVE);
startActivity(new Intent(LaunchScreen.this, MainActivity.class));
finish();
}
}
这是我的启动资源文件:
<style name="SplashTheme" parent="Theme.AppCompat.NoActionBar">
<item name="android:windowBackground">@drawable/launch_screen</item>
</style>
launch_screen.xml:
<item android:drawable="@color/colorPrimary" />
<item>
<bitmap
android:gravity="center"
android:src="@mipmap/ic_launcher" />
</item>
清单文件:
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name=".LaunchScreen"
android:theme="@style/SplashTheme">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".MainActivity" />
非常感谢任何帮助!
【问题讨论】:
-
你可以让它透明并且你的启动图像在它下面
-
@AhmedAbd-Elmeged 我可以使哪些部分透明?
-
这是你想要的形状吗?如果是,我会回答这个问题
-
@AhmedAbd-Elmeged 答案是肯定的和否定的。我看到您的背景占据了整个屏幕,这正是我想要的,但我根本不希望显示时间或顶部(状态栏)上的所有通知图标。
标签: android splash-screen statusbar