Android全屏(包含3种隐藏顶部状态栏及标题栏和一种隐藏Android(安卓)4.0平板底部状态栏的方法)...
16lz
2021-01-24
http://www.xuebuyuan.com/558284.html
方法一
public class MainActivity extends Activity{@Overrideprotected 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、方法一中的两段代码要在setContentView()之前。
2、方法二只能同时隐藏状态栏和标题栏。
3、方法一和方法二都只应用于单个Activity。方法三应用于整个程序。
对于运行Android 4.0以上系统的平板电脑,以上三种方法都不会隐藏屏幕下方的状态栏,须做如下处理。
public class StartupActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_startup); /* * 隐藏运行Android 4.xxx系统的平板的屏幕下方的状态栏需要root权限 */ closeBar(); } @Override protected void onDestroy() { showBar(); super.onDestroy(); } /** * 关闭Android导航栏,实现全屏 */ private void closeBar() { try { String command; command = "LD_LIBRARY_PATH=/vendor/lib:/system/lib service call activity 42 s16 com.android.systemui"; ArrayListenvlist = new ArrayList (); Map env = System.getenv(); for (String envName : env.keySet()) { envlist.add(envName + "=" + env.get(envName)); } String[] envp = envlist.toArray(new String[0]); Process proc = Runtime.getRuntime().exec( new String[] { "su", "-c", command }, envp); proc.waitFor(); } catch (Exception ex) { // Toast.makeText(getApplicationContext(), ex.getMessage(), // Toast.LENGTH_LONG).show(); } } /** * 显示导航栏 */ public static void showBar() { try { String command; command = "LD_LIBRARY_PATH=/vendor/lib:/system/lib am startservice -n com.android.systemui/.SystemUIService"; ArrayList envlist = new ArrayList (); Map env = System.getenv(); for (String envName : env.keySet()) { envlist.add(envName + "=" + env.get(envName)); } String[] envp = envlist.toArray(new String[0]); Process proc = Runtime.getRuntime().exec( new String[] { "su", "-c", command }, envp); proc.waitFor(); } catch (Exception e) { e.printStackTrace(); } }}
由于没有了状态栏,须在程序中提供退出程序的方法。
更多相关文章
- android中退出整个app应用程序
- android系统移植琐碎知识整理:
- Android按钮实现点击事件的四种方式
- android 获取view在屏幕中的位置
- Android进行数字签名的方法
- Android唤醒屏幕按键
- Android(安卓)Intent用法汇总
- Android(安卓)让一个Service开机自动启动
- android studio 解决65536的方法(64K)