陈再峰

我要变成超级英雄,保护城堡和家人!

VelocityTracker追踪手指滑动的速度

手指在View里面滑动的速度

如何在View中追踪手指的滑动速度呢? 关键类:VelocityTracker 思路:在VIew的onTouchEvent()中,当MotionEvent.ACTION_DOWN时初始化VelocityTracker, 在MotionEvent.ACTION_MOVE进行追踪,当滑动停止之后(MotionEvent.ACTION_UP or MotionEvent.ACTION_CAN...

GestureDetector

安卓的手势判断

我记得有个在工作中有个需求是关于判断双击。当时我一个同事给我一个方案:用计时的方法去做,在view的onTouchEvent中。当ACTION_DOWN时记录当时的时间。然后第二次ACTION_DOWN时再记录一次,通过这两次点击的时间间隔来判断是不是双击。 当时我就采纳了这个建议,效果也做出来了,还有点小高兴。 某天下午,偶然看到GestureDetector这个东西然后就大概的了解了一下...

获取系统顶部状态栏(Status-Bar)与底部导航栏(Navigation-Bar)的高度

Android一些设备都有上下两条bar,我们可以获取这些bar的信息。 原文地址:http://www.cnblogs.com/rossoneri/p/4142962.html 获取顶部status bar 高度 private int getStatusBarHeight() { Resources resources = mActivity.getResources(...

怎样获取到View的真正宽高?

获取View的宽高的几种方式

这真是一个头疼的问题,有时候获得的宽高就是0. 接下来我们来试试这几个方法。 1.onWindowFocusChanged onWindowFocusChanged: View已经初始化完毕了,宽高已经准备好了。这个时候去获取宽高是没有问题的。需要注意的是,onWindowFocusChange会被调用多次。 当Activity的窗口得到焦点和失去焦点时均会被调用一次,具体来说,当Acti...

Android自定义属性的理解

自定义控件必须要了解的知识

一个Android开发者总会遇到自定义控件的问题。要学会自定义控件的开发,最好的方法是将要用到的知识点一个个掌握。当掌握这些分散的知识点就意味着写一个自定义控件会变得容易。本篇文章是对自定义属性的探究。 a、如何自定义属性 在res/values中的attrs.xml中自定义属性。 <declare-styleable name="TestView"> <a...

Activity横竖屏切换的那些事

横竖屏切换的生命周期变化

Activity的生命周期,这是每个Android开发者必须了解的知识。Activity是四大组件之一,而且是使用最频繁的组件。横竖屏切换是每个Android开发者都会遇到的问题。那么横竖屏切换后Activity到底发生了什么呢? ###1、生命周期的变化 建一个Activity,重写所有的生命周期方法,然后在这些方法中添加Log。 public class ActivityA exte...

intent-filter的action,category,data匹配规则

action,category,data匹配规则; Activity的隐式调用

我们知道有两种方式来启动Activity,显示调用和隐式调用。当使用隐式调用时,又会涉及到IntentFilter的匹配规则。我确信大多数开发者很少关注隐式调用,因为平时开发中用到大多数是显示调用。例如:用Intent直接打开一个Activity,或者用Intent通过包名等其他信息打开另外一个应用等。而隐式调用则使用的比较少,当然也不是完全不使用。例如:当我们需要打开浏览器访问某个链接时,...