Android知识点 014 —— 2.1 界面编程与视图(View)组件 (疯狂Android讲义)

文章原文:https://www.cnblogs.com/wolipengbo/p/3336194.html?utm_source=tuicool

返回知识列表:Android知识列表


一、视图组件与容器组件

     Android应用的绝大部分UI组件都放在android.widget包及其子包、android.view包及其子包中,Android应用的所有UI组件都继承了View类。

     View类有重要的子类:ViewGroup,但ViewGroup通常作为其他组件的容器使用。

    Android的所有UI组件都是建立在View、ViewGroup基础之上的,Android采用了“组合器”设计模式来设计View和ViewGroup:ViewGroup是View的子类,因此ViewGroup也可被当成View使用。对于一个Android应用的图形图形用户界面来说,ViewGroup作为容器来盛装其他组件,而ViewGroup里除了可以包含普通View组件之外,还可以再次包含ViewGroup组件。

    图2.1显示了Android图形用户界面的组件层次图。
   

View    

View是Android中图形界面的基类,提供了可视化界面的展示。Android的图形界面可分为三层:底层是Activity;Activity上面是Window;Window上面是View。(是吗?嘿嘿)任何一个View对象都继承android.view.View类。它是一个存储有屏幕上特定的一个矩形布局和内容属性的数据结构。作为一个基类,View类为Widget服务, Widget(窗口小部件)则是一组用于绘制交互屏幕元素的完全实现子类。

 

ViewGroup         

View分为View和ViewGroup。View是基本的控件;

ViewGroup是布局控件。             

ViewGroup是一个android.view. ViewGroup类的对象。它的功能是装载和管理一组下层的View和其他的ViewGroup,作为一个基类, ViewGroup为Layout服务。ViewGroup的子类是Layout。

P43, 因为ViewGroup是一个抽象类,因此实际使用中通常总是使用ViewGroup的子类来作为容器,例如各种布局管理器。

 

二、使用XML布局文件控制UI界面

     Android推荐使用XMl布局文件来控制视图,这样不仅简单、明了,而且可以将应用的视图控制逻辑从Java代码中分离出来,放入XML文件中控制,从而更好的体现MVC原则。

     当我们在Android应用的res/layout目录下定义一个主文件名任意的XML布局文件之后(R.java会自动收录该布局资源),Java代码可通过如下方法在Activity中显示该视图:

                     setContentView(R.layout.<资源文件名>)                                                        

      当在布局文件中添加多个UI组件时,都可以为该UI组件指定android:id属性,该属性的属性值代表该组件的唯一标识。接下来如果希望在Java代码中访问指定UI组件,可通过如下代码来访问它:

                    findViewById(R.id.<android.id.属性值>)                                                         

      一旦在程序中获得指定UI组件之后,接下来就可以通过代码来控制UI组件的外观行为啦,包括为UI组件绑定事件监听器等。

P44,   这里插一句,查找UI组件是在你加载的布局文件里找。如果你setContentView(R.layout.A) ,只能在R.layout.A 布局文件里找它相应的UI组件。

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值