android 屏下按钮全屏,Android点击按钮实现全屏的代码

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;

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值