找回密码
 立即注册
查看: 33|回复: 0

Android 6.0 以上状态栏透明和隐藏标题栏方法-java

[复制链接]

15

主题

2

回帖

81

积分

管理员

积分
81
发表于 6 天前 | 显示全部楼层 |阅读模式
最近在做一个原生的android项目,IDE使用的时androidstudio, 其中涉及到欢迎界面和状态栏以及标题栏的修改,特意说一下 Android 6.0以上版本 状态栏透明和隐藏标题栏方法。
首先 隐藏状态栏全屏加载图片实现欢迎界面。主要修改如下
Values 文件夹下创建 style.xml 增加无标题栏主题
  1. <?xml version="1.0" encoding="utf-8"?><resources>
  2. <style name="Theme.AppCompat.Light.NoActionBar" parent="@style/Theme.AppCompat.Light">
  3.     <item name="windowActionBar">false</item>
  4.     <item name="windowNoTitle">true</item>
  5. </style>
  6. </resources>
复制代码

注意,这里的 parent = 后面的部分要和你的app当前使用主题匹配。

配置好样式文件以后,我们就要修改app 框架文件 AndroidMainifest.xml 将欢迎界面的 activity 引用刚才配置好的无标题栏主题。

  1. <activity
  2.         android:name=".ui.WelComeActivity"
  3.         android:theme="@style/Theme.AppCompat.Light.NoActionBar"
  4.         android:exported="true">
复制代码

现在界面不显示标题栏和标题了,我们的状态栏还是会显示,欢迎页面应该是全屏,且没有状态栏的。现在我们在 欢迎界面的 activity oncreate 方法里面增加下面逻辑。

  1. getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN|View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
  2.     getWindow().setStatusBarColor(Color.TRANSPARENT);
  3.     new Handler().postDelayed(new Runnable() {
  4.         @Override
  5.         public void run() {
  6.             Intent intent = new Intent(WelComeActivity.this, LoginActivity.class);
  7.             startActivity(intent);
  8.             WelComeActivity.this.finish();
  9.         }
  10.     }, 2500);
  11.    
  12.    setContentView(R.layout.activity_wel_come);
复制代码

上面代码的作用是将状态栏设置为全屏浅色模式,然后将状态栏透明,这样 欢迎界面 activity 添加一个全屏的imageview 增加3秒定时器事件就可以实现欢迎界面了。

注意这段代码是在 绑定视图前面定义, setContentView(R.layout.activity_wel_come); 的前面。

imageview 的宽和高都要设置成全屏,而且要图片拉伸,这样就做好欢迎界面了。

真机测试效果,注意看顶部没有状态栏和底部的虚拟按键。一切正常!!



您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|软件开发编程门户 ( 陇ICP备2024013992号-1|甘公网安备62090002000130号 )

GMT+8, 2024-12-5 10:26 , Processed in 0.047759 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表