RelativeLayout中XML文件中的视图的getTop()/ getLeft不起作用

时间:2012-01-20 19:17:53

标签: android

我的布局:

<RelativeLayout...>
<Button  
    android:id="@+id/button_1"
    ...
     />
<Button  
    android:id="@+id/button_2"
    android:layout_toRightOf="@+id/button_1"  
    ...
    />
...
</RelativeLayout>

我想保存所有按钮的x和y位置。

我试过了:

Button b[] = new Button[40];
int parX [] = new int[40];
int parY [] = new int[40];
String temp;
int resID;

for (int i=0;i<=39;i++) 
{
 temp = "id/button_" + String.valueOf(i+1);
 resID = getResources().getIdentifier("com.myapp.test:"+temp, null, null);
 b[i] = (Button) findViewById(resID);
 parX[i] = b[i].getTop();
 parY[i] = b[i].getLeft();
}

但是b [i] .getTop()和b [i] .getLeft()总是0。 但它不能是因为它正确绘制了一个领域 40个按钮,因此它们必须具有所有不同的x和y位置。

如何找出按钮的x / y位置 我的xml文件?

1 个答案:

答案 0 :(得分:3)

getLeft / getTop仅在第一次布局传递后返回正确的值。