Android

关注公众号 jb51net

关闭
首页 > 软件编程 > Android > android获取LinearLayout宽高

Android获取LinearLayout的宽度和高度示例代码

作者:田猿笔记

这篇文章主要介绍了android获取LinearLayout的宽度和高度,如果想直接获取在布局文件中定义的组件的宽度和高度,可以直接使用View.getLayoutParams().width和View.getLayoutParams().height,本文结合示例代码介绍的非常详细,需要的朋友可以参考下

android获取LinearLayout的宽度和高度

由于Android程序的运行机制决定了无法再组件类外部使用getWidth和getHeight方法获得高度和宽度(在自定义组件类中可以实现),必须使用View.getMeasuredWidth和View.getMeasureHeight方法获得当前组件的宽度和高度,在调用这两个方法之前,必须调用View.measure方法先测量组件宽度和高度。如果想直接获取在布局文件中定义的组件的宽度和高度,可以直接使用View.getLayoutParams().width和View.getLayoutParams().height

代码如下:

View view = getLayoutInflater().inflate(R.layout.activity_main, null);  
LinearLayout linearlayout = (LinearLayout)view.findViewById(R.id.linearlayout);  
//measure方法的参数值都设为0即可  
linearlayout.measure(0,0);  
//获取组件宽度  
int width = linearlayout.getMeasuredWidth();  
//获取组件高度  
int height = linearlayout.getMeasuredHeight();  

补充:Android-获取窗口的宽度与高度

在开发的过程中,有时候需要获取窗口的大小,在OnCreate中由于窗口还未绘制因此通过GetWidth()与GetHeight()得到的宽高都为0,那应该如何获取窗口的大小呢,上代码:

LinearLayout layout = (LinearLayout) findViewById(R.id.layout);
layout.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener(){@SuppressWarnings("deprecation")@Override public void onGlobalLayout() {            
    layout.getViewTreeObserver().removeGlobalOnLayoutListener(this);            int width = layout.getMeasuredWidth();int height = layout.getMeasuredHeight();}  
});

到此这篇关于android获取LinearLayout的宽度和高度的文章就介绍到这了,更多相关android获取LinearLayout宽度和高度内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文