android中的一些方法理解 onFling,onScroll,onMeasure,onLayout,getLeft,getX,getRawX

前言

  第一次注册博客,并开始写博客,希望自己能够坚持写下去(呵呵,坚持乃成功字母)。以后把自己在android方面的理解,或者别的博友的优秀代码片段都写入自己的博客,一是方便自己日后回顾(温故而知新嘛),二是给需要的同学阅读了解。

正文

  下面开始讲下我对onFling,onScroll,onMeasure,onLayout,getLeft,getX,getRawX这几个方法的理解。

  onFling

 @Override
    public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY)
    {
        return false;
    }

  该方法是GestureDetector(手势)类中OnGestureListener接口的方法,指手势的滑动。e1:手势起点的移动事件,e2:当前手势点的移动事件,velocityX:每秒x轴方向移动的像素,velocityY:每秒y轴方向移动的像素。   说的更简单点就是,手势相当于一个向量(当然有可能手势是曲线),e1为向量的起点,e2为向量的终点,velocityX为向量水平方向的速度,velocityY为向量垂直方向的速度。

    

 onScroll

 @Override
    public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY)
    {
         return false;
    }

  该方法也是GestureDetector(手势)类中OnGestureListener接口的方法,指手势的拖动。e1:初次触控屏幕,e2:每次触发onScroll函数得到的事件,distance是上一次的e2 减去 当前e2得到的结果 //注意到顺序 distance  = lastEvent2 - event2 


  onMeasure
 @Override
    public void onMeasure(int widthMeasureSpec, int heightMeasureSpec)
    {
   }

  自定义控件需要重写的方法,该方法是测量控件在屏幕上的大小。http://blog.csdn.net/a396901990/article/details/36475213  这篇博客写的很好,可以参考看看
@Override
    protected void onLayout(boolean changed, int l, int t, int r, int b)
    {
        super.onLayout(changed, l, t, r, b);
    }
自定义控件需要重写的方法,该方法是绘制控件在屏幕上的位置。http://blog.csdn.net/a396901990/article/details/36475213 这篇博客写的很好,可以参考看看
 

  View.getLeft():子类左边到父类左边的距离,View.getRight()子类右边到父类左边的距离,View.getTop():子类上边到父类上边的距离,View.getButtom:子类下边到父类上边的距离。View.getWith()=View.getRight()-View.getLeft()或者     View.getButtom-View.getTop()。

  event.getX()指事件点击View,获取到View本身内部到左边的距离。event.getRawX()指事件点击View,获取到View的左边在整个屏幕中的距离。

总结

  以上几个方法是本人最近百度资料学习到的几个方法的浅理解。

前言1 @Override
2     public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY)
3     {
4         return false;
时间: 2024-10-11 03:44:59

android中的一些方法理解 onFling,onScroll,onMeasure,onLayout,getLeft,getX,getRawX的相关文章

[转]Android中pendingIntent的深入理解

转自;here pendingIntent字面意义:等待的,未决定的Intent.要得到一个pendingIntent对象,使用方法类的静态方法 getActivity(Context, int, Intent, int),getBroadcast(Context, int, Intent, int),getService(Context, int, Intent, int)  分别对应着Intent的3个行为,跳转到一个activity组件.打开一个广播组件和打开一个服务组件.参数有4个,比较

使用SourceInsight查看android中的native方法

SourceInsight真的是查看源代码的神器.只要知道了文件名,就可以快速定位到文件.最近在研究Android的touch系统,发现MotionEvent的getX()方法调用的是nativeGexAxis(),于是想看看该本地代码是如何实现的,但我不知道nativeGexAxis的实现代码在什么位置.Android中的类调用本地代码是通过类名相似或Android.mk文件定义.MotionEvent所在的pack为android.view,将点号换成下划线,我们可以推测MotionEven

android中Logcat的深层理解

Android的开发也可以归类为嵌入式设备的开发,即便不是嵌入式开发,依然要注意对内存和处理的使用.养成一个好的习惯对自己的帮助是很大的. 在Log的源码中可以看到这样的注释: The order in terms of verbosity, from least to most is * ERROR, WARN, INFO, DEBUG, VERBOSE. Verbose should never be compiled * into an application except during

Android中回调函数的理解---本人Android纯新手

本人大二,刚刚接触Android,也刚刚申请的cnblog博客,说一下对Android中回调函数的理解,Android中回调函数和C++.JAVA中的默认构造函数差不多,即运行到了一定的代码时自动调用的代码,而Android中的回调函数和C++.JAVA中的默认构造函数的区别在于:C++.JAVA中的默认构造函数在创建一个对象时自动调用,而Android中的回调函数的自动调用是在比如按了HOME键之后.

Android中观察者模式的升入理解

以前对Java中的观察者模式只知道一点皮毛,在接触Android的过程中,逐渐认识到观察者模式是如此的重要,android中许多地方都用到了观察者模式例如ContentResolver操作,来总结一下android中观察者模式的使用技巧 我所理解的观察者模式是这样子的:: 以一个例子来说明: 在service中有一个int类型的数据i,我在service中启动一个定时器去不断更新这个值,当我在activity中启动这个服务一次之后,每当i变化的时候我的activity要自动的同步更新这个值来显示

Android中常见IPC方法总结

欢迎转载,转载请注明出处http://blog.csdn.net/l664675249/article/details/50654926 IPC (Interprocess communication)跨进程通信,是指在两个进程之间交换数据的过程.多进程通信一般分为两种情况.第一种,一个应用因为自身的需要采用多进程实现,比如某些模块由于特殊原因需要运行在单独的进程中.第二种情况,当前应用需要获得其它应用的数据,由于是两个应用,所以必须采用跨进程的方式.下面就对常用的IPC方法做一个总结. 使用B

Android中9-Patch图片之理解

在android中,不仅可以将扩展名为.png,.jpg,.gif的普通图片作为图片资源,而且可以将扩展名为.9.png的9-Patch图片作为图片资源.扩展名为.png,.jpg,.gif的普通图片较为常见,他们通常是通过绘图软件完成的.而9-Patch图片是通过使用Android SDK中的提供的工具Draw 9-patch生成的.那为什么要使用9-Patch这种图片呢?原因是:与普通图片不同,使用9-Patch图片作为屏幕或按钮的背景时,当屏幕的尺寸或按钮的大小改变时,图片可自动缩放,达到

getDrawingCache()和Android中的截图方法简介

getDrawingCache()方法截取部分屏幕: view.setDrawingCacheEnabled(true);//设置能否缓存图片信息(drawing cache) view.buildDrawingCache();//如果能够缓存图片,则创建图片缓存 Bitmap bitmap = view.getDrawingCache();//如果图片已经缓存,返回一个bitmap view.destroyDrawingCache();//释放缓存占用的资源 Tips: 如果在一个界面中,重复

Android中getResources().getConfiguration()方法的作用

Android中Configuration类专门用于描述手机设备上的配置信息,这些配置信息既包括用户特定的配置项,也包括系统的动态设备配置. Configuration对象获得: 1 Configuration configuration = getResources().getConfiguration(); Configuration对象提供的基本属性可以获取系统的配置信息: 1 public int densityDpi; //得到设备的密度 2 public float fontScal