如果你的Android设备支持鼠标,你将会发现默认的光标为灰色半透明的三角形,系统的默认主题是黑色的,造成很难发现鼠标的位置。所以本文介绍怎样定制Android系统的鼠标光标。
Android系统对鼠标的支持并不好,因为Android系统原本是为手机量身定做的,手机系统基本上是不需要鼠标的。但是随着Android系统移植到其他领域,对鼠标的支持也越来越有意义。现在Android已经支持鼠标了,但是有一个完善的过程。本文后面会介绍到Android对鼠标支持的一些不足。
原来我以为Android系统的光标会和Windows差不多,是一个图片资源呢。这样的话,我只需要替换掉这个图片就可以搞定了。找了好久都没有找到图片资源的位置,最终反过来思考,Android系统鼠标光标非常简单,手动绘制也不是很难的事情。会不会是代码中绘制的呢?
沿着这个思路,终于在WindowManagerService.java中,找到了相关的代码:
frameworks/base/services/java/com/android/server/WindowManagerService.java
相关的代码位于performLayoutAndPlaceSurfacesLockedInner方法中:
mMouseSurface =
new Surface(mFxSession,
0,-1,mMw,mMh,
PixelFormat.TRANSPARENT,
Surface.FX_SURFACE_NORMAL);
mCanvas = mMouseSurface.lockCanvas(null);
mCanvas.drawColor(0x0);
mPath.m