如何在运行时获取布局的高度和宽度?

时间:2013-06-19 06:00:47

标签: android android-layout

image

在此图片中,如何获得红色框的高度和宽度,如图所示 如何在运行时查找,而不是在XML文件中

2 个答案:

答案 0 :(得分:3)

您可以将ListView作为Red Layout的子视图。您不需要高度/宽度运行时来实现此目的。只需在layout.xml中的红色布局中创建listview,并将fill_parent作为layout_height和layout_width。

对于Ex:

    <LinearLayout android:id="@+id/redLayout">
  <ListView android:layout_height="fill_parent"
            android:layout_width="fill_parent"/>
</LinearLayout> 

答案 1 :(得分:0)

查看Android SDK网站上的View docs。他们解释了不同的尺寸,复制版本在这里:

  

尺寸,填充和边距

     

视图的大小用宽度和高度表示。一个看法   实际上拥有两对宽度和高度值。

     

第一对称为测量宽度和测量高度。这些   维度定义视图在其父级中的大小(请参阅   布局了解更多细节。)测量尺寸可以通过获得   调用getMeasuredWidth()和getMeasuredHeight()。

     

第二对简称为宽度和高度,有时也称为宽度和高度   绘图宽度和绘图高度。这些尺寸定义了实际尺寸   屏幕上,绘图时和布局后视图的大小。这些   值可以但不必与测量的宽度不同   和高度。可以通过调用getWidth()获得宽度和高度   和getHeight()。

     

要测量其尺寸,视图会考虑其填充。该   padding以左,上,右和底的像素表示   部分视图。填充可用于抵消内容   按特定数量的像素查看。例如,左边填充为2   将视图的内容推到左侧右侧2个像素   边缘。可以使用setPadding(int,int,int,int)或设置填充   setPaddingRelative(int,int,int,int)方法并通过调用查询   getPaddingLeft(),getPaddingTop(),getPaddingRight(),   getPaddingBottom(),getPaddingStart(),getPaddingEnd()。

     

即使视图可以定义填充,它也不提供任何填充   支持利润。但是,视图组提供了这样的支持。   请参阅ViewGroup和ViewGroup.MarginLayoutParams以获取更多信息   信息。