Android X,Y确定图像

时间:2012-10-15 11:00:56

标签: android android-layout imageview coordinates

我正在使用以下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)的坐标。怎么判断?

Screen-shot

4 个答案:

答案 0 :(得分:1)

int coords[] = {0,0};
yourImageView.getLocationOnScreen(coords);
int x = coords[0];
int y = coords[1];

答案 1 :(得分:1)

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

答案 2 :(得分:0)

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

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

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

答案 3 :(得分:0)

尝试

View v;
int x = v.getLeft();
int y = v.getTop();