本文实例讲述了android开发中获取view视图宽与高的常用方法。分享给大家供大家参考,具体如下:
一、根据windowmanager管理器获得
1)这两种方法在屏幕未显示的时候,还是处于0的状态,即要在setcontentview调用之后才有效。
2)activity必须如此设置才能获得view的宽高
//设置为无标题
requestwindowfeature(window.feature_no_title);
//设置为全屏模式getwindow().setflags(windowmanager.layoutparams.flag_fullscreen,windowmanager.layoutparams.flag_fullscreen
1)老版本
windowmanager windowmanager = getwindowmanager();
display display = windowmanager.getdefaultdisplay();
screenwidth = display.getwidth();
screenheight = display.getheight();
2)新版本
displaymetrics dm = new displaymetrics();
this.getwindowmanager().getdefaultdisplay().getmetrics(dm);//this指当前activity
screenwidth =dm.widthpixels;
screenheight =dm.heightpixels;
二、在ondraw中由canvas来获得
@override
protected void ondraw(canvas canvas) {
super.ondraw(canvas);
screenwidth =canvas.getwidth();
screenheight =canvas.getheight();
}
三、重写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);
}
希望本文所述对大家android程序设计有所帮助。