ViewParent 和 ViewManager】的更多相关文章

ViewGroup 继承了 View  实现了两个接口  ViewParent 和 ViewManager 接口 ViewParent:定义了成为一个View的parent的一些“职能”,当parent 和 它的child相互影响的时候查看此类. requestLayout():当view parent 的child view layout 发生彻底改变的时候调用,这个方法将通过视图树处理layout,即重新调用parent view 的OnMeasure 方法 OnLayout 方法 和 On…
View表示了用户界面的基本构建模块. 一个View占用了屏幕上的一个矩形区域并且负责界面绘制和事件处理.手机屏幕上所有看得见摸得着的都是View. Activity是四大组件中唯一一个用来和用户进行交互的组件.可以说Activity就是android的视图层. 如果再细化,Activity相当于视图层中的控制层,是用来控制和管理View的,真正用来显示和处理事件的实际上是View. 每个Activity内部都有一个Window对象, Window对象包含了一个DecorView(实际上就是Fr…
View和Activity的区别 View有哪些? ViewGroup是什么? 为什么Google产生ViewGroup? View的层级结构是什么? View的onMeasure()/onLayout()/onDraw()方法做了什么? View和Activity的区别 android的四大组件,Activity是四大组件中唯一一个用来和用户进行交互的组件.可以说Activity就是android的视图层. 如果再细化,Activity相当于视图层中的控制层,是用来控制和管理View的,真正用…
View和Activity的区别 android的四大组件,Activity是四大组件中唯一一个用来和用户进行交互的组件.可以说Activity就是android的视图层. 如果再细化,Activity相当于视图层中的控制层,是用来控制和管理View的,真正用来显示和处理事件的实际上是View. 每个Activity内部都有一个Window对象, Window对象包含了一个DecorView(实际上就是FrameLayout),我们通过setContentView给Activity设置显示的Vi…
我们常常可能会需要动态的添加删除视图,这时就需要用到ViewManager接口: public interface ViewManager{ public void addView(View view, ViewGroup.LayoutParams params); public void updateViewLayout(View view, ViewGroup.LayoutParams params); public void removeView(View view);} Android的…
尊重原创: http://blog.csdn.net/sk719887916/article/details/48464035 上篇<Android View 中invalidate() 你所不知道的那些事>主要了解了view重绘的整个流程,通过从源码的学习大家了解了view整个invalidate的整个流程,但是上篇中view的另一个重要方法 requestLayout()没做细说,本篇继续分析requestLayout(). 上文中细说了从view.invalidate()开始到view.…
从纯sdk及framwork的角度看,android中界面框架相关的类型有:Window,WindowManager,View等.下面就以这几个类为出发点来概览下安卓开发的"界面架构". Window 该类接触不多,和它密切相关的View类就比较熟悉了. Window和View的关系 View是可视界面上的一个矩形区域,它显示内容并接收各种交互事件.所有View形成一个ViewTree这样的结构,对应任何一个界面通过sdk自带的hierarchyviewer工具就可以看到所有View对…
1. Hybrid:Ionic.Cordova.AngularJS等框架 webView,处理H5 2. View.ViewGroup android.view.View  public class View implements Drawable.Callback, KeyEvent.Callback,AccessibilityEventSource This class represents the basic building block for user interface compon…
Android单线程模型是这样描述的: Android UI操作并不是线程安全的,并且这些操作必须在UI线程执行 如果在其它线程访问UI线程,Android提供了以下的方式: Activity.runOnUiThread(Runnable) View.post(Runnable) View.postDelayed(Runnable, long) Handler 为什么呢?在子线程中就不能操作UI么? 当一个程序第一次启动的时候,Android会同时启动一个对应的主线程,这个主线程就是UI线程,也…
前几天凯子哥写的Framework层的解析文章<Activity启动过程全解析>,反响还不错,这说明“写让大家都能看懂的Framework解析文章”的思想是基本正确的. 我个人觉得,深入分析的文章必不可少,但是对于更多的Android开发者——即只想做应用层开发,不想了解底层实现细节——来说,“整体上把握,重要环节深入“是更好的学习方式.因为这样既可以有完整的知识体系,又不会在浩瀚的源码世界里迷失兴趣和方向. 所以呢,今天凯子哥又带来一篇文章,接着上一篇的结尾,重点介绍Activity开启之后…
activity相当于控制部分,view相当于显示部分.两者之间是多对多的关系,所有东西必须用view来显示.  viewGroup继承自view,实现了ViewManager,ViewParent接口,主要用作layout方面. Activity中加载相应的view才能显示出画面来,view是具体的画面布局(layout),由wegit控件组成. 好比view是jsp实现前台画面,activity是java程序,处理具体业务逻辑 基本上每个activity都有对应的view, activity…
从前文可知道,每一个Activity组件都有一个关联的Window对象,用来描述一个应用程序窗口.每一个应用程序窗口内部又包含有一个View对象,用来描述应用程序窗口的视图.应用程序窗口视图是真正用来实现UI内容和布局的,也就是说,每一个Activity组件的UI内容和布局都是通过与其所关联的一个Window对象的内部的一个View对象来实现的.在本文中,我们就详细分析应用程序窗口视图的创建过程. 在前面Android应用程序窗口(Activity)实现框架简要介绍和学习计划一文中提到,应用程序…
The interface that apps use to talk to the window manager. 这个接口用于与 window manager (窗口管理器, 应用框架层) 进行交互. Use Context.getSystemService(Context.WINDOW_SERVICE)to get one of these. 通过 Context.getSystemService(Context.WINDOW_SERVICE)可以获取到WindowManager的实例.…
  WindowManager是Android中一个重要的服务 (Service ).WindowManager Service 是全局的,是唯一的.它将用户的操作,翻译成为指令,发送给呈现在界面上的各个Window.Activity会将顶级的控件注册到 Window Manager 中, 当用户真是触碰屏幕或键盘的时候,Window Manager就会通知到,而当控件有一些请求产生,也会经由ViewParent送回到Window Manager中.从而完成整个通信流程. 整个Android的窗…
ViewGroup的官方解析是: A <code>ViewGroup</code> is a special view that can contain other views (called children.) The view group is the base class for layouts and views containers. 其类定义如下: public abstract class ViewGroup extends View implements View…
View.java源码: /frameworks/base/core/java/android/view/View.java View.java的 dispatchTouchEvent 方法: 经过一系列的处理后,将TouchEvent传递给 onTouch 或 onTouchEvent /** * Pass the touch screen motion event down to the target view, or this * view if it is the target. * *…
接着上次的记录,续写. 23.services文件夹 文件 描写叙述 class AlarmManagerService extends IAlarmManager.Stub { //定时管理服务 public class AppOpsService extends IAppOpsService.Stub {  // 程序选项服务 public class AppsLaunchFailureReceiver extends BroadcastReceiver {  //app启动失败广播 cla…
一.组合模式定义 组合模式定义: Compose objects into tree structures to represent part-whole hierarchies. Composite lets clients treat individual objects and compositions of objects uniformly. 将对象组合成树形结构以表示“部分-整体”的层次结构,使得用户对单个对象和组合对象的使用具有一致性. 如上图所示(截取自<Head First D…
1.View和ViewGroup Activity是Android应用程序的基本管理单元,Android的每一个窗口都是通过一个Activity来定义的,但是Activity并不能直接用来显示窗口.我们需要调用setContentView(View view)来显示这个窗口.也就是说,真正用来显示窗口的是View类及其子类. View主要负责绘制元素和事件处理,提供了许多用于绘制界面的子类.比如Button类,TextView类,EditText类等等.我们可以通过这些子类控件来进行一些简单的界…
ViewManager  vm = a.getWindowManager(); vm.add(view,l); window :一个抽象的窗口基类,控制顶层窗口的外观和行为.作为顶层窗口,可控制窗口背景.和标题.默认的案件处理等,他作为一个顶层的View加入到WIndowManager.实际中用的比较多的是实现类比如针对手机的phoneWindow,针对平板的MidWindow . View:一个UI的单元,暂居一定的区域可用于绘制,并可以处理事件. windowManager实际上的基类是Lo…
文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/8636153 在前面一个系列的文章中,我们以窗口为单位,分析了WindowManagerService服务的实现.同时,在再前面一个系列的文章中,我们又 分析了窗口的组成.简单来说,窗口就是由一系列的视图按照一定的布局组织起来的.实际上,每一个视图都是一个控件,这些控制可以将自己的UI绘制在窗口的 绘图表面上,同时还可以与用户进行交互,即获得用户…
文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/8372924 在前面一篇文章中,我们分析了Android应用程序窗口的绘图表面的创建过程.Android应用程序窗口的绘图表面在创建完成之后,我们就可以从上到下地绘制它里面的各个视图了,即各个UI元素了.不过在绘制这些UI元素之前,我们还需要从上到下地测量它们实际所需要的大小,以及对它们的位置进行合适的安排,即对它们进行合适的布局.在本文中,我们…
Activity和View的区别: activity相当于控制部分,view相当于显示部分.两者之间是多对多的关系,所有东西必须用view来显示.  viewGroup继承自view,实现了ViewManager,ViewParent接口,主要用作layout方面. Activity中加载相应的view才能显示出画面来,view是具体的画面布局(layout),由wegit控件组成. 好比view是jsp实现前台画面,activity是java程序,处理具体业务逻辑. 基本上每个activity…
Android---系统服务之 ---WindowManager WindowManager是Android中一个重要的服务(Service ).WindowManager Service 是全局的,是唯一的.它将用户的操作,翻译成为指令,发送给呈现在界面上的各个Window.Activity会将顶级的控件注册到 Window Manager 中,当用户真是触碰屏幕或键盘的时候,Window Manager就会通知到,而当控件有一些请求产生,也会经由ViewParent送回到Window Man…
[工匠若水 http://blog.csdn.net/yanbober 转载烦请注明出处.尊重劳动成果] 1 背景 之所以写这一篇博客的原因是由于之前有写过一篇<Android应用setContentView与LayoutInflater载入解析机制源代码分析>.然后有人在文章以下评论和微博私信中问我关于Android应用Activity.Dialog.PopWindow载入显示机制是咋回事,所以我就写一篇文章来分析分析吧(本文以Android5.1.1 (API 22)源代码为基础分析),以…
activity相当于控制部分,view相当于显示部分.两者之间是多对多的关系,所有东西必须用view来显示. viewGroup继承自view,实现了ViewManager,ViewParent接口,主要用作layout方面. Activity中加载相应的view才能显示出画面来,view是具体的画面布局(layout),由wegit控件组成. 好比view是jsp实现前台画面,activity是java程序,处理具体业务逻辑 基本上每个activity都有对应的view, activity用…
文章目录   [隐藏] 一.ViewGroup是什么? 二.ViewGroup这个容器 2.1 添加View的算法 2.1.1 我们先来分析addViewInner方法: 2.1.2 addInArray 2.2 移除View 2.3 查询 三.onFinishInflate 四.测量组件 五.onLayout 六.ViewGroup的绘制. 七.效果图片:   这回我们是深入到ViewGroup内部\,了解ViewGroup的工作,同时会阐述更多有关于View的相关知识.以便为以后能灵活的使用…
该文章是一个系列文章,是本人在Android开发的漫漫长途上的一点感想和记录,我会尽量按照先易后难的顺序进行编写该系列.该系列引用了<Android开发艺术探索>以及<深入理解Android 卷Ⅰ,Ⅱ,Ⅲ>中的相关知识,另外也借鉴了其他的优质博客,在此向各位大神表示感谢,膜拜!!!另外,本系列文章知识可能需要有一定Android开发基础和项目经验的同学才能更好理解,也就是说该系列文章面向的是Android中高级开发工程师. 第四篇了,,接着上一篇说 (怎么感觉还是没人评论呢) 在上…
. RecyclerView extends ViewGroupimplements ScrollingView NestedScrollingChild java.lang.Object    ↳ android.view.View      ↳ android.view.ViewGroup        ↳ android.support.v7.widget.RecyclerView Known Direct Subclasses HorizontalGridView, VerticalGr…