在这张图片中,如何获得红色框的高度和宽度,如图所示如何在运行时找到,而不是在 XML 文件中
2 回答
您可以将 ListView 作为 Red Layout 的子视图。您不需要高度/宽度运行时来实现这一点。只需在 layout.xml 中的红色布局内创建 listview 并将 fill_parent 指定为 layout_height 和 layout_width。
例如:
<LinearLayout android:id="@+id/redLayout">
<ListView android:layout_height="fill_parent"
android:layout_width="fill_parent"/>
</LinearLayout>
查看Android SDK 站点上的查看文档。他们解释了不同的尺寸,在这里逐字复制:
大小、填充和边距
视图的大小用宽度和高度表示。一个视图实际上拥有两对宽度和高度值。
第一对称为测量宽度和测量高度。这些尺寸定义了视图在其父视图中的大小(有关详细信息,请参阅布局。)可以通过调用 getMeasuredWidth() 和 getMeasuredHeight() 获得测量尺寸。
第二对简单地称为宽度和高度,或者有时称为绘图宽度和绘图高度。这些尺寸定义了屏幕上、绘图时和布局后视图的实际大小。这些值可能(但不一定)与测量的宽度和高度不同。可以通过调用 getWidth() 和 getHeight() 获得宽度和高度。
为了测量其尺寸,视图会考虑其填充。对于视图的左侧、顶部、右侧和底部,填充以像素表示。填充可用于将视图的内容偏移特定数量的像素。例如,left padding 为 2 会将视图的内容推到左边缘右侧 2 个像素。可以使用 setPadding(int, int, int, int) 或 setPaddingRelative(int, int, int, int) 方法设置填充,并通过调用 getPaddingLeft()、getPaddingTop()、getPaddingRight()、getPaddingBottom()、getPaddingStart( )、getPaddingEnd()。
尽管视图可以定义填充,但它不提供对边距的任何支持。但是,视图组提供了这样的支持。有关详细信息,请参阅 ViewGroup 和 ViewGroup.MarginLayoutParams。