最近在做一个原生的android项目,IDE使用的时androidstudio, 其中涉及到欢迎界面和状态栏以及标题栏的修改,特意说一下 Android 6.0以上版本 状态栏透明和隐藏标题栏方法。
首先 隐藏状态栏全屏加载图片实现欢迎界面。主要修改如下
Values 文件夹下创建 style.xml 增加无标题栏主题
<?xml version="1.0" encoding="utf-8"?><resources>
<style name="Theme.AppCompat.Light.NoActionBar" parent="@style/Theme.AppCompat.Light">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
</resources>
注意,这里的 parent = 后面的部分要和你的app当前使用主题匹配。
配置好样式文件以后,我们就要修改app 框架文件 AndroidMainifest.xml 将欢迎界面的 activity 引用刚才配置好的无标题栏主题。
<activity
android:name=".ui.WelComeActivity"
android:theme="@style/Theme.AppCompat.Light.NoActionBar"
android:exported="true">
现在界面不显示标题栏和标题了,我们的状态栏还是会显示,欢迎页面应该是全屏,且没有状态栏的。现在我们在 欢迎界面的 activity oncreate 方法里面增加下面逻辑。
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN|View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
getWindow().setStatusBarColor(Color.TRANSPARENT);
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
Intent intent = new Intent(WelComeActivity.this, LoginActivity.class);
startActivity(intent);
WelComeActivity.this.finish();
}
}, 2500);
setContentView(R.layout.activity_wel_come);
上面代码的作用是将状态栏设置为全屏浅色模式,然后将状态栏透明,这样 欢迎界面 activity 添加一个全屏的imageview 增加3秒定时器事件就可以实现欢迎界面了。
注意这段代码是在 绑定视图前面定义, setContentView(R.layout.activity_wel_come); 的前面。
imageview 的宽和高都要设置成全屏,而且要图片拉伸,这样就做好欢迎界面了。
android:layout_width=“match_parent”
android:layout_height=“match_parent”
android:scaleType=“fitXY”
真机测试效果,注意看顶部没有状态栏和底部的虚拟按键。一切正常!!