• android学习笔记三


    GUI==>Graphics User Interface,图形用户界面。

    android UI 建立在View、ViewGroup基础上,采用组合器设计模式设计View和ViewGoup.

    ViewGroup是View的子类,ViewGroup也可以被当中View使用。对于View而言,其是所有UI组件的基类,因此其包含的XML属性和方法是所有组件都可以使用的。

    注意:

      可参考SDK安装目录下,docs子目录下,单击Index.html页面学习,主要页签内容Dev Guide、Reference

    fill_parent==>指定组件的高度、宽度、和父容器的相同(实际上需要减去填充的空白区域);

    match_parent==>该属性和fill_parent属性作用一致,从android2.2开始推荐使用match_parent代替fill_parent属性;

    1.使用XML布局文件控制UI

    ==》

      setContentView(R.Layout.资源文件名称);Eg:setContentView(R.Layout.main);

      findViewById(R.id.id属性值),Eg:findViewById(R.id.main);

    注意:android也支持通过代码的形式控制UI布局等,但不建议使用。

    2.开发自定义View

    ==》

    定义一个继承自View基类的子类,重写View基类的一个或者多个方法,实现自定义View的功能。

    通常支持的重写方法如下:(参考疯狂android讲义)

      

    3.布局管理器

    ==》推荐使用其完成组件的分布、大小管理,并非直接设置组件的大小...

    布局管理器可以根据允许平台调整组件的大小。所有布局都可以作为容器使用。

    LinearLayout——线性布局

    LinearLayout线性布局,可以通过设置android:orientation属性,控制其纵向排列或者横向排列。

    注意:android:gravity属性中的多个属性值之间用竖线隔开,但竖线之间不能存在空格。

     TableLayout

    ==>

     表格布局,采用行列的形式管理UI组件。TableLayout不需要明确声明需要几行几列,通过添加TableRow、其他控件来控制表格的行数和列数。

    一个TableRow代表一行,TableRow本身也是容器——可以添加其他组件(每添加一个子组件代表添加一列);

    直接在TableLayout添加组件,代表组件直接占用一行;

    在表格布局中列的宽度由列中最宽的组件决定;整个表格布局的宽度取决于父容器的宽度。

    表格布局中,单元格可设置为三种方式,如下:

      Shrinkable==>如果某列被设为Shrinkable,那么该列的所有单元格的宽度可以被收缩,以保证该表格能适应父容器的宽度。

      Stretchable==>如果某列被设为Stretchable,那么该列的所有单元格的宽度可以被拉伸,以保证组件能完全填充表格空余空间。

      Collapsed==>如果某列被设为Collapsed,妈么该列的所有单元格会被隐藏

    注意:TableLayout继承了LinearLayout,因此其支持LinerarLayout支持的所有属性;多个列设置可用“,”分割,Eg:android:stretchColumns="1,2";==>表示第二、第三列可被拉伸...;

       索引从“0” 开始;

         列可以同时具备stretchColumns及shrinkColumns属性,若此,那么当该列的内容N多时,将“多行”显示其内容。(这里不是真正的多行,而是系统根据需要自动调节该行的layout_height)

        

       android:layout_column    指定该单元格在第几列显示
    android:layout_span        指定该单元格占据的列数(未指定时,为1)
    示例:
    android:layout_column="1"    该控件显示在第1列
    android:layout_span="2"        该控件占据2列
    说明:一个控件也可以同时具备这两个特性。
    表格布局常用的属性如下:
    android:collapseColumns:隐藏指定的列
    android:shrinkColumns:收缩指定的列以适合屏幕,不会挤出屏幕
    android:stretchColumns:尽量把指定的列填充空白部分
    android:layout_column:控件放在指定的列
    android:layout_span:该控件所跨越的列数

    FrameLayout==>帧布局

    FrameLayout布局管理继承了ViewGroup组件,帧布局容器为每个加入其中的组件创建一个空白的区域(称为一帧),每个子组件占据一帧,这些帧都会根据gravity属性执行自动对齐。

    FrameLayout是最简单的布局了。所有放在布局里的控件,都按照层次堆叠在屏幕的左上角。后加进来的控件覆盖前面的控件。

    .....

    RelativeLayout==>相对布局

    相对布局中容器中的组件位置是相对其他组件、父容器而定。

     相对布局是按照组件之间的相对位置来布局,比如在某个组件的左边,右边,上面和下面等...

     

    AbsoluteLayout ==>绝对布局,不建议使用

    ......

    博客内容主要用于日常学习记录,内容比较随意,如有问题,还需谅解!!!
  • 相关阅读:
    【转】关于LWF——线性工作流
    【转】对抗拖库 ―― Web 前端慢加密
    【转】用C#调用Windows API向指定窗口发送
    使用 Redis 如何设计分布式锁?
    SpringBoot如何使用WebSocket实现前后端交互?
    Redis缓存使用中的热key问题
    Spring的BeanUtils的copyProperties方法需要注意的点
    解决github中图片不显示的问题
    java中JsonSerializer的用法(前后端单位转换必备)
    Spring Boot2.X中findOne的用法
  • 原文地址:https://www.cnblogs.com/YYkun/p/5732694.html
Copyright © 2020-2023  润新知