状态栏隐藏_隐藏状态栏 - CSDN
精华内容
参与话题
  • Android中状态栏隐藏

    万次阅读 2013-01-24 11:08:38
    网上找了好多状态栏隐藏的方法,搜集总结一下,供以后参考。  转载请注明出处:http://blog.csdn.net/harhy 系统中状态栏的隐藏 定制系统的时候,想去掉系统中的状态栏,系统中的状态栏隐藏的可在framework中...

    网上找了好多状态栏隐藏的方法,搜集总结一下,供以后参考。

     转载请注明出处:http://blog.csdn.net/harhy
    系统中状态栏的隐藏
    定制系统的时候,想去掉系统中的状态栏,系统中的状态栏隐藏的可在framework中的SystemUI.apk中修改实现。
    SystemUI.apk代码位于
    RK2908/ics/frameworks/base/packages/SystemUI
    设置状态栏不显示:
    打开文件SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBar.java
    找到如下代码
    460         final TabletStatusBarView sb = (TabletStatusBarView)View.inflate(
     461                 context, R.layout.status_bar, null);
     462         mStatusBarView = sb;

    在代码之后加入如下一行
    mStatusBarView.setVisibility(View.INVISIBLE);

    重新编译得到SystemUI.apk
    xiaxg@system:~/RK2908/ics/build$ source  envsetup.sh
    xiaxg@system:~/RK2908/ics/frameworks/base/packages/SystemUI$  mm

    得到的SystemUI.apk   位于out/target/product/rk29sdk/system/app/SystemUI.apk

    将SystemUI.apk放在目标板 /system/app下;
    如不重启系统的话,需杀掉com.android.systemui进程才会运行新的SystemUI.apk


    Apk中状态栏的隐藏,全屏的实现
    在开发中我们经常需要把我们的应用设置为全屏,这里介绍两种方法,一中是在代码中设置,另一种方法是在配置文件里改。
    1. 在代码中设置: 
    package com.android.tutor;  
    import android.app.Activity;  
    import android.os.Bundle;  
    import android.view.Window;  
    import android.view.WindowManager;  
    public class OpenGl_Lesson1 extends Activity {  
        public void onCreate(Bundle savedInstanceState) {  
            super.onCreate(savedInstanceState);  
           //去除title    
           requestWindowFeature(Window.FEATURE_NO_TITLE);    
            //去掉Activity上面的状态栏
           getWindow().setFlags(WindowManager.LayoutParams. FLAG_FULLSCREEN ,      
                          WindowManager.LayoutParams. FLAG_FULLSCREEN);   
               
            setContentView(R.layout.main);  
        }  
    }  
    设置全屏的俩段代码必须在setContentView(R.layout.main) 之前,不然会报错。
    2. 在配置文件里修改
    关键此行:android:theme="@android:style/Theme.NoTitleBar.Fullscreen",如果想只是去除标题栏就后面不用加Fullscreen了,另外,如果想要整个应用都去除标题栏和状态栏,就把这句代码加到<application。。标签里面,如果只是想某个activity起作用,这句代码就加到相应的activity上。

    <?xml version="1.0" encoding="utf-8"?>  
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"  
          package="com.android.tutor"  
          android:versionCode="1"  
          android:versionName="1.0">  
        <application android:icon="@drawable/icon" android:label="@string/app_name">  
            <activity android:name=".OpenGl_Lesson1"  
                      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>  
        <uses-sdk android:minSdkVersion="7" />  
    </manifest>   
    说明,用前者在我们应用运行后,会看到短暂的状态栏,然后才全屏,而第二种方法是不会有这种情况的,所以建议使用后者!

     

    Android4.0隐藏状态栏:

    hide statusbar
    grep "status_bar_height" * -nR
    将下面文件中关于status_bar_height定义的改为0dip.
    android4.0/frameworks/base/core/res/res/values-large/dimens.xml
    android4.0/frameworks/base/core/res/res/values-sw480dp/dimens.xml
    android4.0/frameworks/base/core/res/res/values-sw600dp/dimens.xml
    android4.0/frameworks/base/core/res/res/values/dimens.xml
    android4.0/packages/apps/Launcher2/res/values-sw480dp/dimens.xml
    android4.0/packages/apps/Launcher2/res/values-sw600dp/dimens.xml
    android4.0/packages/apps/Launcher2/res/values/dimens.xml


    展开全文
  • 隐藏状态栏

    2020-05-01 20:49:53
    隐藏状态栏 -(BOOL)prefersStatusBarHidden{ return YES; }

    隐藏状态栏

    -(BOOL)prefersStatusBarHidden{
    return YES;
    }
    
    展开全文
  • android 系统状态栏隐藏和显示

    万次阅读 多人点赞 2017-11-22 08:48:14
    系统状态栏隐藏和显示。 昨天遇到这个问题,找了好久资料才解决,这里记录一下。 网上流传着很多种做法。比如: 1、在AndroidManifest.xml文件中修改theme为android:theme=”@android:style/Theme....
    今天,简单讲讲android如何控制
    
    

    系统状态栏的隐藏和显示。


    昨天遇到这个问题,找了好久资料才解决,这里记录一下。


    网上流传着很多种做法。比如:
    1、在AndroidManifest.xml文件中修改theme为android:theme=”@android:style/Theme.NoTitleBar.Fullscreen”
    2、在setContentView方法前执行如下代码:

    requestWindowFeature(Window.FEATURE_NO_TITLE)
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);

    3、通过View的setSystemUiVisibility方法
    4、通过如下代码实现状态栏的隐藏和显示:

    getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN) //隐藏状态栏
    getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN) //显示状态栏


    方法1、2只能消除状态栏,不能显示状态栏。

    方法3,我采用过,调用setSystemUiVisibility方法,该方法传入的参数可以为:

    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模式),状态栏上一些图标显示会被隐藏。

    这里我需要传入的是View.SYSTEM_UI_FLAG_FULLSCREEN,可是当我传入该参数后,结果是:只是状态栏消失了,但是位置还在。(测试手机:华为荣耀8 系统是基于Android 7.0的EMUI 5.0;三星galaxy s6 系统是Android 6.0)


    最终,只有方法4可以正常使用。


    下面记录一下步骤:

    1.显示与隐藏状态栏的代码如下:

    private void fullscreen(boolean enable) {

            if (enable) { //显示状态栏

                WindowManager.LayoutParams lp = getWindow().getAttributes();

                lp.flags |= WindowManager.LayoutParams.FLAG_FULLSCREEN;

                getWindow().setAttributes(lp);

                getWindow().addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);

            } else { //隐藏状态栏

                WindowManager.LayoutParams lp = getWindow().getAttributes();

                lp.flags &= (~WindowManager.LayoutParams.FLAG_FULLSCREEN);

                getWindow().setAttributes(lp);

                getWindow().clearFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);

            }

        }


    2.示与隐藏的效果如下:



    3.横屏与竖屏切换时处理状态栏的显示与隐藏,所以需要配置屏幕切换代码。

    AndroidManifest.xml中activity上配置

    android:configChanges="orientation|keyboardHidden|screenSize"

    android显示与隐藏状态栏



    4.activity中override方法onConfigurationChanged

    @Override

    public void onConfigurationChanged(Configuration newConfig) {

    super.onConfigurationChanged(newConfig);

       if(this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE ){//横屏

       

       }else if( this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT ){//竖屏

       

       }

    }

    android显示与隐藏状态栏



    注意事项

    • AndroidManifest.xml中activity配置android:configChanges="orientation|keyboardHidden|screenSize"
    • override方法onConfigurationChanged


    android 系统状态栏的隐藏和显示就讲完了。


    就这么简单。

    展开全文
  • 状态栏隐藏与显示

    2015-12-04 12:21:07
    1.程序所有地方隐藏状态栏 方式一: 在项目全局设置内将 Deployment Info内找到 Hide during application launch字意选项,打钩 方式二: AppDelegate.m - (BOOL)application:...

    1.程序所有地方隐藏状态栏


    方式一:

    在项目全局设置内将

    Deployment Info内找到 Hide during application launch字意选项,打钩

    方式二:

    AppDelegate.m


    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

    {

        // 隐藏状态栏

        application.statusBarHidden = YES;

        return YES;

    }

    注意:

    iOS7以后必须在info内增加View controller-based status bar appearance 并设置为YES



    2.只在程序启动时隐藏


    在项目全局设置内将

    Deployment Info内找到 Hide during application launch字意选项,打钩

    在回到

    AppDelegate.m


    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

    {

        // 隐藏状态栏

        application.statusBarHidden = NO;

        return YES;

    }


    3.状态栏变白色


    方式一:

    在项目全局设置内将

    Deployment Info内找到status Bar Style 设置成Light

    方式二:


    1.启动画面修改为白色


    info.plist中添加Status bar style 值为 Transparent black style (alpha of 0.5)

    2.全部修改为白色(启动画面除外)


    第一步:在Plist里面添加 UIViewControllerBasedStatusBarAppearance   设置为NO

    第二步:在入口类中写:[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];


    最近为IOS7升级app,遇到了状态栏被导航栏遮住的问题,这里说的是UINavigationBar,自定义的不用看了


    绝大多数情况下,只要用下面这两句话就搞定了


    self.navigationController.navigationBar.translucent = NO;


    self.tabBarController.tabBar.translucent = NO;


    注:有时会遇到状态栏一直是一片漆黑

    意思就是UINavigationBar的高度会自行调整为44或者64,没有确定的预测方法。而之前作为UINavigationBar背景的图片是44高度的。最后换了张64高度,上面留了20px透明的图片搞定,若按上面的方式状态栏设为黑底的话20px设置为黑色就好了。

    展开全文
  • 状态栏隐藏

    2015-07-27 15:03:58
    Storyboard 界面上选中UIViewController,最右边Simulated Metrics找到 Status Bar ...iOS 6通过[UIApplication sharedApplication] 取得app的单例,然后调用setStatusBarHidden方法隐藏 Status Bar。 iOS 7
  • Android 完全隐藏状态栏方法

    千次阅读 2019-03-05 14:51:43
    昨天项目有个需求,要在app启动页上动态申请权限。...1. 隐藏ActionBar: ActionBar actionBar = getActionBar(); if (actionBar != null) { actionBar.hide(); } 如果是继承AppCompatActivity,就用getSuppo...
  • 一, 设置标题栏隐藏, &lt;style name="TestTheme" parent="AppTheme"&gt; &lt;item name="windowNoTitle"&gt;true&lt;/item&gt; &lt;/style&gt; ...
  • 隐藏状态栏的几种方式

    千次阅读 2017-03-27 01:10:39
    一、隐藏状态栏 方式一: iOS7以后,隐藏状态栏需要同时在Info.plist中设置 Status bar is initially hidden、View controller-based status bar appearance这两个Key。 它们对应的Value都是Boolean类型。如图:...
  • iOS 隐藏顶部状态栏

    万次阅读 2015-11-06 15:17:45
    为了不影响app内容的显示,将顶部的状态栏(现实信号,时间,电量)隐藏 默认状态栏一直是存在的 方法一, 适用于修改某些页面的状态栏 我们可以通过设置ViewController的属性来隐藏 在 viewDidLoad 方法中添加...
  • Android中系统状态栏隐藏和显示

    万次阅读 2018-08-02 09:45:21
    尤其视频类APP,需要实现切换到横屏后,隐藏系统状态栏,全屏显示,以实现看更大画面的视频。当切换回竖屏后,又显示状态栏。那么如何实现呢?
  • Ubuntu顶部有一条用于显示时间等信息的状态栏,而每一个程序却又有一...本文将详细介绍如何自动隐藏Ubuntu顶部状态栏。环境Ubuntu Desktop amd64 18.04 LTS(Vmware Workstation 14 Pro 14.1.1 build-7528167)Googl...
  • Android 沉浸式状态栏隐藏导航栏

    万次阅读 2017-07-06 10:22:26
    可以看到,有状态栏、ActionBar(ToolBar)、导航栏等,一般来说,APP实现沉浸式有三种需求:沉浸式状态栏,隐藏导航栏,APP全屏 沉浸式状态栏是指状态栏与ActionBar颜色相匹配, 隐藏导航栏不用多说,就是将导航...
  • Android Studio在实现隐藏标题栏和状态栏上和Eclipse是完全不一样的。设置方法: ①先在values的styles.xml中添加子标签: <item name="android:windowNoTitle">true <item name="android:windowFullscreen">...
  • Ubuntu18.04自动隐藏顶部状态栏

    万次阅读 2018-08-16 18:37:26
    Ubuntu顶部有一条用于显示时间等信息的状态栏,而每一个程序却又有一...本文将详细介绍如何自动隐藏Ubuntu顶部状态栏。 环境 Ubuntu Desktop amd64 18.04 LTS(Vmware Workstation 14 Pro 14.1.1 build-7528167) ...
  • Android App 隐藏标题栏+状态栏+导航栏

    万次阅读 2014-05-13 14:35:04
    一、隐藏当前Activity标题栏  在当前Activity中调用:this.requestWindowFeature...二、隐藏当前Activity状态栏  在当前Activity中调用:  this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FUL
  • Android 动态隐藏显示导航栏,状态栏

    万次阅读 2016-12-27 16:49:07
    Talk is cheap, show me the code. --Linus Torvalds Okay, here: private void hideNavigationBar() { View decorView = getWindow().getDecorView(); int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIG
  • Android动态显示和隐藏状态栏

    万次阅读 2015-11-14 12:10:08
    View类提供了setSystemUiVisibility和getSystemUiVisibility方法,这两个方法实现对状态栏的动态显示或隐藏的操作,以及获取状态栏当前可见性。 setSystemUiVisibility方法传入的实参分析:  ...
  • Ubuntu18.自动隐藏顶部状态栏

    千次阅读 2018-09-30 21:02:16
    有这处条在与右上的应用小按钮老冲突,...默认的设置工具中是不能把这个隐藏的。需要自动隐藏,就要安装gnome 的扩展功能Hide Top Bar ,这在ubuntu软件包更新工具下的,附加组件中,可以找到。或者在浏览器中访问。...
  • iOS 9 隐藏导航条和状态栏

    千次阅读 2017-10-11 16:39:25
    状态栏的高度是20,导航栏的高度是44,如果同时存在状态栏的导航条,我们通常会设置view上的控件的位置的X 大于等于 64. 一:隐藏导航条:self.navigationController.navigationBarHidden = YES; 二:隐藏...
  • Android隐藏状态栏 全屏

    千次阅读 2016-07-28 15:01:55
    Android隐藏状态栏 全屏本教程讲述如何隐藏Android的不同版本的状态栏隐藏状态栏(和任选的导航栏)可以有更多的显示空间,从而提供更真实的用户体验。 图1显示一个带有状态栏的应用: 图1:显示了状态栏。图...
1 2 3 4 5 ... 20
收藏数 109,600
精华内容 43,840
关键字:

状态栏隐藏