获取LinearLayout的宽度和高度

时间:2025-02-22 22:08:01

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

代码如下:

[java]  view plain  copy
  1. View view = getLayoutInflater().inflate(.activity_main, null);  
  2. LinearLayout linearlayout = (LinearLayout)();  
  3. //measure方法的参数值都设为0即可  
  4. (0,0);  
  5. //获取组件宽度  
  6. int width = ();  
  7. //获取组件高度  

  1. int height = ();  

注意:

1.如果在自定义组件中可以通过getWidth和getHeight方法获取宽高

2.如果组件的宽高设置为fill_parent或者wrap_content或者match_parent。则使用getMeasuredWidth或getMeasuredHeight方法获取组件

宽度或者高度时,当组件中包括其他子组件时,所获取的实际值是这些组件所占的最小宽度和最小高度。


[java]  view plain  copy
  1. View view = getLayoutInflater().inflate(.activity_main, null);  
  2. LinearLayout linearlayout = (LinearLayout)();  
  3. //measure方法的参数值都设为0即可  
  4. (0,0);  
  5. //获取组件宽度  
  6. int width = ();  
  7. //获取组件高度  

  1. int height = ();