I'm using support v7 GridLayout
but as many others noted, it does not measure its children width correctly.
In this question, there's a workaround but the workaround works randomly for me, for some values it works, and for some children values it doesn't.
The proposed workaround:
android:layout_width="0dp"
app:layout_gravity="fill_horizontal"
I set child values during runtime so my guess is only toward measuring children width.