- 博客(68)
- 资源 (37)
- 收藏
- 关注
原创 Android滑动菜单框架完全解析,教你如何一分钟实现滑动菜单特效
首先还是讲一下实现原理。说是滑动菜单的框架,其实说白了也很简单,就是我们自定义一个布局,在这个自定义布局中实现好滑动菜单的功能,然后只要在Activity的布局文件里面引入我们自定义的布局,这个Activity就拥有了滑动菜单的功能了。原理讲完了,是不是很简单?下面我们来动手实现吧。在Eclipse中新建一个Android项目,项目名就叫做RenRenSlidingLayout。新...
2013-08-31 14:40:09 76
原创 Android滑动菜单特效实现,仿人人客户端侧滑效果,史上最简单的侧滑实现
人人客户端有一个特效还是挺吸引人的,在主界面手指向右滑动,就可以将菜单展示出来,而主界面会被隐藏大部分,但是仍有左侧的一小部分同菜单一起展示。据说人人客户端的这个特效是从facebook客户端模仿来的,至于facebook是不是又从其它地方模仿来的就不得而知了。好,今天我们就一起来实现这个效果,总之我第一次看到这个特效是在人人客户端看到的,我也就主观性地认为我是在模仿人人客户端的特效了。...
2013-08-31 14:31:56 82
原创 Android事件分发机制完全解析,带你从源码的角度彻底理解(下)
从源码的角度分析ViewGruop的事件分发。首先我们来探讨一下,什么是ViewGroup?它和普通的View有什么区别?顾名思义,ViewGroup就是一组View的集合,它包含很多的子View和子VewGroup,是Android中所有布局的父类或间接父类,像LinearLayout、RelativeLayout等都是继承自ViewGroup的。但ViewGroup实际上也是一个V...
2013-08-31 14:18:56 60
原创 Android事件分发机制完全解析,带你从源码的角度彻底理解(下)
包含很多的子View和子VewGroup,是Android中所有布局的父类或间接父类,像LinearLayout、RelativeLayout等都是继承自ViewGroup的。但ViewGroup实际上也是一个View,只不过比起View,它多了可以包含子View和定义布局参数的功能。ViewGroup继承结构示意图如下所示:[img]http://dl2.iteye.com/upload/attachment/0088/8134/93f3a984-bd0a-3163-8d7b-4fd536b510bf
2013-08-31 14:18:56 39
原创 Android事件分发机制完全解析,带你从源码的角度彻底理解(下)
包含很多的子View和子VewGroup,是Android中所有布局的父类或间接父类,像LinearLayout、RelativeLayout等都是继承自ViewGroup的。但ViewGroup实际上也是一个View,只不过比起View,它多了可以包含子View和定义布局参数的功能。ViewGroup继承结构示意图如下所示:[img]http://dl2.iteye.com/upload/attachment/0088/8134/93f3a984-bd0a-3163-8d7b-4fd536b510bf
2013-08-31 14:18:56 54
原创 Android事件分发机制完全解析,带你从源码的角度彻底理解(上)
onTouch和onTouchEvent有什么区别,又该如何使用?为什么给ListView引入了一个滑动菜单的功能,ListView就不能滚动了?为什么图片轮播器里的图片使用Button而不用ImageView?等等……如果想要彻底搞明白这些问题,掌握Android事件分发机制是必不可少的,而Android事件分发机制绝对不是三言两语就能说得清的。阅读源码讲究由浅入深,循序渐进,因此我们也...
2013-08-31 13:48:49 205
原创 Android事件分发机制完全解析,带你从源码的角度彻底理解(上)
不用ImageView?等等……如果想要彻底搞明白这些问题,掌握Android事件分发机制是必不可少的,而Android事件分发机制绝对不是三言两语就能说得清的。阅读源码讲究由浅入深,循序渐进,因此我们也从简单的开始,本篇先带大家探究View的事件分发,下篇再去探究难度更高的ViewGroup的事件分发。那我们现在就开始吧!比如说你当前有一个非常简单的项目,只有一个Activity,并且Activity中只有一个按钮。你可能已经知道,如果想要给这个按钮注册一个点击事件,只需要调用:[code
2013-08-31 13:48:49 52
原创 Android事件分发机制完全解析,带你从源码的角度彻底理解(上)
不用ImageView?等等……如果想要彻底搞明白这些问题,掌握Android事件分发机制是必不可少的,而Android事件分发机制绝对不是三言两语就能说得清的。阅读源码讲究由浅入深,循序渐进,因此我们也从简单的开始,本篇先带大家探究View的事件分发,下篇再去探究难度更高的ViewGroup的事件分发。那我们现在就开始吧!比如说你当前有一个非常简单的项目,只有一个Activity,并且Activity中只有一个按钮。你可能已经知道,如果想要给这个按钮注册一个点击事件,只需要调用:[code
2013-08-31 13:48:49 42
原创 Android双向滑动菜单完全解析,教你如何一分钟实现双向滑动特效
在一个Activity的布局中需要有三部分,一个是左侧菜单的布局,一个是右侧菜单的布局,一个是内容布局。左侧菜单居屏幕左边缘对齐,右侧菜单居屏幕右边缘对齐,然后内容布局占满整个屏幕,并压在了左侧菜单和右侧菜单的上面。当用户手指向右滑动时,将右侧菜单隐藏,左侧菜单显示,然后通过偏移内容布局的位置,就可以让左侧菜单展现出来。同样的道理,当用户手指向左滑动时,将左侧菜单隐藏,右侧菜单显示,也是通过偏移内...
2013-08-31 12:02:32 61
原创 Android双向滑动菜单完全解析,教你如何一分钟实现双向滑动特效
右边缘对齐,然后内容布局占满整个屏幕,并压在了左侧菜单和右侧菜单的上面。当用户手指向右滑动时,将右侧菜单隐藏,左侧菜单显示,然后通过偏移内容布局的位置,就可以让左侧菜单展现出来。同样的道理,当用户手指向左滑动时,将左侧菜单隐藏,右侧菜单显示,也是通过偏移内容布局的位置,就可以让右侧菜单展现出来。原理示意图所下所示:[img]http://dl2.iteye.com/upload/attachment/0088/8090/40610414-d2b0-38f7-a08e-39f44aa53405.jpg[/
2013-08-31 12:02:32 41
原创 Android双向滑动菜单完全解析,教你如何一分钟实现双向滑动特效
右边缘对齐,然后内容布局占满整个屏幕,并压在了左侧菜单和右侧菜单的上面。当用户手指向右滑动时,将右侧菜单隐藏,左侧菜单显示,然后通过偏移内容布局的位置,就可以让左侧菜单展现出来。同样的道理,当用户手指向左滑动时,将左侧菜单隐藏,右侧菜单显示,也是通过偏移内容布局的位置,就可以让右侧菜单展现出来。原理示意图所下所示:[img]http://dl2.iteye.com/upload/attachment/0088/8090/40610414-d2b0-38f7-a08e-39f44aa53405.jpg[/
2013-08-31 12:02:32 48
原创 android 自定义控件属性
在res/values下新建attrs.xml文件:[code="xml"] [/code]界面布局文:[code="xml"] [/code]java代码:[code="java"]public MyViewGroup(Context context, AttributeSet att...
2013-08-30 16:10:56 57
原创 android 自定义控件属性
context, AttributeSet attrs) { super(context, attrs); TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.MyViewGroup); Log.i("********","自定义属性iposition(string):"+typedArray.getString(R.styleable.MyViewGroup
2013-08-30 16:10:56 37
原创 android 自定义控件属性
context, AttributeSet attrs) { super(context, attrs); TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.MyViewGroup); Log.i("********","自定义属性iposition(string):"+typedArray.getString(R.styleable.MyViewGroup
2013-08-30 16:10:56 41
原创 在XML向ViewGroup中添加组件
这节我们研究的是在XML中向ViewGroup中添加组件。关于这个的研究可以破费周折,为什么呢??因为向其中添加的组件他都不显示啊。郁闷了好长一段时间,不多最终还是突破了,研究出来了,呵呵,路漫漫其修远兮,吾将上下而求索。继续我们的探索之旅。 一、简述 在XML中向ViewGroup中添加组件,这个问题貌似很简单,但是只有在简单中才会发现不简单,其实好多复杂的东西都是由简单的东西一...
2013-08-28 16:01:41 58
原创 Android旋转动画
第一种:代码继承Animation实现[code="java"]package com.iaiai.an;import android.graphics.Matrix;import android.view.animation.Animation;import android.view.animation.LinearInterpolator;import andr...
2013-08-27 10:41:33 60
原创 Android旋转动画
ator;import android.view.animation.Transformation;/** * * * Title: WindowAnimation.java * E-Mail: 176291935@qq.com * QQ: 176291935 * Http: iaiai.iteye.com * Create time: 2013-8-27 上午10:22:22 * * * @author 丸子 * @version 0.0.1
2013-08-27 10:41:33 60
原创 Android旋转动画
ator;import android.view.animation.Transformation;/** * * * Title: WindowAnimation.java * E-Mail: 176291935@qq.com * QQ: 176291935 * Http: iaiai.iteye.com * Create time: 2013-8-27 上午10:22:22 * * * @author 丸子 * @version 0.0.1
2013-08-27 10:41:33 48
原创 android 自定义ImageView实现图片手势滑动,多点触摸放大缩小效果
实现原理:自定义ImageView对此控件进行相应的layout(动态布局).这里你要明白几个方法执行的流程: 首先ImageView是继承自View的子类.onLayout方法:是一个回调方法.该方法会在在View中的layout方法中执行,在执行layout方法前面会首先执行setFrame方法.setFrame方法:判断我们的View是否发生变化,如果发生变化,那么将最新的l...
2013-08-27 10:03:44 153
原创 android 自定义ImageView实现图片手势滑动,多点触摸放大缩小效果
个回调方法.该方法会在在View中的layout方法中执行,在执行layout方法前面会首先执行setFrame方法.setFrame方法:判断我们的View是否发生变化,如果发生变化,那么将最新的l,t,r,b传递给View,然后刷新进行动态更新UI. 并且返回ture.没有变化返回false.在介绍自定义控件之前,我们先要明白我们要获取哪些数据:屏幕的宽度,屏幕的高度.(这里其实你也可以对LinerLayout进行ViewTreeObserver监听获取其宽高度.),原始图片本身的宽度及高度.以
2013-08-27 10:03:44 66
原创 android 自定义ImageView实现图片手势滑动,多点触摸放大缩小效果
个回调方法.该方法会在在View中的layout方法中执行,在执行layout方法前面会首先执行setFrame方法.setFrame方法:判断我们的View是否发生变化,如果发生变化,那么将最新的l,t,r,b传递给View,然后刷新进行动态更新UI. 并且返回ture.没有变化返回false.在介绍自定义控件之前,我们先要明白我们要获取哪些数据:屏幕的宽度,屏幕的高度.(这里其实你也可以对LinerLayout进行ViewTreeObserver监听获取其宽高度.),原始图片本身的宽度及高度.以
2013-08-27 10:03:44 94
原创 android ndk extern "C"
C++ 的代码里面:extern "C"{ 。。。}这是因为生成的二进制文件中,C和C++的符号表不相同造成的。Jni是按照C的生成规则去找函数的, 所以要加上extern C使编译器把函数按照C的规则编译 这样才能被JAVA调用...
2013-08-22 16:56:18 324
原创 ndk-build 出现undefined reference to `__android_log_write'错误
__android_log_write(ANDROID_LOG_INFO,"MyNdkDemo", "class Point not found");.c文件中存在此句代码,当使用ndk-build是就会出现标题错误。解决: mk文件中缺少了LOCAL_LDLIBS参数。在Android.mk文件里,可以指定一个LOCAL_LDLIBS的参数。如果不指定,那么编译的时候...
2013-08-22 16:50:00 175
原创 ndk-build 出现undefined reference to `__android_log_write'错误
AL_LDLIBS参数。在Android.mk文件里,可以指定一个LOCAL_LDLIBS的参数。如果不指定,那么编译的时候,只会引入默认的几个重要的lib,比如libc之类的。如果要用log,那就要把 liblog给引进来。网上很多的写法是 LOCAL_LDLIBS := -llog ,这在build static lib的时候没什么问题。如果是build shared lib,就会报个 cannot find -llog的错误。意思是找不到liblog.so这个库文件。因此需要改成 LO
2013-08-22 16:50:00 345
原创 ndk-build 出现undefined reference to `__android_log_write'错误
AL_LDLIBS参数。在Android.mk文件里,可以指定一个LOCAL_LDLIBS的参数。如果不指定,那么编译的时候,只会引入默认的几个重要的lib,比如libc之类的。如果要用log,那就要把 liblog给引进来。网上很多的写法是 LOCAL_LDLIBS := -llog ,这在build static lib的时候没什么问题。如果是build shared lib,就会报个 cannot find -llog的错误。意思是找不到liblog.so这个库文件。因此需要改成 LO
2013-08-22 16:50:00 96
原创 无需cygwin,使用NDK进行开发
NDK从7开始自带编译器,在windows上无需配置cygwin的环境。在eclips中配置NDK路径在eclipse中点击菜单栏window-Perferences,配置NDK的路径。[img]http://dl2.iteye.com/upload/attachment/0088/5207/60d81edf-c57e-3fc1-8ed4-5cedfb7ace91.jpg[/i...
2013-08-22 14:09:48 73
原创 无需cygwin,使用NDK进行开发
ye.com/upload/attachment/0088/5207/60d81edf-c57e-3fc1-8ed4-5cedfb7ace91.jpg[/img]在工程中添加native lib新建一个空白的Android工程,在根目录上点击右键Adnroid Tools - Add Native Support...[img]http://dl2.iteye.com/upload/attachment/0088/5209/0114c30b-cc5d-3be3-a5a0-dfe069b68d
2013-08-22 14:09:48 89
原创 无需cygwin,使用NDK进行开发
ye.com/upload/attachment/0088/5207/60d81edf-c57e-3fc1-8ed4-5cedfb7ace91.jpg[/img]在工程中添加native lib新建一个空白的Android工程,在根目录上点击右键Adnroid Tools - Add Native Support...[img]http://dl2.iteye.com/upload/attachment/0088/5209/0114c30b-cc5d-3be3-a5a0-dfe069b68d
2013-08-22 14:09:48 45
原创 ANDROID 完美退出 APP 方法
大家都知道 Android 的 Activity 是存着历史栈的,比如从 A -> B -> C,C 完成 finish 后回到 B,把所有的Activity 都 finish了,程序就自然退出了。 当然在 finish 的同时也需要是否自己程序的其他资源。所以需要想个办法把 Activity 给存起来。然后在程序退出的地方调用它们的 finish()方法。 使用全局变量。对了,第一个想到...
2013-08-22 13:52:55 132
原创 ANDROID 完美退出 APP 方法
同时也需要是否自己程序的其他资源。所以需要想个办法把 Activity 给存起来。然后在程序退出的地方调用它们的 finish()方法。 使用全局变量。对了,第一个想到的就是继承 Application,代码入下:[code="java"]public class AgentApplication extends Application { private List activities = new ArrayList();
2013-08-22 13:52:55 68
原创 ANDROID 完美退出 APP 方法
同时也需要是否自己程序的其他资源。所以需要想个办法把 Activity 给存起来。然后在程序退出的地方调用它们的 finish()方法。 使用全局变量。对了,第一个想到的就是继承 Application,代码入下:[code="java"]public class AgentApplication extends Application { private List activities = new ArrayList();
2013-08-22 13:52:55 50
原创 Android AIDL使用详解
1.什么是aidl:aidl是 Android Interface definition language的缩写,一看就明白,它是一种android内部进程通信接口的描述语言,通过它我们可以定义进程间的通信接口icp:interprocess communication :内部进程通信2.既然aidl可以定义并实现进程通信,那么我们怎么使用它呢?文档/android-sdk/doc...
2013-08-21 15:52:02 64
apktool_2.0.3.jar
2016-03-16
Android平台上的注入代码LibInject
2014-12-20
Android实现删除apk弹出网页
2014-12-20
完美!SlidingMenu jar包版demo!不用导包!兼容2.2
2014-06-04
JAVA 通信框架MINA(包含心跳)
2014-02-11
Android 封装了GPS定位与百度移动地图API定位
2012-12-21
CPU检测工具(CPUZ)
2010-07-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人