Android隐藏状态栏和标题栏,相当于全屏效果

方法一:在AndroidManifest.xml中实现:
注册Activity时加上如下的一句配置就可以实现。
<activity  android:name=".Activity"
       android:theme="@android:style/Theme.NoTitleBar.Fullscreen"  >

</activity>

 

 

方法二:在代码中实现:

@Override

02public void onCreate(Bundle savedInstanceState) {
03    super.onCreate(savedInstanceState);
04    // hide titlebar of application
05    // must be before setting the layout
06    requestWindowFeature(Window.FEATURE_NO_TITLE);
07    // hide statusbar of Android
08    // could also be done later
09    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
10            WindowManager.LayoutParams.FLAG_FULLSCREEN);
11    setContentView(R.layout.main);
12    text = (EditText) findViewById(R.id.EditText01);
13   
14}

 

 

 

 

另,设置竖屏 屏蔽 横屏的方法: android:screenOrientation="portrait"   反之则用 landscape。  

如不屏蔽加速感应器,则不用设置此属性。即默认为:android:screenOrientation="sensor" 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

举报

感谢你们的回答,这是窗口下的工具栏,是全局的。无法通过布局来消除他。

  • yonge
    yonge 回答于 2012-03-18 16:39

    如果不想在某个activity中使用action bar,可以设置该activity的主题为Theme.Holo.NoActionBar。例如:

    <activity android:theme="@android:style/Theme.Holo.NoActionBar">

    --- 共有 3 条评论 ---
    • chester168@Liangar 谢谢,朋友!!(10个月前 by chester168)回复
    • Liangar回复 @chester168 : 可以设置 <style name="Theme.NoTitleBar.Fullscreen">但是,程序里面也需要有相应的代码:getWindow().getDecorView().setSystemUiVisibility(View.INVISIBLE);(10个月前 by Liangar)回复
    • chester168activity android:theme="@android:style/Theme.Holo.NoActionBar"无法去除工具栏(1年前 by chester168)回复
  • zhanglq
    zhanglq 回答于 2012-03-19 14:50
    4.0的系统应用无法去除的,编译源码时有个属性可以设置是否有工具栏!
  • LiangX
  • chester168
    chester168 回答于 2013-01-29 11:01
    谢谢各位好心的朋友们!!
  • guhaizhou
    guhaizhou 回答于 2013-07-29 18:11
    可以得到root权限后修改主system/app/SystemUI.apk为SystemUI.apk这样就可以屏蔽掉那几个键。不过开发中这样做了很老火,呵呵请谨用,如果不用了同样的方法将那个apk改回来
  • 何文策
    何文策 回答于 2013-08-07 16:54

    在android\frameworks\base\packages\SystemUI\src\com\android\systemui\statusbar\tablet\ 下的TabletStatusBar.java的 addStatusBarWindow() 函数中

    WindowManagerImpl.getDefault().addView(sb, lp); 这句话是就是在把sb 加入到window中 屏蔽掉这句就行了

    或者WindowManagerImpl.getDefault().removeView(sb); 也可以移除 其中sb就是 SystemUI的 View , addStatusBarWindow()全部代码如下:

    final View sb = makeStatusBarView();

    Log.w("____________" , "addStatusBarWindow");

    final WindowManager.LayoutParams lp = new WindowManager.LayoutParams(
    ViewGroup.LayoutParams.MATCH_PARENT,
    ViewGroup.LayoutParams.MATCH_PARENT,
    WindowManager.LayoutParams.TYPE_NAVIGATION_BAR,
    WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
    | WindowManager.LayoutParams.FLAG_TOUCHABLE_WHEN_WAKING
    | WindowManager.LayoutParams.FLAG_SPLIT_TOUCH,
    // We use a pixel format of RGB565 for the status bar to save memory bandwidth and
    // to ensure that the layer can be handled by HWComposer. On some devices the
    // HWComposer is unable to handle SW-rendered RGBX_8888 layers.
    PixelFormat.RGB_565);

    // We explicitly leave FLAG_HARDWARE_ACCELERATED out of the flags. The status bar occupies
    // very little screen real-estate and is updated fairly frequently. By using CPU rendering
    // for the status bar, we prevent the GPU from having to wake up just to do these small
    // updates, which should help keep power consumption down.

    // lp.gravity = getStatusBarGravity();


    lp.setTitle("SystemBar");
    lp.packageName = mContext.getPackageName();
    WindowManagerImpl.getDefault().addView(sb, lp);

    // Log.w("______________" , "removeView(sb)");
    // WindowManagerImpl.getDefault().removeView(sb);

     

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值