0

我正在使用以下 xml 进行布局。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:paddingLeft="10dip"
    android:paddingRight="10dip"
    android:paddingBottom="20dip"
    tools:context=".ZoneSelectionActivity" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:paddingTop="10dip"
        android:textSize="35sp"
        android:paddingBottom="10dip"
        android:text="@string/affected_zone" />

    <FrameLayout
        android:id="@+id/imageHolder"
        android:layout_gravity="center"
        android:background="#0B3861"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >

        <ImageView
                android:id="@+id/subsegment"
                android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
                android:contentDescription="subsegment"
                android:src="@drawable/sub_segment01" />

    </FrameLayout>  

</LinearLayout>

这是我的屏幕截图。我想要屏幕中标记点的坐标(图像左上角的x,y)。如何确定?

截屏

4

4 回答 4

1
int coords[] = {0,0};
yourImageView.getLocationOnScreen(coords);
int x = coords[0];
int y = coords[1];
于 2012-10-15T11:04:22.243 回答
1

使用View.getLocationOnScreen()。您只能在布局阶段之后调用它。

于 2012-10-15T11:09:37.667 回答
0

我不确定 ImageView 是否提供了一种方法来获取其图像在屏幕上的位置。

您只能查询 ImageView 本身的位置。

尝试使用 ImageView.getImageMatrix() 但我不确定当图像居中(未缩放)时是否填充

于 2012-10-15T11:10:42.460 回答
0

尝试

View v;
int x = v.getLeft();
int y = v.getTop();
于 2012-10-15T12:19:20.600 回答