欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

GridLayout和GridView的区别

程序员文章站 2022-07-08 18:57:32
GridView是一种适配器布局,它的继承关系是ViewGroup-->AdapterView-->AbsListView-->GridView,他是从一个adapter中取出内容填充到GridView中的每一个子View。 GridLayout是一个布局,它大大简化了对复杂布局的处理,提高了性能。 ......

GridView是一种适配器布局,它的继承关系是ViewGroup-->AdapterView-->AbsListView-->GridView,他是从一个adapter中取出内容填充到GridView中的每一个子View。

GridLayout是一个布局,它大大简化了对复杂布局的处理,提高了性能。他直接继承自ViewGroup,和LinearLayout这种是类似的。

我感觉GridView和GridLayout就和ListView和LinearLayout的区别类似。


那么什么时候用GridView什么时候用GridLayout呢?
类似九宫格这种可以采用GridView。但是像Android系统自带的计算器的界面就不可能通过GridView实现,因为有些按键不一样大,如果使用GridLayout实现那就很简单了。

另外GridLayout比RelativeLayout更好用,例如:
一个登陆界面举例:登陆界面应该有登陆界面的标题、用户名和密码的label和输入框及确认登陆按钮,如果用相对布局实现肯定是可以实现的,需要相对布局里面控件与控件间的位置关系就复杂繁琐了。Android框架在将你定义的相对布局xml文件渲染给屏幕的时候,需要处理这么复杂的控件间的关系,肯定性能会受一定程度的影响。当然,用相对布局会比用多个线性布局嵌套性能要好一些。
但是,用GridLayout的话,渲染性能会比用相对布局好很多。因为GridLayout中的控件间的位置关系没那么复杂,就是指定将某个控件放到某行某列,占几行或占几列,布局xml写起来也非常简洁。