在Android中,我们有时候可能会将子View的坐标转换为父View中的坐标.感觉很有用,分享给大家. 在Launcher中有这么一段代码可以完成这项工作.  public float getDescendantCoordRelativeToSelf(View descendant, int[] coord) {         float scale = 1.0f;         float[] pt = {coord[0], coord[1]};                   //…
// 将rect由rect所在视图转换到目标视图view中,返回在目标视图view中的rect - (CGRect)convertRect:(CGRect)rect toView:(UIView *)view; // 将rect从view中转换到当前视图中,返回在当前视图中的rect - (CGRect)convertRect:(CGRect)rect fromView:(UIView *)view; 例子: //转换的相对位置weakCell 相对于父控件的位置坐标 CGRect weakCe…
如果想知道一个view相对于屏幕或者另外一个view 的坐标,那么可以通过如下的方法得到: UIWindow * window=[[[UIApplication sharedApplication] delegate] window]; CGRect rect=[view convertRect: view.bounds toView:window];…
闲聊 View,对我们来说在熟悉不过了,从接触 Android 开始,我们就一直在接触 View,界面当中到处都是 View,比如我们经常用到的 TextView,Button,LinearLayout 等等,但是我们真的了解 View 吗?尤其是 View 的坐标. mLeft, mRight, mY, mX, mTranslationY, mScoollY 相对于屏幕的坐标等等这些概念你真的清楚了吗?如果真的清楚了,那你没有必要读这篇博客,如果你还是有一些模糊,建议花上几分钟的时间读一下.…
/** * 模拟点击某个指定坐标作用在View上 * @param view * @param x * @param y */ public void clickView(View view,float x,float y) { long downTime = SystemClock.uptimeMillis(); final MotionEvent downEvent = MotionEvent.obtain( downTime, downTime, MotionEvent.ACTION_DO…
Android绘制View的过程研究——计算View的大小 转自:http://liujianqiao398.blog.163.com/blog/static/1818272572012102321850385/ 2012-11-23 14:24:59|  分类: Android开发 |  标签:android  view  android开发  |举报|字号 订阅     下载LOFTER客户端     一.android绘制view的过程简单描述           简单描述可以解释为:计算…
Android事件传递流程在网上可以找到很多资料,FrameWork层输入事件和消费事件,可以参考: Touch事件派发过程详解 这篇blog阐述了底层是如何处理屏幕输,并往上传递的.Touch事件传递到Activity的DecorView时,往下走就是ViewGroup和子View之间的事件传递,可以参考郭神的这两篇博客 Android事件分发机制完全解析,带你从源码的角度彻底理解(上) Android事件分发机制完全解析,带你从源码的角度彻底理解(下) 郭神的两篇博客清楚明白地说明了View…
View的draw过程相比之于measrue过程,也是比较简单的.并且在我们自定义View时,也经常需要重写onDraw方法,来绘制出我们要实现的效果. 如之前的文章所说,绘制的流程也是起始于ViewRootImpl#perfomTraversals,ViewRootImpl#performDraw() 方法调用了ViewRootImpl#draw(boolean fullRedrawNeeded) ,其中这个boolean类型的形参,作用是判断是否需要重新绘制全部视图.最后调用的DecorVi…
由于工作需求,需要用到这种处理方法所以我就写了这个 废话不多说先看效果图 接下来就看代码吧 DragDropManager import android.app.Activity; import android.content.Context; import android.graphics.Bitmap; import android.graphics.PixelFormat; import android.util.Log; import android.view.Gravity; impo…
看了无数资料,总结一下自定义View 先明白一个自定义View的三大流程 onMeasure() 测量,决定View的大小 onLayout() 布局,决定View在ViewGroup中的位置 onDraw() 绘制,画出这个View的内容 这三个方法都存在于View类中,我们自定义View需要针对这三个方法做出修改来达到我们需要的目标或功能 先来一个最基本的例子,我们单纯的画一个圆,我们只需修改onDraw()方法即可 MyCustomVew.java public class MyCusto…