Android中隐藏状态栏和标题栏的方法汇总(隐藏状态栏、标题栏的五种方法)

发布时间 - 2026-01-10 22:52:01    点击率:

  方法一:

public class MainActivity extends Activity 
{ 
  @Override 
  protected void onCreate(Bundle savedInstanceState) 
  { 
    super.onCreate(savedInstanceState); 
    // 隐藏标题栏 
    requestWindowFeature(Window.FEATURE_NO_TITLE); 
    // 隐藏状态栏 
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
        WindowManager.LayoutParams.FLAG_FULLSCREEN); 
    setContentView(R.layout.activity_main); 
  } 
} 

方法二:

<!-- 同时隐藏状态栏和标题栏 --> 
<activity 
  android:name="com.ysj.demo.MainActivity" 
  android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 
  android:label="@string/app_name" > 
  <intent-filter> 
    <action android:name="android.intent.action.MAIN" /> 
    <category android:name="android.intent.category.LAUNCHER" /> 
  </intent-filter> 
</activity> 

方法三:

<!-- Application theme. --> 
<style name="AppTheme" parent="AppBaseTheme"> 
  <!-- All customizations that are NOT specific to a particular API-level can go here. --> 
  <!-- 隐藏状态栏 --> 
  <item name="android:windowFullscreen">true</item> 
  <!-- 隐藏标题栏 --> 
  <item name="android:windowNoTitle">true</item> 
</style> 

方法四:动态显示隐藏状态栏

//隐藏状态栏 
 WindowManager.LayoutParams lp = context.getWindow().getAttributes(); 
 lp.flags |= WindowManager.LayoutParams.FLAG_FULLSCREEN; 
 context.getWindow().setAttributes(lp); 
//显示状态栏 
  WindowManager.LayoutParams attr = context.getWindow().getAttributes(); 
  attr.flags &= (~WindowManager.LayoutParams.FLAG_FULLSCREEN); 
  context.getWindow().setAttributes(attr); 

方法五:动态显示隐藏状态栏

      View类提供了setSystemUiVisibility和getSystemUiVisibility方法,这两个方法实现对状态栏的动态显示或隐藏的操作,以及获取状态栏当前可见性。

setSystemUiVisibility方法传入的实参分析:

   setSystemUiVisibility(int visibility)方法可传入的实参为:

    1. View.SYSTEM_UI_FLAG_VISIBLE:显示状态栏,

Activity不全屏显示(恢复到有状态的正常情况)。

    2. View.INVISIBLE:隐藏状态栏,同时Activity会伸展全屏显示。

    3. View.SYSTEM_UI_FLAG_FULLSCREEN:Activity全屏显示,且状态栏被隐藏覆盖掉。

    4. View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN:Activity全屏显示,但状态栏不会被隐藏覆盖,状态栏依然可见,Activity顶端布局部分会被状态遮住。

    5. View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION:效果同View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN

    6. View.SYSTEM_UI_LAYOUT_FLAGS:效果同View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN

    7. View.SYSTEM_UI_FLAG_HIDE_NAVIGATION:隐藏虚拟按键(导航栏)。有些手机会用虚拟按键来代替物理按键。

    8. View.SYSTEM_UI_FLAG_LOW_PROFILE:状态栏显示处于低能显示状态(low profile模式),状态栏上一些图标显示会被隐藏。

package com.administrator.statubarapplication;  
import android.app.Activity;  
import android.os.Bundle;  
import android.view.View;  
import android.widget.Button;  
import android.widget.LinearLayout;  
import android.widget.TextView;  
public class MainActivity extends Activity implements View.OnClickListener {  
  @Override  
  protected void onCreate(Bundle savedInstanceState) {  
    super.onCreate(savedInstanceState);  
    setContentView(R.layout.activity_main);  
    assignViews();  
    setOnClicks();  
  }  
  private void setOnClicks() {  
    mButton1.setOnClickListener(this);  
    mButton2.setOnClickListener(this);  
    mButton3.setOnClickListener(this);  
    mButton4.setOnClickListener(this);  
    mButton5.setOnClickListener(this);  
    mButton6.setOnClickListener(this);  
    mButton7.setOnClickListener(this);  
  }  
  private LinearLayout mMain;  
  private TextView mTextview;  
  private Button mButton1;  
  private Button mButton2;  
  private Button mButton3;  
  private Button mButton4;  
  private Button mButton5;  
  private Button mButton6;  
  private Button mButton7;  
  private void assignViews() {  
    mMain = (LinearLayout) findViewById(R.id.main);  
    mTextview = (TextView) findViewById(R.id.textview);  
    mButton1 = (Button) findViewById(R.id.button1);  
    mButton2 = (Button) findViewById(R.id.button2);  
    mButton3 = (Button) findViewById(R.id.button3);  
    mButton4 = (Button) findViewById(R.id.button4);  
    mButton5 = (Button) findViewById(R.id.button5);  
    mButton6 = (Button) findViewById(R.id.button6);  
    mButton7 = (Button) findViewById(R.id.button7);  
  }  
  @Override  
  public void onClick(View v) {  
    switch (v.getId()) {  
      case R.id.button1:  
        //Activity全屏显示,且状态栏被隐藏覆盖掉  
        mMain.setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN);  
        mTextview.setText("Activity全屏显示,且状态栏被隐藏覆盖掉\nView.SYSTEM_UI_FLAG_FULLSCREEN");  
        break;  
      case R.id.button2:  
        mMain.setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE);  
        mTextview.setText("恢复到有状态的正常情况\nView.SYSTEM_UI_FLAG_VISIBLE");  
        break;  
      case R.id.button3:  
        mMain.setSystemUiVisibility(View.INVISIBLE);  
        mTextview.setText("//隐藏状态栏,同时Activity会伸展全屏显示\nView.INVISIBLE");  
        break;  
      case R.id.button4:  
        mMain.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);  
        mTextview.setText("Activity全屏显示,但状态栏不会被隐藏覆盖,状态栏依然可见,Activity顶端布局部分会被状态遮\nView" +  
            ".SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN \n View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION");  
        break;  
      case R.id.button5:  
        mMain.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);  
        mTextview.setText("Activity全屏显示,状态栏透明\nView.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION");  
        break;  
      case R.id.button6:  
        mMain.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);  
        mTextview.setText("隐藏虚拟按键\nView.SYSTEM_UI_FLAG_HIDE_NAVIGATION");  
        break;  
      case R.id.button7:  
        mMain.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE);  
        mTextview.setText("状态栏低能显示,有一些会被隐藏\nView.SYSTEM_UI_FLAG_LOW_PROFILE");  
        break;  
            default:  
        break;  
    }  
  }  
} 

