1
マイレイアウト機能しません。getTop()/ RelativeLayoutでのXMLファイルのビューのためのgetLeftは
<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 されているが、それは正しくAが描かれているので、それをすることはできませんフィールドには 40個のボタンがありますので、xとyの位置がすべて異なる必要があります。
my xmlファイルのボタンのx/y位置を調べるにはどうすればよいですか?
最初のレイアウトパスはいつ終了しますか? getLeft/getTopをイベントonFinishInflate()、onResume()、onSizeChanged()、onLayout()に移動しましたが、常に0になります。 – KWT
@ user601721 View.getViewTreeObserver()およびViewTreeObserver.OnGlobalLayoutListenerインターフェイスを見てください。これは、レイアウトが通過した後に呼び出されるコールバックです。 –