Android全屏(包含3种隐藏顶部状态栏及标题栏和一种隐藏Android 4.0平板底部状态栏的方法)

方法一

[java]   view plain copy
  1. public class MainActivity extends Activity  
  2. {  
  3.   
  4.     @Override  
  5.     protected void onCreate(Bundle savedInstanceState)  
  6.     {  
  7.         super.onCreate(savedInstanceState);  
  8.   
  9.         // 隐藏标题栏  
  10.         requestWindowFeature(Window.FEATURE_NO_TITLE);  
  11.         // 隐藏状态栏  
  12.         getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,  
  13.                 WindowManager.LayoutParams.FLAG_FULLSCREEN);  
  14.   
  15.         setContentView(R.layout.activity_main);  
  16.     }  
  17.   
  18. }  
方法二
[html]   view plain copy
  1. <!-- 同时隐藏状态栏和标题栏  -->  
  2. <activity  
  3.     android:name="com.ysj.demo.MainActivity"  
  4.     android:theme="@android:style/Theme.NoTitleBar.Fullscreen"  
  5.     android:label="@string/app_name" >  
  6.     <intent-filter>  
  7.         <action android:name="android.intent.action.MAIN" />  
  8.   
  9.   
  10.         <category android:name="android.intent.category.LAUNCHER" />  
  11.     </intent-filter>  
  12. </activity>  
方法三
[html]   view plain copy
  1. <!-- Application theme. -->  
  2. <style name="AppTheme" parent="AppBaseTheme">  
  3.     <!-- All customizations that are NOT specific to a particular API-level can go here. -->  
  4.     <!-- 隐藏状态栏 -->  
  5.     <item name="android:windowFullscreen">true</item>  
  6.     <!-- 隐藏标题栏 -->  
  7.     <item name="android:windowNoTitle">true</item>  
  8. </style>  

注:

1、方法一中的两段代码要在setContentView()之前。

2、方法二只能同时隐藏状态栏和标题栏。

3、方法一和方法二都只应用于单个Activity。方法三应用于整个程序。

对于运行Android 4.0以上系统的平板电脑,以上三种方法都不会隐藏屏幕下方的状态栏,须做如下处理。

[java]   view plain copy
  1. public class StartupActivity extends Activity  
  2. {  
  3.   
  4.     @Override  
  5.     protected void onCreate(Bundle savedInstanceState)  
  6.     {  
  7.         super.onCreate(savedInstanceState);  
  8.         setContentView(R.layout.activity_startup);  
  9.           
  10.         /* 
  11.          * 隐藏运行Android 4.0以上系统的平板的屏幕下方的状态栏 
  12.          */  
  13.         try    
  14.         {    
  15.             String ProcID = "79";    
  16.             if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.ICE_CREAM_SANDWICH) ProcID = "42"// ICS    
  17.             // 需要root 权限    
  18.             Process proc = Runtime.getRuntime().exec(new String[] { "su""-c""service call activity " + ProcID + " s16 com.android.systemui" }); // WAS    
  19.             proc.waitFor();    
  20.         }    
  21.         catch (Exception ex)    
  22.         {    
  23.             Toast.makeText(getApplicationContext(), ex.getMessage(), Toast.LENGTH_LONG).show();    
  24.         }    
  25.     }  
  26.   
  27.     @Override  
  28.     protected void onDestroy()  
  29.     {  
  30.         // TODO Auto-generated method stub  
  31.         /* 
  32.          * 恢复运行Android 4.0以上系统的平板的屏幕下方的状态栏 
  33.          */  
  34.         try    
  35.         {    
  36.             Process proc = Runtime.getRuntime().exec(new String[] { "am""startservice""-n""com.android.systemui/.SystemUIService" });    
  37.             proc.waitFor();    
  38.         }    
  39.         catch (Exception e)    
  40.         {    
  41.             e.printStackTrace();    
  42.         }    
  43.         super.onDestroy();  
  44.     }  
  45.   
  46.     @Override  
  47.     public boolean onCreateOptionsMenu(Menu menu)  
  48.     {  
  49.         // Inflate the menu; this adds items to the action bar if it is present.  
  50.         getMenuInflater().inflate(R.menu.startup, menu);  
  51.         return true;  
  52.     }  
  53.   
  54.     @Override  
  55.     public boolean onOptionsItemSelected(MenuItem item)  
  56.     {  
  57.         // TODO Auto-generated method stub  
  58.         switch (item.getItemId())  
  59.         {  
  60.             case R.id.action_exit:  
  61.                 finish();  
  62.                 break;  
  63.         }  
  64.         return true;  
  65.     }  
  66.   
  67. }  
由于没有了状态栏,须在程序中提供退出程序的方法。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值