今天产品说用户反应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);}}}
作者:Bobbybear 发表于2013-8-22 14:13:50 原文链接
阅读:38 评论:0 查看评论