Android编程实现播放视频时切换全屏并隐藏状态栏的方法

2020-10-22 09:45:58 浏览数 (1)

本文实例讲述了Android编程实现播放视频时切换全屏并隐藏状态栏的方法。分享给大家供大家参考,具体如下:

1.

Demo示例:

代码语言:javascript复制
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
getWindow().getDecorView().setSystemUiVisibility(View.INVISIBLE); 
}
else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {
// this.requestWindowFeature(Window.f);// 去掉标题栏
// this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
// WindowManager.LayoutParams.FLAG_FULLSCREEN);// 去掉信息栏
Log.i("info", "portrait"); // 竖屏
}

设置:

代码语言:javascript复制
<uses-sdk android:minSdkVersion="11" / 

说明:

View类提供了setSystemUiVisibility和getSystemUiVisibility方法,这两个方法实现对状态栏的动态显示或隐藏的操作,以及获取状态栏当前可见性。

setSystemUiVisibility(int visibility)方法可传入的实参为:

①. View.SYSTEM_UI_FLAG_VISIBLE:显示状态栏,Activity不全屏显示(恢复到有状态的正常情况)。 ②. View.INVISIBLE:隐藏状态栏,同时Activity会伸展全屏显示。 ③. View.SYSTEM_UI_FLAG_FULLSCREEN:Activity全屏显示,且状态栏被隐藏覆盖掉。 ④. View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN:Activity全屏显示,但状态栏不会被隐藏覆盖,状态栏依然可见,Activity顶端布局部分会被状态遮住。 ⑤. View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION:效果同View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN ⑥. View.SYSTEM_UI_LAYOUT_FLAGS:效果同View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN ⑦. View.SYSTEM_UI_FLAG_HIDE_NAVIGATION:隐藏虚拟按键(导航栏)。有些手机会用虚拟按键来代替物理按键。 ⑧. View.SYSTEM_UI_FLAG_LOW_PROFILE:状态栏显示处于低能显示状态(low profile模式),状态栏上一些图标显示会被隐藏。

2.

代码语言:javascript复制
if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
  WindowManager.LayoutParams attrs = getWindow().getAttributes();
  attrs.flags |= WindowManager.LayoutParams.FLAG_FULLSCREEN;
  getWindow().setAttributes(attrs);
  getWindow().addFlags(
      WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
} else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {
  WindowManager.LayoutParams attrs = getWindow().getAttributes();
  attrs.flags &= (~WindowManager.LayoutParams.FLAG_FULLSCREEN);
  getWindow().setAttributes(attrs);
  getWindow().clearFlags(
      WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
}

更多关于Android相关内容感兴趣的读者可查看本站专题:《Android多媒体操作技巧汇总(音频,视频,录音等)》、《Android开发入门与进阶教程》、《Android视图View技巧总结》、《Android编程之activity操作技巧总结》、《Android数据库操作技巧总结》、《Android文件操作技巧汇总》、《Android资源操作技巧汇总》及《Android控件用法总结》

希望本文所述对大家Android程序设计有所帮助。

0 人点赞