GridLayout是十年前的老布局了,因为太久没用过,导致细节方面已经记不太清楚了
初衷是想让GridLayout中每行每列的元素大小都相等,结果怎么试都没有效果
原来是要只设置比例,不设置宽高才行,特意记录下
<GridLayoutandroid:layout_width="match_parent"android:layout_height="100dp"android:columnCount="6"android:rowCount="2"><Viewandroid:layout_width="0dp"android:layout_height="0dp"android:layout_rowWeight="1"android:layout_columnWeight="1"android:layout_margin="5dp"android:background="#F00" /><Viewandroid:layout_width="0dp"android:layout_height="0dp"android:layout_rowWeight="1"android:layout_columnWeight="1"android:layout_margin="5dp"android:background="#0F0" /><Viewandroid:layout_width="0dp"android:layout_height="0dp"android:layout_rowWeight="1"android:layout_columnWeight="1"android:layout_margin="5dp"android:background="#F00" /><Viewandroid:layout_width="0dp"android:layout_height="0dp"android:layout_rowWeight="1"android:layout_columnWeight="1"android:layout_margin="5dp"android:background="#0F0" /><Viewandroid:layout_width="0dp"android:layout_height="0dp"android:layout_rowWeight="1"android:layout_columnWeight="1"android:layout_margin="5dp"android:background="#F00" /><Viewandroid:layout_width="0dp"android:layout_height="0dp"android:layout_rowWeight="1"android:layout_columnWeight="1"android:layout_margin="5dp"android:background="#0F0" /><Viewandroid:layout_width="0dp"android:layout_height="0dp"android:layout_rowWeight="1"android:layout_columnWeight="1"android:layout_margin="5dp"android:background="#F00" /></GridLayout>
需要满足以下几点,才能实现自动均分行列空间
- Layout必须指定确定的width和height,不能用wrap
- Layout必须明确指定行列数
- Child的width和height必须为0
- Child的rowWeight和columnWeight必须设置为1