我一直在尝试从对话框中的按钮获取位置,以便我可以使用它在活动中将按钮放置在该按钮下方。
我已经尝试了一些方法,但是似乎都没有用
int loc1[] = new int[2];
button.getLocationInWindow(loc1);
int loc2[] = new int[2];
button.getLocationOnScreen(loc2);
我也尝试过
button.getX();
button.getY();
该按钮从未放置在对话框中的按钮下方。
(我应该注意,我只提到了获得职位的方法)
有谁能够帮助我 ?
谢谢 !
最佳答案
按钮放置后,您需要等待回调。您使用的代码未返回正确的值,因为该值是在放置Button之前返回的。因此,在具有高度/宽度的布局中将Button添加为wrap_content并使用以下代码:
layout.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
public void onGlobalLayout() {
getViewTreeObserver().removeGlobalOnLayoutListener(this);
int[] locations = new int[2];
layout.getLocationOnScreen(locations);
int x = locations[0];
int y = locations[1];
}
});
关于java - 从对话框到 Activity 的按钮位置,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29307283/