Android从零开始(三)

  



           知识点:布局
             

           1、 LinearLayout    线性布局(用的比较多,几乎所有的布局均可完成)
           2、 FrameLayout     层布局(可以完成比较绚丽的效果)
           3、 RelativeLayout   相对布局(很好用,但是要记忆属性较多)
           4、 TableLayout      表格布局(很少用)
           5、 AbsoluteLayout   绝对布局(不用,官方都不推荐,一些书籍都几乎不承认它的存在)


          以下逐步讲解其属性:

           1、android:layout_width
           2、android:layout_height
          基本上所有的View都有以上两个属性,然后99%的View都需要指定这两个属性,如果没有指定,会导致运行时发生异常。
          可以指定三个值:
             1、fill_parent  表示填充整个父容器
             2、wrap_content 表示大小和内容大小一致
             3、直接指定大小 但是这种方式需要指定大小的单位(在Android中单位有以下几种:px,sp,dip,dp,px是传统意义上的像素单位,sp是scale-independent pixel(与比例无关的像素,通常用于指定字体,dp是density-independent pixel(与密度无关的像素,dip是dp的另一种写法,关于密度:密度是指1个像素单位内的dpi值,通常1dp=160dpi,在Android中我们基本上只使用两种单位:大小用dp或dip,随意字体用sp)

          android:orientation

          是LinearLayout独有的属性,用于确定摆放的方向是横着还是竖着,默认为horizontal,可以指定为vertical。


          ScrollView

          带滚动条的View,如果包含的内容超出其范围,自动显示滚动条并提供滚动效果
HorizontalScrollView也是滚动条View,差别在于前者是上下,这个是左右,根据自己需要使用
无论是哪一个,都只允许存在一个子控件,当然子控件下面有多少个,那就管不着了。


          layout_weight
  
          重力,是LinearLayout布局中控件能使用的独有属性,它的作用是让控件占用剩余空间,被设置重力的控件会最后才进行摆放,值决定占用剩余空间的比例大小
假如有3个控件,A指定为1,B也指定为1,C也指定为1
          那么A占用的大小是:   1/(1+1+1)*100   33%
          那么B占用的大小是:   1/(1+1+1)*100   33%

          假设现在分别指定为1,2,3
          那么A占用的大小是:    1/(1+2+3)*100   16%
              B占用的大小是:    2/(1+2+3)*100   33%
              C占用的大小是:    3/(1+2+3)*100    50%

          必须注意,如果使用layout_weight,那么强烈建议layout_width设置为0dp


          layout_gravity和gravity,设置引力(所谓的引力就是对齐方向)前者是相对父容器,后者是内容

           layout_margin和padding:设置距离,前者是控件距离其他控件或父容器边框多远,后者是控件内容距离自身边框多远

           layout_alignParentXxxx这组属性是表示控件相对父容器的位置,值是boolean值
除此之外,还有:
layout_centerInParent
layout_centerVertical
layout_centerHorizontal

layout_below
layout_toRightOf
layout_toLeftOf
layout_above
这组属性是指定控件相对指定控件的哪边,值是控件id

layout_alignBaseline
layout_alignTop
layout_alignRight
layout_alignLeft
layout_alignBottom
这组属性是指定控件边框对齐指定的控件边框,值是控件id


@是引用符
@id/xxx表示引用id为xxx的资源
而如果是@+id/xxx,则表示如果id为xxx的资源存在,那么引用,如果不存在那么创建

猜你喜欢

转载自1136051009.iteye.com/blog/1775425