我想知道图片视图的位置,但它始终返回0
坐标或x
坐标y
。这是我的代码
ImageView credits = (ImageView) v.findViewById(R.id.credits);
int[] coor = {0,0};
credits.getLocationOnScreen(coor);
x = coor[0];
y = coor[1];
我已经使用了许多方法,例如getTop()
等,但仍然返回0。
任何人都知道为什么?我是android的新手,所以我真的很感激任何答案。
答案 0 :(得分:1)
你是否在onCreate方法中这样做?
如果是,现在检查onCreate()
中的getLocationOnScreen()为时尚早答案 1 :(得分:0)
您是否在onCreate()
方法中使用此代码?
快速搜索后,我找到THIS POST。
很快,它说onCreate()
使用getLocationOnScreen
为时尚早,当onWindowFocusChanged()
获得焦点时,您应该在方法Activity
旁边使用它。
答案 2 :(得分:0)
credits.post(new Runnable() {
@Override
public void run() {
int[] coor = {0,0};
credits.getLocationOnScreen(coor);
x = coor[0];
y = coor[1];
}
})
试试这个
答案 3 :(得分:0)
请试试这个
@Override
protected void onResume() {
super.onResume();
ImageView credits = (ImageView) v.findViewById(R.id.credits);
int[] coor = {0,0};
credits.getLocationOnScreen(coor);
x = coor[0];
y = coor[1];
}