欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android开发中获取View视图宽与高的常用方法小结

程序员文章站 2023-12-05 15:21:46
本文实例讲述了android开发中获取view视图宽与高的常用方法。分享给大家供大家参考,具体如下: 一、根据windowmanager管理器获得 1)这两种方法在屏幕...

本文实例讲述了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相关内容感兴趣的读者可查看本站专题:《android视图view技巧总结》、《android图形与图像处理技巧总结》、《android开发入门与进阶教程》、《android调试技巧与常见问题解决方法汇总》、《android多媒体操作技巧汇总(音频,视频,录音等)》、《android基本组件用法总结》、《android布局layout技巧总结》及《android控件用法总结

希望本文所述对大家android程序设计有所帮助。