今天產品說用戶反應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);}}}