在对单击按钮的响应中,在ImageView(或其他视图)上调用getLocationOnScreen()会给出正确的值.
但是当从Activity :: onCreate()调用getLocationOnScreen()时,我只得到[0,0].我怎样才能解决这个问题?

是否onCreate()太早,无法进行所有计算?是否有更好的地方可以挂钩来开始动画?

现在检查onCreate()中的getLocationOnScreen()还为时过早.更好的地方是在视图级别(如果您使用自定义视图),位于onLayout().仅在此处,计算视图的大小和位置.如果您没有创建自定义视图,则可以在onWindowFocusChanged()的活动级别获取它(活动具有焦点).

转载自:http://www.voidcn.com/article/p-gishfvuy-btn.html

最近做项目时,发现在activity的 onCreate ()和onResume()方法里调用View.get Location InWindow()时,View.get Location InWindow() 返回 空值,觉得很奇怪,因为以前用过,没有发现这个问题,于是调查了一下源码,这里把调查结果做个记录。 首先,看看View.get Location InWindow()的实现, publi
onCreate 的时候去取,肯定是0,因为那个时候UI还没有渲染完毕。 只能在你后续的注册的事件 调用方法。 get Location On Screen ,计算该视图在全局坐标系 的x,y值,(注意这个值是要从屏幕顶端算起,也就是索包括了通知栏的高度)//获取在当前屏幕内的绝对坐标  get Location InWindow ,计算该视图在它所在的widnow的坐标x,y值,//获取在整个窗
今天在使用PopWindow.showAt Location (View parent, int gravity, int x, int y)时,最后2个参数的传值问题, 1.首先使用了View.get Location On Screen (new Location []) 或者 get Location InWindow(new Location []); 获取到的 location [0]及 location [1
概述View 是很多控件的父类,因此掌握了 View api 有助于掌握其它控件。点击查看 View 的官方 apigetLeft , getTop, getBottom, getRightView 在父 View 的相对位置,单位px 注意:以上方法在 OnCreate 方法 调用,都会 返回 0,这是因为View还未加载完毕;本文 点击计算之后才开始获取View的getLeft , getTop, g
当我们使用 Android Stdio的活动自动向导自动生成活动时,在活动 Android Stdio会自动为我们生成这样一段代码。 protected void onCreate (Bundle savedInstanceState) { super. onCreate (savedInstanceState); setContentView(R.layout.activity_main); 这段方法会在活动被系统创建后被调用。而这个活动的参数Bu
问题描述: 1、程序运行在平板上(有底座,如图1-1 底座有串口、USB口、电源口、以太网口),Activity正常显示界面。当平板放在底座时,网络是以太网(有线网络),当平板脱离底座时,网络是无线网,该过程有网络切换; 2、当把平板从底座拿起时,程序crash.
get Location On Screen 此方法主要为了获取控件在屏幕的位置的x,y坐标。使用的时候需要传入一个int [] 型的参数,int[0]位x轴 同样也可以视为矩形的Left边界 int[1]为y轴,同样可以视为矩形Top的边界。
* <p>Computes the coordinates of this view in its window. The argument * must be an array of two integers. After the method returns, the array