GridLayout和GridView的区别
程序员文章站
2022-04-24 12:21:54
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写起来也非常简洁。
上一篇: 在元德太子杨昭死后,他的儿子杨侑为何能封他为皇帝?
下一篇: 女同学说话刚搞笑短信
推荐阅读
-
animation和transition的区别及使用
-
jsp和php的区别有哪些
-
php中require和require_once的区别说明_PHP教程
-
javascript:history.go()和History.back()的区别及应用_javascript技巧
-
php中$_SERVER[PHP_SELF] 和 $_SERVER[SCRIPT_NAME]之间的区别
-
Oracle中sys和system用户权限的区别
-
vivoY53s(t2版)和vivoY53s的区别是什么
-
Go中的nil切片和空切片区别详解
-
C 函数参数传递一级指针和二级指针的区别
-
c和c++的区别(二)const和引用、一级指针、二级指针的结合