将ImageView定位在较小的RelativeLayout中的x,y处

时间:2014-03-31 04:40:11

标签: android android-layout

我花了好几天试图让它工作,阅读数百个相关的StackOverflow页面并实现所有可能的建议解决方案但没有成功,包括......

1)view.scrollTo(gridX, gridY);

2)view.scrollBy(gridX,gridY);

3)

RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(1405, 1158);
        params.leftMargin = gridX;
        params.topMargin = gridY;
        view.setLayoutParams(params);

4)矩阵操作......

5)我需要我的应用程序 min sdk为8 / 2.2 ,所以我无法实现:

view.setScrollX(gridX);
view.setScrollY(gridY);

6)以及更多...

<RelativeLayout 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:background="#000"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.madDucks.wheretheulami.madducks.UL_Map">

<TextView
android:id="@+id/infoBox"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_centerInParent="true"
android:background="#000"
android:clickable="true"
android:onClick="infoBox"
android:paddingBottom="3sp"
android:textColor="#fff"
android:textSize="14sp"
android:textStyle="bold"/>

<HorizontalScrollView
android:id="@+id/scrollView"
android:layout_below="@+id/infoBox"
android:layout_above="@+id/bottomBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content">

<ScrollView
android:id="@+id/scroller"
android:layout_width="wrap_content"
android:layout_height="wrap_content">

<RelativeLayout
android:id="@+id/mapLayer"
android:layout_width="wrap_content"
android:layout_height="wrap_content">

<ImageView
android:id="@+id/ulmap"
android:isScrollContainer="true"
android:layout_height="1158dp"
android:layout_width="1405dp"
android:scrollX="@dimen/activity_horizontal_margin"
android:scrollbars="horizontal"
android:src="@drawable/ulcampusmap"/>

</RelativeLayout>

</ScrollView>

</HorizontalScrollView>

<RelativeLayout
android:id="@+id/bottomBar"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#000"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true">

<Button
android:id="@+id/changeDestination"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:background="#000"
android:clickable="true"
android:onClick="changeDestination"
android:paddingTop="4sp"
android:text="@string/changeDestination"
android:textColor="#fff"
android:textSize="14sp"
android:textStyle="bold"/>

<Button
android:id="@+id/viewMyLocation"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:background="#000"
android:clickable="true"
android:onClick="viewMyLocation"
android:paddingTop="4sp"
android:text="@string/myLocation"
android:textColor="#fff"
android:textSize="14sp"
android:textStyle="bold"/>

</RelativeLayout>

</RelativeLayout>




@Override
public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);
setContentView(R.layout.activity_ul_map);

view = (ImageView) findViewById(R.id.map);
view.setImageResource(R.drawable.ulmap);

为什么这些都不起作用?当然,即使有些人不胜,但大多数人都不应该这样做。

我管理的最接近的是view.scrollTo(gridX, gridY);,它将任何x,y输入放在topLeft 0,0,然后剪裁地图,x左边或左边的任何内容都是无法访问的。

我应该使用其他方法吗?我非常感谢任何建议。

谢谢:)

1 个答案:

答案 0 :(得分:0)

请使用AbsoluteLayout并设置xy位置(AbsoluteLayout具有设置xy位置的属性)

并将您的imageview放入其中。