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

Android中oncreate中获得控件高度或宽度的实现方法

程序员文章站 2023-12-17 09:43:46
android中oncreate中获得控件高度或宽度的实现方法 oncreate函数只是提供了数据初始化的机会,此时还没有正式绘制图形。在图形尚未渲染的情况下,getwi...

android中oncreate中获得控件高度或宽度的实现方法

oncreate函数只是提供了数据初始化的机会,此时还没有正式绘制图形。在图形尚未渲染的情况下,getwidth()或getheight()得到的值为0。如果需要自适应屏幕,需要一进入界面就得到父控件大小,然后需要在oncreate中动态设置子控件大小。

 方法1:

利用viewtreeobserver类的addonpredrawlistener接口。

viewtreeobserver vto = hscrollview.getviewtreeobserver(); 
 
          vto.addonpredrawlistener(newviewtreeobserver.onpredrawlistener() { 
 
              @override 
 
              publicboolean onpredraw() { 
 
                   if(hasmeasured == false){ 
 
                        intwid = hscrollview.getwidth(); 
 
                        inthei = hscrollview.getheight(); 
 
                        if(wid != 0 && hei != 0){ 
 
                            hasmeasured= true; 
 
                        } 
 
                   } 
 
                   returntrue; 
 
              } 
 
          }); 

方法2:

利用viewtreeobserver类的addongloballayoutlistener接口。

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

上一篇:

下一篇: