今天产品说用户反应MV在播放的时候,无法隐藏虚拟按键,其他的播放软件可以实现。所以赶紧查了下解决办法。亲测成功。(PS:android项目sdk必须选择4.0以上哦!)
对方法添加了一些注释,比如对视频播放页面的使用,只需在onCreate()方法中添加
main=getLayoutInflater().inflate(R.layout.activity_main,null);
setContentView(main);
main.setOnClickListener(this);
//刚开始为可见状态,也是默认状态
main.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
在onDestroy()方法中
//恢复默认状态
main.setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE);
就可以了,下面附上test完整代码。点击activity即可切换虚拟按键的状态!
package com.example.viewexcercises;
import android.os.Bundle;
import android.view.View;
import android.R.layout;
import android.app.Activity;
import android.view.Menu;
public class MainActivity extends Activity implements View.OnClickListener,View.OnSystemUiVisibilityChangeListener{
private View main;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
main=getLayoutInflater().inflate(R.layout.activity_main,null);
setContentView(main);
main.setOnClickListener(this);
//刚开始为可见状态,也是默认状态
main.setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public void onSystemUiVisibilityChange(int visibility) {
// TODO Auto-generated method stub
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
int status=main.getSystemUiVisibility();
if (status==View.SYSTEM_UI_FLAG_LOW_PROFILE) {
//虚拟按键将被隐藏,且不占空间
main.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
}
else if(status==View.SYSTEM_UI_FLAG_HIDE_NAVIGATION){
//恢复默认状态
main.setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE);}
else if (status==View.SYSTEM_UI_FLAG_VISIBLE) {
//虚拟按键被隐藏,但占一定空间
main.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE);}}}