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

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

概述  方法一:publicclassMainActivityextendsActivity{@OverrideprotectedvoidonCreate(BundlesavedInstanceState)

  方法一:

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.@R_301_5976@istrator.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;      }    }  } 

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

@OverrIDepublic 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中隐藏状态栏和标题栏的方法汇总(隐藏状态栏、标题栏的五种方法)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1147074.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-31
下一篇2022-05-31

发表评论

登录后才能评论

评论列表(0条)

    保存