2012-12-07 46 views
0

我寫了我自己的GridView,我用它將XML設置爲layout_width作爲match_parent。我的問題是如何從attrs獲得像素寬度。我知道如何獲取我的cyston attrs,但在繪製視圖之前不知道如何讀取寬度值。Attr的大小從自定義視圖

回答

0

我解決這個問題。調用onMeasure方法後,只需要getMeasuredDimensions。

0

在android中,您無法在繪製之前訪問大小屬性,因爲繪製過程開始時會確定尺寸。所有用xml描述的視圖都是一樣的。

+0

所以我不能讀寬度測量gridview中每個元素的大小?我想要做這樣的事情: 在xml中定義整個gridview,但在java中我想指定元素數量(自定義視圖),我希望它們填充所有大小的已定義網格視圖。 –

+0

那麼如何獲得父母的大小?必須有一些方法來做到這一點。 –

+0

那麼你想要繪製的gridviw的大小是什麼?我能問你爲什麼需要這個嗎? – sam

0

我發現這個鏈接,試圖找到一種方式來獲得高度,使你可以用同樣的發現屏幕的寬度(如果你的網格填充屏幕的大小):Android - get Height of the parent layout

他們給:。 getApplicationContext()getResources()getDisplayMetrics()heightPixels

希望它能有助於

如果你覺得有用請解決