Android高手进阶
文章平均质量分 74
吴传龙
这个作者很懒,什么都没留下…
展开
-
从源码解释Android事件分发机制
在ViewRootImpl的setView方法中,用户的触摸按键消息是体现在窗体上的,而windowManagerService则是管理这些窗口,它一旦接收到用户对窗体的一些触摸按键消息,会进行相应的动作,这种动作是需要体现在具体的view上面,在Android中,一个具体的界面是由一个Activity呈现的,而Activity中则包含了一个window,此window中又包含了一个phoneWi原创 2015-07-05 13:45:29 · 1982 阅读 · 2 评论 -
Android源码目录结构详解
Android |– Makefile |– bionic (bionic C库) |– bootable (启动引导相关代码) |– build (存放系统编译规则及generic等基础开发包配置) |– cts (And原创 2016-06-26 17:51:41 · 5182 阅读 · 3 评论 -
Android版的股票行情K线图开发
转载请注明出住: http://blog.csdn.net/andywuchuanlong 现在在手上的是一个证券资讯类型的app,其中有涉及到股票行情界面,行情中有K线图等,看到网上很多人在求这方面的资料,所以我特地写了一个demo在此处给大家分享一下。下面是做出来的效果图:这个 界面 是如何画出来的我就不做介绍了,大家可以去下载项目源码。背景图是利用canv原创 2015-06-26 10:31:18 · 21167 阅读 · 34 评论 -
《Android动画高手成长记》跳跳球效果
在介绍本文动画效果实现之前,先来介绍属性动画相关的几个知识点。ValueAnimator与ObjectAnimator。Interpolator插值器与TypeEvaluator估值器。在Android3.0之前,系统提供了两种动画效果实现方式,帧动画frame-by-frame animation和补间动画tweened animation。帧动画就是类似电影播放一样,将整部影片拆分成一片片原创 2016-01-14 17:00:03 · 4211 阅读 · 2 评论 -
Android TextView两端对齐
Android中的TextView控件默认是做不到两端对齐的,都是左对齐。可能的原因是安卓默认数字、字母不能为第一行以后每行的开头字符,因为数字、字母为半角字符,还有就是文字中的英文字符占用1个字节,而一个汉字占用两个字节。下面我就介绍下实现两端对齐的原理: 1、测量一个中文汉字所占用的宽度 2、根据TextView的宽度和一个汉字所占用的宽度以及字符之间的间隔计算出总行数。 3、根据padd原创 2015-12-07 17:31:54 · 9865 阅读 · 5 评论 -
Android点击Button水波纹效果
接下来要介绍的就是如何实现上述图中的波纹效果,这种效果如果大家没有体验过的话,可以看看百度手机卫士或者360手机卫士,里面的按钮点击效果都是这样的,另外Android 5.0以上的版本也出现了这种效果。不多说,下面聊聊具体的怎么实现。首先大家看到的是三个button,水波纹的出现给我们的错觉是直接将波纹绘制在button上面的,但是这样原创 2016-01-03 13:59:48 · 13392 阅读 · 9 评论 -
从源码角度分析Android中的Binder机制的前因后果
前面我也讲述过一篇文章《带你从零学习linux下的socket编程》,主要是从进程通信的角度开篇然后延伸到linux中的socket的开发。本篇文章依然是从进程通信的角度去分析下Android中的进程通信机制。为什么在Android中使用binder通信机制?众所周知linux中的进程通信有很多种方式,比如说管道、消息队列、socket机制等。socket我们再熟悉不过了,然而其作为一款通用的接口,原创 2015-09-21 16:22:22 · 3201 阅读 · 1 评论 -
从源码角度分析linearLayout测量过程以及weight机制
上文从源码角度分析了view和viewGroup的measure机制,如果还没有阅读的同志们,可以前往从源码角度分析Android View的绘制机制(一)阅读。下面我再结合linearLayout的measure过程解释以下两个问题的缘由。问题一:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"原创 2015-08-19 15:09:19 · 7827 阅读 · 20 评论 -
从源码角度分析view的draw过程
前面已经分析了Android view的测量和布局,并且重点介绍了linearLayout的测量机制。特别感谢博乐对我前一篇文章的推荐以及赞赏,我也会一如既往的写好每一篇文章。接下来的这篇文章会以前两篇文章为基础继续分析draw。 1、从源码角度分析Android View的绘制机制(一) 2、从源码角度分析linearLayout测量过程以及weight机制 3、从源码角度分析view的l原创 2015-08-21 10:36:29 · 2249 阅读 · 0 评论 -
从源码角度分析view的layout过程
上两篇文章主要讲述了view的measure过程,主要分析了xml文件中控件的height和width设置成不同值的时候,经过测量之后,如何计算出控件的真实高度。所以也就验证了我们经常所说的measure过程就是把match_parent等值转化成在具体设备上的具体的值。 本文主要分析一下layout的过程,同样我们以LinearLayout的layout过程为例。 在ViewR原创 2015-08-19 16:28:40 · 4217 阅读 · 5 评论 -
从源码角度分析Android View的绘制机制(一)
在Android的学习道路上,每一个人员都免不了去翻阅Android的源码,因为只有从源码的角度分析问题,我们才能真正的玩转Android开发。最近由于工作比较闲,总想着想写点什么东西,正好自己也可以整理一下。考虑到view的显示机制是自定义view的基础,也是面试中经常被问到的问题,所以记录此文,和大家共享,因水平有限,望大家踊跃拍砖,不胜感激。 有过自定义view的同行们都应该知道,view的原创 2015-08-18 17:43:52 · 2423 阅读 · 1 评论 -
从源码角度分析native层消息机制与java层消息机制的关联
上文从源码分析Handler机制中从java层分析了消息机制,接下来本文从native层去分析Android中的消息机制。在一个消息驱动的系统中,最重要的就是消息队列和消息获取和处理,从上一篇文章可以看出handler的消息机制主要是靠MessageQueue进行消息列队,靠Looper进行消息循环,Looper的loop方法中进行轮询消息的实际操作还是依靠MessageQueue的next方法来获原创 2015-09-02 15:36:16 · 123027 阅读 · 11 评论 -
从源码角度分析java层Handler机制
在Android中,当要更新ui的时候,我们必须要在主线程中进行更新,原因时当主线程被阻塞了5s以上就会出现anr异常,会导致程序崩溃。所以一些耗时的操作必须要放在子线程中,但是在子线程中又不能做更新ui的操作,所以为了解决这个问题,Android设计了handler机制,handler的出现建立起了主线程与子进程之间的通信桥梁,使得ui更新问题得到改善,下面就来剖析一下handler。Activi原创 2015-09-01 16:53:04 · 7404 阅读 · 4 评论 -
歌词效果制作
首先看一下效果图大概的思想:先画出颜色为红色的一行文字,测量文字的宽度,假如说是1000,那么截取1000的十分之一的区域,把颜色为蓝色的的一行字画在合格矩形里面。部分代码如下:package com.example.custom.sz;import com.example.custom.R;import android.content.Context;import原创 2015-06-30 16:13:09 · 2661 阅读 · 0 评论 -
Android世界第一个activity启动过程
Android世界第一个activity启动过程 第一次使用Markdown,感觉不错。 Android系统从按下开机键一直到launcher的出现,是一个怎样的过程,中间都做出了什么操作呢,带着这些疑问开始源码之旅。 像windows操作系统一样,每个系统的启动都会有一个引导程序,在linux中,当引导程序启动linux内核后,会加载各种驱动和数据结构,当有了驱动之后,开始加载An原创 2015-07-15 17:40:24 · 2541 阅读 · 0 评论 -
从源码角度分析imageLoader框架
本文来自http://blog.csdn.net/andywuchuanlong,转载请说明出处对于图片的加载和处理基本上是Android应用软件项目中的常客,很多初学者在遇到图片加载这个问题是,总是喜欢自己写一个http请求,然后使用将流转换成bitmap,从而显示在项目的view中。其实对于图片的处理自己写固然是好,但是要想软件稳定的运行,里面还是需要很多细节东西需要处理的。在github原创 2015-06-14 19:01:37 · 2165 阅读 · 1 评论 -
android界面优化技巧
优化将从以下几个方面谈及如何使用 Adapter背景和图像更新请求视图和布局内存分配adapter: 最简单的方法, 最慢最不实用, 更新频率每秒传输帧数10左右 利用 convertView 回收视图, 效率提高 200%,更新频率每秒传输帧数30左右 使用 ViewHolder 模式, 效率提高 250%,更新频率每秒传输帧数40左右翻译 2015-06-23 09:21:21 · 3008 阅读 · 0 评论 -
AudioRecord判断是否有音频输入
Android党都应该玩过一个叫吹裙子的游戏,这个游戏就是原理就是通过监听用户吹出的气的力度来决定如何把MM的裙子弄飞起来的,所以关键在于如何判断用户吹气的力度问题。现在公司刚好有这个需求要评估就是需要一直监听用户的语音输入,当在两秒内没有语音输入时候就暂停某项事情,有语音输入的时候就要继续做某件事。其实这两件事情的本质原理是一样的,就是通过这AudioRecord来处理用户输入的原始音频数据,从而原创 2017-01-13 09:20:50 · 6877 阅读 · 3 评论