Android布局的基本概念及布局的运用?

来源:互联网 发布:重大电气知乎 编辑:程序博客网 时间:2024/05/16 07:05

     一.布局的基本概念

     布局就是主要把界面中的控件按照某种规律摆放在指定的位置;主要是为了解决应用程序在不同手机中的显示问题

    1.  Android实现布局有俩种方式:

      (1)代码:布局文件对应的Java类都是viewgroup类的子类

      (2)xml配置文件:所有的布局文件都是放在res/layout文件夹中

              布局支持嵌套

   2.布局的一些基本属性

      (1)android:layout_width

               1>设置控件所占的宽度

               2>取值范围:wrap_content,fill_parent,match_parent

                  固定值:dp,dip,sp,pt,mm,in,px

      (2)android:layout_height

                1>设置控件所占的高度

                2>取值范围同上

     (3)android:layout_gravity

              1>当前控件在父视图的位置

              2>取值范围:top| bottm | left | right(上下左右);center_veritcal(水平居中)| center_horizontal(垂直居中)| center(居中)

                fill_veritcal(若有可能,纵向拉伸以填满容器);fill_horizontal(横向拉伸以填满容器);fill (纵向横向同时拉伸以填满容器)

   (4)android:layout_marginTop

             1>当前视图边缘到某条基线的距离

             2>只能取固定的值

   (5)android:layout_marginButtom

            1>当前视图下边缘到某条基线的距离

            2>只能取固定值

二.Android的布局

     1.LinearLayout(线性布局)

              1>线性布局将其中的控件一个接一个排列,可以横排也可以竖排

              2>常用属性:

                     设置排列方向:

                                  xml属性:android:orientation="horizontal(水平排列)或者 vertical(垂直排列)"

                                 方法:setPrientation(int)

                    设置组件的对齐方式:

                                 xml属性:android:gravity

                                 方法:setGravity(int)

        小总结:android:layout_gravity和android_gravity的区别?

           android:gravity:这个是针对控件里的元素来说的,用来控制元素在该控件里显示位置

         android:layout_fravity:这个是针对控件本身而言,用来控制该控件在包含该控件的父控件中的位置

        特殊情况:当android:orientation="vertical"时;android:layout_gravity只有水平方向的设置才能起作用,垂直方向的设置不起作用;即:left,right,center_horizontal是生效的

         当android:orientation=“horizontal”时;android:layout_gravity只有垂直方向的设置才起作用,水平方向的设置不起作用;即top,bottom,center_vertical是生效的


2.FrameLayout(帧布局)

    1>类似于ps中图片的概念

    2>位每个加入其中的组件创建单独的帧

   3>看上去像组件叠加到一起


3.TableLayout(表格布局)

   1>表格布局可将视图按行,列进行排列

   2>直接向TableLayout中添加控件,则这个控件将占一行

   3>一个表格布局由一个<TableLayout>标签和若干个<TableRow>标签组成

  4>常用属性:

           某列被收缩(以保证表格完全填充父容器的宽度):android:shrinkColumns

          某列被拉伸(以保证表格能完全填充父容器的宽度):android:stretchColumns

           某列被隐藏:android:collapseColumns

         表格跨列:android:layout_span="3"

4.AbsoluteLayout(绝对布局)

      1>自己制定控件的坐标

     2>每个控件有layout_x和layout_y属性

    不推荐使用,因为屏幕太大变化,其位置也会变化


今天就写到这里;RelativeLayout(相对布局)我会在下一篇写。


  

 


原创粉丝点击