2012-12-07 47 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

希望它能有助于

如果你觉得有用请解决