3种Android隐藏顶部状态栏及标题栏的方法
16lz
2021-01-25
本文包含3种隐藏顶部状态栏及标题栏和一种隐藏Android 4.0平板底部状态栏的方法,分享给大家供大家参考,具体内容如下
方法一
?1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | 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); } } |
方法二
?1 2 3 4 5 6 7 8 9 10 11 12 | |
方法三
?1 2 3 4 5 6 7 8 | < style name = "AppTheme" parent = "AppBaseTheme" > < item name = "android:windowFullscreen" >true item > < item name = "android:windowNoTitle" >true item > style > |
注:
1、方法一中的两段代码要在setContentView()之前。
2、方法二只能同时隐藏状态栏和标题栏。
3、方法一和方法二都只应用于单个Activity。方法三应用于整个程序。
对于运行Android 4.0以上系统的平板电脑,以上三种方法都不会隐藏屏幕下方的状态栏,须做如下处理。
?1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | public class StartupActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super .onCreate(savedInstanceState); setContentView(R.layout.activity_startup); /* * 隐藏运行Android 4.0以上系统的平板的屏幕下方的状态栏 */ try { String ProcID = "79"; if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.ICE_CREAM_SANDWICH) ProcID = "42"; // ICS // 需要root 权限 Process proc = Runtime.getRuntime().exec(new String[] { "su", "-c", "service call activity " + ProcID + " s16 com.android.systemui" }); // WAS proc.waitFor(); } catch (Exception ex) { Toast.makeText(getApplicationContext(), ex.getMessage(), Toast.LENGTH_LONG).show(); } } @Override protected void onDestroy() { // TODO Auto-generated method stub /* * 恢复运行Android 4.0以上系统的平板的屏幕下方的状态栏 */ try { Process proc = Runtime.getRuntime().exec( new String[] { "am" , "startservice" , "-n" , "com.android.systemui/.SystemUIService" }); proc.waitFor(); } catch (Exception e) { e.printStackTrace(); } super .onDestroy(); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.startup, menu); return true ; } @Override public boolean onOptionsItemSelected(MenuItem item) { // TODO Auto-generated method stub switch (item.getItemId()) { case R.id.action_exit: finish(); break ; } return true ; } } |
由于没有了状态栏,须在程序中提供退出程序的方法。
希望本文所述对大家学习Android软件编程有所帮助。
更多相关文章
- android 子线程 UI线程(主线程)通信
- android 强制设置横屏 判断是横屏还是竖屏
- 【android之ADB命令】ADB SHELL 命令乱码解决方法
- net :: ERR_CLEARTEXT_NOT_PERMITTED
- android使用keystore打包错误解决方法
- Android在Adapter里面调用Activity的方法/变量
- Android(安卓)投屏实现纪要
- Android存储:SharePreferences保存Map方法
- Android通知栏学习(基础篇)