我将以下3个包裹在RelativeLayout中(忽略visibility =“gone”)。
<ImageView
android:id="@+id/img1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_launcher"
android:layout_marginLeft="10dip"
android:visibility="gone"/>
<ImageView
android:id="@+id/img2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_launcher"
android:layout_centerVertical="true"
android:layout_alignParentRight="true"
android:visibility="gone"/>
<ImageView
android:id="@+id/img3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_launcher"
android:layout_marginLeft="60dip"
android:layout_alignParentBottom="true"
android:layout_marginBottom="100dip"
android:visibility="gone"/>
当我致电view.getLocationOnScreen(pos);
我为pos[0]
取回0,为pos[1]
取回219,即使它们都不在那些(x,y)坐标处。令人费解的是,每个ImageView都给我相同的值,特别是考虑到它们位于不同的位置。为什么会这样?
答案 0 :(得分:3)
在您的布局中,所有图像视图都处于“消失”状态。因此getLocationOnScreen()方法返回左上角位置。
如果您想获取视图的确切位置,请根据您的要求将其可见性更改为“隐身”或“可见”。