美文网首页
第二章笔记分享

第二章笔记分享

作者: ezero | 来源:发表于2016-07-31 19:19 被阅读0次

    Android开发布局详解

    比较常用的控件 三

    WebView:加载网页

    ListView:显示列表

    GridView:显示表格式列表

    ScrollView:内容可滚动视图

    SufaceView:非常重要的绘图容器(很多游戏都是用sufaceview做的)

    五大布局:

    Linearlayout :线性布局

    像一条线一样布局,两大特点:

    1.orientation:vertical纵向排列

    horizontal水平排列

    2.layout_weight

    weightsum:比例的方式来排布

    宽度设置成0dp(水平布局的情况下)。

    注释:commas+/

    android的坐标是从左到右和从上到下的。

    Relativelayout :相对布局

    xmlns:xmlns(name space)这个xml的命名空间是Android,如果不加这一行,那么后面就不能引用Android的内容。

    资源文件的名字是不能有大写的。

    button为例:

    layout_alignParentBottom = "true"

    layout_alignParentRight="true"

    元素之间,在后面的会盖住之前的内容。

    解决方案:

    给上面一个button一个id:id=“+id/button"

    下面的给:layout_above = “@+id/button"

    没有必要的属性要删除,很有可能会影响布局。因为Android会解析xml对布局进行计算,即使有矛盾,也会根据一定的原则来选择一个值。

    layout_below

    layout_toLeftOf

    alignLeft:左边对齐

    alignTop

    父布局的上下左右

    朋友的上下左右

    朋友的左右上下对齐

    layout_margin = “100dp"

    layout_marginLeft = “100dp” 外边距左边距100dp

    paddingLeft = “40dp”  内边距左边距40dp

    FrameLayout :帧布局

    一层一层叠上去的。

    AbsoluteLayout :绝对布局

    靠绝对坐标来定位,不建议使用。

    layout_x

    layout_y

    TableLayout :表格布局

    类似于做了一个表格。

    TableRow

    前三种使用频率加起来超过98%,后两种使用较少

    Android布局技巧与优化

    温故知新

    基本控件

    五大布局

    UI = 控件+布局

    思考:布局是如何绘制的?

    树形的解析

    linearlayout默认水平排列

    可能会产生哪些性能问题?

    层次太多导致加载速度变慢

    如何优化?

    减少层次

    减少布局层次的重要性

    官方建议布局层次:最多10层(缩水后就更少了)

    减少层次后能运行在更多手机上

    如何减少

    学会利用相对布局

    如何利用相对布局减少层次?

    利用相对布局替换线性布局

    stack overflow:层次太多会导致栈溢出(例子:小米初期)

    建议工作中不要拖动,熟练后手写布局

    控件的组合

    有些效果可以由控件和控件的组合产生

    如何组合

    一些有用的属性

    布局如何引用相同的部分

    :重用布局

          ????为何是成为背景

    减少视图层级

    :需要时才加载

    总结:如何优化布局

    减少层次

    删除无用布局

    布局结构要清晰

    选择合适的布局

    小技巧:

    不要嵌套多个使用layout_weight属性的LinearLayout

    两个工具:Android lint帮你删除无用的资源,无用的文件、引用、类、布局、控件

    HierarchyViewer帮你分析你的布局的层级

    相关文章

      网友评论

          本文标题:第二章笔记分享

          本文链接:https://www.haomeiwen.com/subject/rdqxsttx.html