第 1 / 6 页123456


已阅读:8,315 次
Android使用WindowManager实现PopupWindow浮动层窗口
ian | Android | 2012/07/25


有些时候我们的APP需要在当前屏幕上显示一些提示信息,当然大多数情况下可以通过比如对话框、Activity来完成,但是还是会有一些特殊的场景,比如不能使当前Activity Pause、要始终置于屏幕最前面等,这个时候我们可能就需要使用WindowManager来添加一个浮动层View。浮动层有很多现成的使用场景,比如鼠标、Toast和Dialog都是通过这样的方式实现的,因此你可以在任何时刻弹出一个Toast而不会对当前窗口产生任何影响,更......
Read more

已阅读:11,600 次
Android自定义Animation动画
ian | Android | 2012/06/06


产品需求中有一个动画效果:TextureView按照曲线路径进行移动,并且同时做Scale和Alpha变化。当然,同时 进行多个动画只需要使用AnimationSet就行了,但是对于"曲线"这样的移动效果,只能采用多个TranslateAnimation来顺序进行以模拟曲线的效果了。这样的实现方式没有问题,但是仔细观察实际效果却发现,在连续两个动画进行过程中,第一个动画结束到第二个动画开始,TextureView会出现瞬间的停止,然后才会进行第二个动......
Read more

已阅读:28,876 次
Android视频渲染: YUV转RGB
ian | Android,其他 | 2012/04/25


Android SDK为Camera预览提供了一个Demo,这个Demo的大致流程是初始化一个Camera和一个SurfaceView,SurfaceView被创建之后可以获取到一个SurfaceHolder的实例,将这个SurfaceHolder传递给Camera,这样Camera就会自动的将捕获到的视频数据渲染到SurfaceView上面,这也就是Camera预览的效果。当然更多的时候我们需要获取到Camera的实时视频数据来自己进行预处理并渲染,Camera也提供了这个接口,用法如下: mCamera.setPreviewCallback(new PreviewCallback......
Read more

已阅读:21,694 次
Android手势:单指拖动、双指缩放图片
ian | Android | 2012/04/23


手势其实是一个比较复杂的东西,首先是因为处理的时机。Android中触摸屏的事件其实只有ACTION_DOWN、ACTION_MOVE和ACTION_UP这三种,当然我们实现手势的逻辑时,一般会用到GestureDetector,它有许多封装好的事件回调接口,比如onFling、onLongPress、onScroll等,其实这些事件只是对上面那三个基本时间的包装而已:即三个基本事件按一定的序列出现,则会触发响应的GestureDetector中的事件,比如ACTION_DOWN 加上三个ACTION_MOVE再加上ACTIO......
Read more

已阅读:13,408 次
图像滤镜处理算法:柔化、光照、放大镜、哈哈镜
ian | Android,其他 | 2012/04/19


本文的最后提供了完整的Android工程下载,图像处理部分主要采用JNI,算法使用C实现,因为在开发过程中发现使用Java来进行数值处理时,速度绝对是不堪忍受的。现在代码中依然保留了一些Java的滤镜算法接口,即滤镜名称如果分为形如"浮雕"和"浮雕J"的,则前者使用Java实现,后者是C实现,各位可以比较一下两种实现的性能,也能对JNI的高性能有一个直观的认识。 程序提供了一些简单的滤镜效果,运行效果如下: ......
Read more

已阅读:16,930 次
图像滤镜处理算法:灰度、黑白、底片、浮雕
ian | Android,其他 | 2012/04/16


最近手机端图片类的应用很火,比如刚被Facebook收购的Instagram,还有以前ipad上很有意思的一款应用Photo Booth。图片类应用,免不了对图片的处理,常见的滤镜效果,如灰度、底片、浮雕、柔化、光照等效果,更有意思的有各种如哈哈镜一般的变型特效,当然,也有其他的人物面部美化、图片合成等高级功能,这些功能组合在一起便能够提供十分新奇的体验。 下面介绍几种简单的图片处理算法,通过这几种算法,也......
Read more

已阅读:6,706 次
Android图片处理:颜色矩阵和坐标变换矩阵
ian | Android,其他 | 2012/04/13


UI开发过程中,我们经常需要对图片进行处理,常见的如贴图,复杂一些的还有位置变换、旋转、滤镜特效等,下面简单介绍一下关于图片处理的一些基本知识和原理。 1 基本概念 对于图片的处理,最常使用到的数据结构是Bitmap,它包含了一张图片所有的数据,这些数据数据包括那些内容呢?简单说来就是由点阵和颜色值组成的,所谓点阵就是一个在概念上是Width * Height的矩阵,每一个元素对应着图片的一个像素......
Read more

已阅读:8,473 次
Android如何使用NDK进行JNI开发
ian | Android | 2012/04/10


所谓JNI就是Java Native Interface的缩写,即JAVA本地调用,它允许Java代码和其他语言写的代码进行交互,这里主要指的是C/C++这样的Native Code。 虽然Android平台下提供的Java的SDK一般情况下能满足开发者的需求,但是由于Java语言的效率问题,在我们漫长的开发过程中,总是会遇到一两个性能瓶颈的,这个时候我们就需要考虑使用NDK了。NDK是Android提供的一套工具,帮助我们编写、编译C代码并在Java中调用。可以这么说,不懂......
Read more

已阅读:11,116 次
Android NDK开发环境搭建
ian | Android | 2012/04/07


Android应用运行在JAVA虚拟机上,因此开发环境一般使用JAVA,但是对于有些场景,比如访问底层设备、驱动开发、或者对性能要求很敏感时,我们就必须使用NDK了。NDK开发语言是C,通过NDK提供的编译工具,将我们的Native Code编译成so动态链接库,这样Java就可以通过加载so的方式来调用Native Code,性能的提升可不是一星半点。 下面简单介绍一下Windows下怎么配置NDK开发环境。这里假设大家已经安装好了Android的开发环境,......
Read more

已阅读:5,613 次
Android 联系人和消息数据库常用操作
ian | Android | 2012/04/04


本文汇总整理Android系统中,一些常用的联系人和短信数据库常用操作。 1 查询所有会话记录 public static final Map loadSession(ContextWrapper cw) { Map mapSessionInfo = new HashMap(); if(cw == null) return mapSessionInfo; String projection = " b.thread_id,b.address from sms b group by b.address--"; Cursor cursor1 = cw.getContentResolver().query( Uri.parse("content://sms/"), new String[] { projection }, null, nu......
Read more
第 1 / 6 页123456