我已經創建了一個延伸的景觀類:getLayoutParams返回null?
public class BoardView extends View {
和我指定的BoardView的寬度和高度,在應用程序的main.xml中的文件:
<mypackage.BoardView
android:id="@+id/board"
android:layout_width="270px"
android:layout_height="270px" />
我試圖從一個從BoardView的構造函數調用的函數中獲取寬度和高度。以下是我在做什麼:
ViewGroup.LayoutParams p = this.getLayoutParams();
int h = p.height;
但getLayoutParams始終返回null。任何想法爲什麼這不起作用?
感謝您的幫助。 我真正需要的是我可以從構造函數中的AttributeSet中獲取的XML屬性值。這是我的(醜)解決方案: String ns =「http://schemas.android.com/apk/res/android」; String v = attrs.getAttributeValue(ns,「layout_height」); //將「270px」轉換爲「270」 v = v.replace(「px」,「」); //在運行時,該值爲「270.0」 v = v.replace(「。0」,「」); int h = Integer.parseInt(v); – tronman 2010-01-14 19:54:54