知识梳理-UI-框架类们
2016-03-25 15:56
225 查看
1.五种常用的Layout布局
LinearLayout 顺序布局
优势:可根据weight进行比例布局,
劣势:不能激动灵活的将组件放到恰当的位置上
总结,LinearLayout适合搭框架和根据比例描画,能很好的适配各种尺寸的屏幕,不擅长摆放内部组件,但是如果将其放入ScrollorView当中,由于外层父容器的不定长度使用weight做比例布局的优势完全丧失。
RelativeLayout 相对布局
优势:按照相对关系将组件摆在画面上,合理性更好,做水平居中和垂直居中更好
劣势:不能按照weight分配,多数情况下需要指定大小,或根据padding来撑开父容器
总结,适合页面元素简单但层级关系复杂的布局,在页面居中效果与frameLayout相同。默认所有元素堆在左上角。
个人比较常用的一个例子是对于listview 中多个item的适配问题,节约组件
FrameLayout 框架布局
个人觉得完全可以被relativeLayout完全替代的布局,但它比后者更加简练,当你只有一个元素的时候适合使用
TableLayout 表单布局
这个布局用的也是比较少的,但是为什么还是要说呢,他跟GridView和GrideLayout
绝对布局
完全用不到,so,也没什么可说的。
<!-- 于是为了表示我不是抄的,而是真的总结,我们来说点新框架 -->
1.组件框架
什么时候用捏?当你使用ArrayAdapter的时候你就需要建立一个只有组件的layout文件
<?xml version="1.0" encoding="utf-8"?>
<TextView
…………
/>
2.ReLayout
这是一个自带下拉刷新的框架,理论上会非常好用。
然而当你禁用了系统的ActionBar,然后自定义了一个titleBar,并且将这个组件框在在titleBar下面的时候会很怪异,当然我不是说你从状态栏拉下一个球就会更漂亮,你看淘宝系的闲鱼用的不也是这个原生框架么。
3.TextInputLayout
LinearLayout 顺序布局
优势:可根据weight进行比例布局,
劣势:不能激动灵活的将组件放到恰当的位置上
总结,LinearLayout适合搭框架和根据比例描画,能很好的适配各种尺寸的屏幕,不擅长摆放内部组件,但是如果将其放入ScrollorView当中,由于外层父容器的不定长度使用weight做比例布局的优势完全丧失。
RelativeLayout 相对布局
优势:按照相对关系将组件摆在画面上,合理性更好,做水平居中和垂直居中更好
劣势:不能按照weight分配,多数情况下需要指定大小,或根据padding来撑开父容器
总结,适合页面元素简单但层级关系复杂的布局,在页面居中效果与frameLayout相同。默认所有元素堆在左上角。
个人比较常用的一个例子是对于listview 中多个item的适配问题,节约组件
FrameLayout 框架布局
个人觉得完全可以被relativeLayout完全替代的布局,但它比后者更加简练,当你只有一个元素的时候适合使用
TableLayout 表单布局
这个布局用的也是比较少的,但是为什么还是要说呢,他跟GridView和GrideLayout
绝对布局
完全用不到,so,也没什么可说的。
<!-- 于是为了表示我不是抄的,而是真的总结,我们来说点新框架 -->
1.组件框架
什么时候用捏?当你使用ArrayAdapter的时候你就需要建立一个只有组件的layout文件
<?xml version="1.0" encoding="utf-8"?>
<TextView
…………
/>
2.ReLayout
这是一个自带下拉刷新的框架,理论上会非常好用。
然而当你禁用了系统的ActionBar,然后自定义了一个titleBar,并且将这个组件框在在titleBar下面的时候会很怪异,当然我不是说你从状态栏拉下一个球就会更漂亮,你看淘宝系的闲鱼用的不也是这个原生框架么。
3.TextInputLayout
相关文章推荐
- CDateTimeUI 的bug
- UITextView添加placeholder属性
- easyui-combobox下拉框修改源码 实现模糊搜索
- easyui 使用
- HIVE和SPARKSQL计算引擎在TEXT导入PARQUET格式的HIVE存储引擎分片数量机制
- arduino 中通过寄存器地址访问寄存器内容
- UITableView去掉Grouped样式中的边框
- java.lang.IllegalArgumentException: Page directive: invalid value for import
- iOS之UIImagePickerController的应用
- iOS 获取当前版本号 和 构建版本号 Version 和 Build
- LeetCode 334 Increasing Triplet Subsequence
- PAT (Advanced Level) Practise 1085 Perfect Sequence (25)
- Shortest Distance from All Buildings
- win10系统guest账户在哪 win10系统怎么能找到guest账户
- iOS UICollectionView上面加UIPageControll的方法
- iOS边练边学--UINavigationController导航条的使用
- Android工作线程更新UI线程几种方法的区别与解析
- uuid
- UITableViewCell的选中时的颜色设置
- query ui dialog替代confirm的实现方法