packagecom.hsx.test;importjava.lang.reflect.Field;importandroid.app.Activity;importandroid.os.Bundle;importandroid.view.View;importandroid.view.View.OnClickListener;importandroid.view.WindowManager;importandroid.view.WindowManager.LayoutParams;importandroid.widget.Toast;public class MainActivity extendsActivity {
@Overrideprotected voidonCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findViewById(R.id.tv_open_fullscreen).setOnClickListener(newOnClickListener() {
@Overridepublic voidonClick(View v) {
stateControl(true);int stateHeight =getStateHeight();
Toast.makeText(MainActivity.this, "状态栏高度为:" +stateHeight, Toast.LENGTH_LONG).show();
}
});
findViewById(R.id.tv_close_fullscreen).setOnClickListener(newOnClickListener() {
@Overridepublic voidonClick(View v) {
stateControl(false);
}
});
}/*** 控制是否全屏
*
*@paramenable
*@return*@authorDoraemon
* @time 2014年12月3日下午6:03:33*/
private void stateControl(booleanenable) {if(enable) {
LayoutParams lp=getWindow().getAttributes();
lp.flags|=WindowManager.LayoutParams.FLAG_FULLSCREEN;
getWindow().setAttributes(lp);
}else{
LayoutParams attr=getWindow().getAttributes();
attr.flags&= (~WindowManager.LayoutParams.FLAG_FULLSCREEN);
getWindow().setAttributes(attr);
}
}/*** 获取状态栏高度
*
*@return*@return*@authorDoraemon
* @time 2014年12月3日下午6:03:45*/
private intgetStateHeight() {
Class> c = null;
Object obj= null;
Field field= null;int x = 0, sbar = 0;try{
c= Class.forName("com.android.internal.R$dimen");
obj=c.newInstance();
field= c.getField("status_bar_height");
x=Integer.parseInt(field.get(obj).toString());
sbar=getResources().getDimensionPixelSize(x);
}catch(Exception e) {
e.printStackTrace();
}returnsbar;
}
}