Android之获取屏幕和视图高和宽
【摘要】 在android中,画布Canvas的高宽其实是屏幕的高宽。
1.
WindowManager windowManager = getWindowManager(); Display display = windowManager.getDefaultDisplay(); screenWidth = display.getWidth(); ...
在android中,画布Canvas的高宽其实是屏幕的高宽。
1.
-
WindowManager windowManager = getWindowManager();
-
-
Display display = windowManager.getDefaultDisplay();
-
-
screenWidth = display.getWidth();
-
-
screenHeight = display.getHeight();
-
DisplayMetrics dm = new DisplayMetrics();
-
-
this.getWindowManager().getDefaultDisplay().getMetrics(dm);//this指当前activity
-
-
screenWidth =dm.widthPixels;
-
-
screenHeight =dm.heightPixels;
以上两种方法在屏幕未显示的时候,还是处于0的状态,即要在setContentView调用之后才有效。
还可以在onDraw中由canvas来获得
-
viewWidth=this.getWidth();
-
-
viewHeight=this.getHeight();
2.重写view的onSizeChanged,该方法会在onCreate之后,onDraw之前调用
-
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
-
viewHeight=h;
-
viewWidth=w;
-
super.onSizeChanged(w, h, oldw, oldh);
-
}
还有对屏幕显示的一些设置:
requestWindowFeature(Window.FEATURE_NO_TITLE);
//设置为全屏模式getWindow().setFlags
- setRequesteOrientation(ActivityInfo.SCREEN_ORIENTATION_LADSCAPE);
文章来源: chenyu.blog.csdn.net,作者:chen.yu,版权归原作者所有,如需转载,请联系作者。
原文链接:chenyu.blog.csdn.net/article/details/49892787
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)