0
点赞
收藏
分享

微信扫一扫

Pro Android学习笔记(二八):用户界面和控制(16):GridLayout


网格布局:GridLayout

我个人觉得GridLayout的设计还不很完善,每个网格的大小,由填充的cell决定,即默认是wrap很容易整个GridLayout超出屏幕。下面是一个例子:


Pro Android学习笔记(二八):用户界面和控制(16):GridLayout_xml

<?xml versinotallow="1.0" encoding="utf-8"?>
 <GridLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientatinotallow="vertical" 
     android:rowCount="4" 
     android:columnCount="2"> <!-- 设计4×2的表格 -->
    <ImageView android:layout_row="0" 
        android:layout_column="1"         android:scaleType="fitCenter" 
         android:src="@drawable/png02"/> <!-- 可以指定放置的位置 -->
    <ImageView android:layout_row="1" 
        android:layout_column="0"         android:scaleType="fitCenter" 
         android:src="@drawable/png04"/> 
     <ImageView android:layout_row="2" 
         android:layout_column="1" 
         android:scaleType="fitCenter" 
         android:src="@drawable/png08"/> 
     <ImageView android:layout_row="3" 
         android:layout_column="0"         android:scaleType="fitCenter" 
         android:src="@drawable/png18"/> 
 </GridLayout>

GridLayout的灵活支出在于可以指定view方式的位置,运行有些问题不放置内容,如上面的例子。行号和列号均从0开始计算。此外,如果一个cell需要占据多个位置,可以用android:layout_rowspan和android:layout_columnspan来设置。

GridLayout最大的问题就是整个表格的所占空间不确定,行距由该行中最大的cell的高度决定,列距由该列最宽的cell决定。在上面的例子中,有部分控件超出了屏幕。每个cell的大小缺省为wrap_content,如果我们设置为match_parent,则该cell的大小为整屏。


举报

相关推荐

0 条评论