隐藏虚拟导航

Android 4.0 因为项目需要, 要实现屏幕全屏,隐藏虚拟按键,即导航栏

在Android的API 中

To this day, you can hide the status bar on handsets using the FLAG_FULLSCREEN flag. In Android 4.0, the APIs that control the system bar’s visibility have been updated to better reflect the behavior of both the system bar and navigation bar:

The SYSTEM_UI_FLAG_LOW_PROFILE flag replaces the STATUS_BAR_HIDDEN flag. When set, this flag enables “low profile” mode for the system bar or navigation bar. Navigation buttons dim and other elements in the system bar also hide. Enabling this is useful for creating more immersive games without distraction for the system navigation buttons.
The SYSTEM_UI_FLAG_VISIBLE flag replaces the STATUS_BAR_VISIBLE flag to request the system bar or navigation bar be visible.
The SYSTEM_UI_FLAG_HIDE_NAVIGATION is a new flag that requests the navigation bar hide completely. Be aware that this works only for the navigation bar used by some handsets (it does not hide the system bar on tablets). The navigation bar returns to view as soon as the system receives user input. As such, this mode is useful primarily for video playback or other cases in which the whole screen is needed but user input is not required
SYSTEM_UI_FLAG_LOW_PROFILE 相当于隐藏导航栏
SYSTEM_UI_FLAG_VISIBLE 导航栏显示
SYSTEM_UI_FLAG_HIDE_NAVIGATION 要求导航栏完全隐藏–>但这对部分硬件设备有效

方法一:

public class MainActivity extends Activity {      Window window;      /** Called when the activity is first created. */      @Override      public void onCreate(Bundle savedInstanceState) {          super.onCreate(savedInstanceState);          // main = getLayoutInflater().from(this).inflate(R.layout.main, null);         window = getWindow();          WindowManager.LayoutParams params = window.getAttributes();          params.systemUiVisibility = View.SYSTEM_UI_FLAG_LOW_PROFILE;          window.setAttributes(params);          setContentView(R.layout.main);      }  }  

方法二:

public class MainActivity extends Activity {      View main;      private Button btn;      /** Called when the activity is first created. */      @Override      public void onCreate(Bundle savedInstanceState) {          super.onCreate(savedInstanceState);          main = getLayoutInflater().from(this).inflate(R.layout.main, null);          btn = (Button) main.findViewById(R.id.btn);          btn.setOnClickListener(new OnClickListener() {              @Override              public void onClick(View v) {                  // TODO Auto-generated method stub                 int i = main.getSystemUiVisibility();                  if (i == View.SYSTEM_UI_FLAG_VISIBLE) {                      main.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE);                  }              }          });          setContentView(main);      }  

更多相关文章

  1. Android 驱动之旅 第四章:在Android 系统中编写JNI 方法在应用程
  2. 一种绕过Android P对非SDK接口限制的简单方法
  3. Android交互体验必知:功能按键事件
  4. Android获取SD卡路径/内存的几种方法
  5. 【Android增量升级系列_02】 浅谈Android增量更新服务端的实现方
  6. WebView之js调用Android类的方法传递数据 - 依凡王子

随机推荐

  1. Java反射机制:跟着代码学反射
  2. CISSP学习:第3章 业务连续性计划
  3. 学习c语言的成长之路(一)
  4. MAC使用Safari浏览器仿真IE
  5. 2021-2-17:Java HashMap 的中 key 的哈希
  6. redis部署bug问题解决:CLUSTERDOWN Hash s
  7. 航电oj2004-2005代码
  8. 2021-02-17:规定1和A对应、2和B对应、3和C
  9. 指针进阶(一)(详细讲解1,2,3)(零基础学习C语言
  10. 我胡汉三又回来了,继续每天写总结