簡體   English   中英

如何在運行時獲取布局的高度和寬度?

[英]how to get height and width of layout in run time?

圖片

在這張圖片中,如何獲取紅色框的高度和寬度如圖所示如何在運行時查找,而不是在XML文件中

您可以將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> 

查看 Android SDK網站上的View文檔 他們解釋了不同的尺寸,復制版本在這里:

尺寸,填充和邊距

視圖的大小用寬度和高度表示。 視圖實際上具有兩對寬度和高度值。

第一對稱為測量寬度和測量高度。 這些維度定義了視圖在其父級中的大小(有關更多詳細信息,請參閱布局。)可以通過調用getMeasuredWidth()和getMeasuredHeight()來獲取測量的維度。

第二對簡稱為寬度和高度,有時也稱為繪圖寬度和繪圖高度。 這些尺寸定義了屏幕上,繪圖時和布局后視圖的實際大小。 這些值可以但不必與測量的寬度和高度不同。 可以通過調用getWidth()和getHeight()來獲得寬度和高度。

要測量其尺寸,視圖會考慮其填充。 填充以像素表示,用於視圖的左側,頂部,右側和底部。 填充可用於將視圖的內容偏移特定量的像素。 例如,左邊的填充為2會將視圖的內容推到左邊緣右側2個像素。 可以使用setPadding(int,int,int,int)或setPaddingRelative(int,int,int,int)方法設置填充,並通過調用getPaddingLeft(),getPaddingTop(),getPaddingRight(),getPaddingBottom(),getPaddingStart(查詢)進行查詢。 ),getPaddingEnd()。

即使視圖可以定義填充,它也不提供對邊距的任何支持。 但是,視圖組提供了這樣的支持。 有關詳細信息,請參閱ViewGroup和ViewGroup.MarginLayoutParams。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM