Android开发总结
尹朝爱寇丁
喜欢coding 热爱生活
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
View从调用invalidate到draw经历的主要流程
话不多说,先上时序图。View调用invalidate()后到执行它的draw()方法主要经历了如图所示的流程,这里面主要涉及到了View、ViewRootImpl、MessageQueue(Handler这一整套)、Choreographer、DisplayEventReceiver这几个模块,其实这里的每一个模块都是比较复杂的,本文从View调用invalidate()到执行它的draw()方法这一流程视角分析一下这些模块的联系。android的视图是View的树状结构。View调用i.原创 2020-08-01 18:23:02 · 606 阅读 · 0 评论 -
android View架构总结
View的特点是灵活,每次学习View的时候都感觉学懂了;但是在实际开发的时候总也会遇到一些View的问题感觉比较神奇,最近在组内做了一个关于View的分享,主要是从View的绘制和View的事件传递两个方面介绍View的体系架构。一.View绘制流程 二.View事件传递流程...原创 2018-12-08 12:13:50 · 364 阅读 · 0 评论 -
MVC、MVP、MVVM总结
1.MVC定义(总结自Head First设计模式)MVC架构像一块夹心饼干,视图和模型是上下的饼干层;控制器是中间的奶油层,负责黏连视图和模型。 MVC架构的目的是实现UI模块、数据模块、业务逻辑模块的解耦,在MVC架构内部利用了其它的设计模式。模型利用“观察者”让控制器和视图可以随最新的状态改变而更新;视图和控制器实现了“策...原创 2018-10-22 09:54:59 · 271 阅读 · 0 评论 -
android View移动总结
android中View的移动分为两种,View位置的移动和View内容的移动。一、 View位置移动的方法修改mTranslationX或mTranslationY的值 设置MarginLayoutParams的margin值 设置ViewGroup.LayoutParams的width或height 设置View的mLeft、mRight、mTop、mBottom 对Matri...原创 2018-08-17 14:20:38 · 515 阅读 · 0 评论 -
Android事件传递总结
Android中事件传递机制是非常重要但又很复杂的一个知识点,在实现一些自定义View、处理滑动冲突时都需要复写事件传递相关的函数。本文总结了不同事件的传递过程,至于事件传递的dispatchTouchEvent()、onInterceptTouchEvent()、onTouchEvent()这三个函数的具体实现可以阅读源码。 Android中的事件分为以下几种 ACTION_DOWN、A...原创 2018-05-23 21:32:54 · 2266 阅读 · 1 评论 -
ListView嵌套卡顿问题分析及解决
最重要的是在架构设计的时候尽量避免LiveView嵌套情况的发生,因为ListView嵌套后,在一些手机上会发生卡顿现象,而且不容易解决。然而,由于产品的设计,或者界面越来越复杂,有的时候ListView嵌套还是不可避免的发生了;ListView嵌套后刷新ListView时在一些手机上会发生比较明显的卡顿现象。卡顿发生后,首先要确认卡顿发生的原因。通过打印日志的方式,观察一下调用Adapter的no原创 2017-11-30 14:46:26 · 2676 阅读 · 1 评论 -
Activity ActivityManagerService以及WindowManagerService之间的关系
本文,通过应用程序开始启动到第一个Activity的View内容在手机屏幕上完全展示出来的过程讲述Activity、ActivityManagerService、WindowManagerService三者之间如何发生关系的。原创 2017-08-26 12:02:38 · 3051 阅读 · 0 评论 -
Android自定义View的动画实现方法
在自定义的柱状图中实现动画的两种方法:第一种方法,通过延时调用invalidate()方法;第二种方法,通过属性动画实现。原创 2017-09-19 18:16:36 · 2267 阅读 · 0 评论 -
android项目中引入CoordinatorLayout控件问题总结
在工程中导入support-v7包后,产生了依赖冲突,通过修改依赖库文件的版本号解决了依赖冲突问题。在使用CoordinatorLayout的过程中,不能使头部的View和ListView联动滑动。原创 2017-07-18 18:22:40 · 3772 阅读 · 0 评论 -
根据文本内容的长度动态的设置TextView的高度
在做Android开发中,经常需要根据文本内容的长度和手机屏幕的大小动态的设置TextView的高度。设置TextView的高度后,再设置TextView可以滑动,就可以展示完整的文本,但是TextView的滑动效果不流畅;可以给TextView外层包一个ScrollView,通过设置ScrollView的高度,通过ScrollView的滑动展示完整的文本内容。 根据文本内容的长度设置TextVi原创 2017-06-28 20:39:53 · 4784 阅读 · 0 评论 -
Binder通信学习总结
本文是笔者学习Binder通信机制的要点总结,并没有对Binder通信机制进行详细的介绍。描述了Binder机制的四大模块,以及Binder通信的主要特点:数据传递单向性和数据拷贝一次。原创 2017-02-19 16:20:20 · 821 阅读 · 0 评论 -
可滑动Header控件的实现
本文从滑动冲突产生的原因、解决方案以及代码实现过程三个方面,介绍了可滑动Header控件的实现过程。原创 2016-11-28 21:41:20 · 453 阅读 · 0 评论 -
ListView恢复位置
在一个ListView里面切换tab,两个tab显示的数据的数据对象一样,只是数据类型不一样,两个tab共用了一个ListView实例和一个Adapter实例。在切换tab的时候恢复ListView在该tab中上一次的位置。原创 2016-08-15 21:44:00 · 474 阅读 · 0 评论 -
Android 监听软键盘的显示与隐藏
在Android开发中,经常需要监听软键盘的显示状态,而有时候键盘的显示或隐藏是由系统自动调用触发的,但是对系统自动触发的软键盘的显示或隐藏不太方便监听。今天介绍两种监听软键盘显示和隐藏的方法。第1种方法: 给布局文件最外层的View(在本文中成为mMainView)添加addOnLayoutChangeListener监听,官方文档对该接口的解释是: Add a listener that w原创 2016-09-21 21:56:06 · 1609 阅读 · 1 评论
分享