下面看下 隐藏标题栏和底部操作栏,可上下滑动显示代码

@Override
public void onWindowFocusChanged(boolean hasFocus)
{
super.onWindowFocusChanged(hasFocus);
if (hasFocus)
{
View decorView = that.getWindow().getDecorView();
decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY | View.SYSTEM_UI_FLAG_FULLSCREEN);
}
}

以上所述是小编给大家介绍的Android中隐藏状态栏和标题栏的方法汇总(隐藏状态栏、标题栏的五种方法),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# android  # 标题栏状态栏  # android隐藏标题栏  # 隐藏状态栏  # Android中自定义标题栏样式的两种方法  # 3种Android隐藏顶部状态栏及标题栏的方法  # Android自定义状态栏颜色与应用标题栏颜色一致  # Android 顶部标题栏随滑动时的渐变隐藏和渐变显示效果  # Android中去掉标题栏的几种方法(三种)  # Android 全屏无标题栏的三种实现方法  # Android中隐藏标题栏和状态栏的方法  # Android 使用CoordinatorLayout实现滚动标题栏效果的实例  # Android ScrollView滑动实现仿QQ空间标题栏渐变  # Android实现可折叠式标题栏  # 状态栏  # 全屏  # 标题栏  # 小编  # 在此  # 这两个  # 给大家  # 会用  # 五种  # 所述  # 给我留言  # 感谢大家  # 疑问请  # 有任何  # 栏上  # 见性  # 来代替  # string  # category  # LAUNCHER 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel怎么防止CSRF攻击_Laravel CSRF保护中间件原理与实践  如何快速查询网址的建站时间与历史轨迹?  Laravel API资源类怎么用_Laravel API Resource数据转换  Win11搜索栏无法输入_解决Win11开始菜单搜索没反应问题【技巧】  Python文件流缓冲机制_IO性能解析【教程】  如何在IIS7中新建站点?详细步骤解析  网站建设整体流程解析,建站其实很容易!  香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南  Bootstrap CSS布局之列表  Laravel如何理解并使用服务容器(Service Container)_Laravel依赖注入与容器绑定说明  Windows Hello人脸识别突然无法使用  Laravel中DTO是什么概念_在Laravel项目中使用数据传输对象(DTO)  Laravel Blade模板引擎语法_Laravel Blade布局继承用法  网页设计与网站制作内容,怎样注册网站?  潮流网站制作头像软件下载,适合母子的网名有哪些?  Laravel如何生成API文档?(Swagger/OpenAPI教程)  C语言设计一个闪闪的圣诞树  如何用花生壳三步快速搭建专属网站?  nginx修改上传文件大小限制的方法  Laravel安装步骤详细教程_Laravel环境搭建指南  网站制作软件免费下载安装,有哪些免费下载的软件网站?  企业网站制作这些问题要关注  高端网站建设与定制开发一站式解决方案 中企动力  佐糖AI抠图怎样调整抠图精度_佐糖AI精度调整与放大细化操作【攻略】  瓜子二手车官方网站在线入口 瓜子二手车网页版官网通道入口  品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?  香港服务器租用每月最低只需15元?  北京的网站制作公司有哪些,哪个视频网站最好?  Laravel如何获取当前登录用户信息_Laravel Auth门面使用与Session用户读取【技巧】  Laravel如何实现全文搜索功能?(Scout和Algolia示例)  如何自定义建站之星模板颜色并下载新样式?  如何制作一个表白网站视频,关于勇敢表白的小标题?  装修招标网站设计制作流程,装修招标流程?  电视网站制作tvbox接口,云海电视怎样自定义添加电视源?  海南网站制作公司有哪些,海口网是哪家的?  Laravel如何处理CORS跨域问题_Laravel项目CORS配置与解决方案  Laravel Facade的原理是什么_深入理解Laravel门面及其工作机制  如何快速生成ASP一键建站模板并优化安全性?  Laravel用户密码怎么加密_Laravel Hash门面使用教程  详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)  晋江文学城电脑版官网 晋江文学城网页版直接进入  python中快速进行多个字符替换的方法小结  Laravel如何使用API Resources格式化JSON响应_Laravel数据资源封装与格式化输出  如何快速搭建高效WAP手机网站?  php在windows下怎么调试_phpwindows环境调试操作说明【操作】  如何挑选最适合建站的高性能VPS主机?  VIVO手机上del键无效OnKeyListener不响应的原因及解决方法  如何在景安云服务器上绑定域名并配置虚拟主机?  如何正确下载安装西数主机建站助手?  JS中对数组元素进行增删改移的方法总结