android视图继承关系

转载:http://blog.csdn.net/dongnan591172113/article/details/33090111

 

android视图继承关系

分类: android

入门级的基础知识,以前对View,VIewGroup,widget,layout等的关系搞不清楚,通过学习后,做了下总结,如下:

1.View,ViewGroup

>View:

}1、所有高级UI组件都继承View类而实现的
}2、一个View在屏幕上占据一块矩形区域
}3、 负责渲染
}4、负责处理发生的事件
}5、设置是否可见
}6、设置是否可以获得焦点等
 
2.ViewGroup:
}1、一个ViewGroup对象是一Android.view.ViewGroup实例
}2、View的容器
}3、 负责对添加进ViewGroup的View进行布局
}4、一个ViewGroup可以加入到另一个ViewGroup
 
3.View ,ViewGroup的关系
 

4.View,widgetView的继承关系

2.widget

}1、界面中展示的各个小组件
}2、有独立的事件处理能力
}3、所有Wiget组件都是继承View而来
注:1.widget并不是实际存在的类,它是一个包,而VIew等就是实际存在的类,所以首字母大写。在引用时,通常:

          import android.view.View;

          import android.widget.TextView;

         因为widget是包,所以首字母小写

        2.在该包内放的是UI Elements,包括TextView,ListView,但是这些元素都继承自View或ViewGroup。如下图所示:

 

 

 

其中各种layout继承自ViewGroup

4 layout

对UI 组件进行布局

 关于view及其子类的关系如下:



 


 

二、 View  SurfaceView  GLSurfaceView

  View SurfaceView GLSurfaceView
功能 显示视图,内置画布,提供图形绘制函数、触屏事件、按键事件函数等;必须在UI主线程内更新画面,速度较慢 基于view视图进行拓展的视图类,更适合2D游戏的开发;是view的子类,类似使用双缓机制,在新的线程中更新画面所以刷新界面速度比view快。 基于SurfaceView视图再次进行拓展的视图类,专用于3D游戏开发的视图;是SurfaceView的子类,openGL专用。
区别 必须在UI的主线程中更新画面,用于被动更新画面 UI线程和子线程中都可以。在一个新启动的线程中重新绘制画面,主动更新画面  

 

 



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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值