我正在做一个项目,我必须在地图上显示箭头,这是一张图片。使用不同的屏幕时,基本地图将被拉伸或压缩。但是箭头的位置仍然保持不变。是否有任何方法可以使箭头跟随地图?
图像1是我使用较小的屏幕,而图像2是我使用较大的图像
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent"
android:layout_height="fill_parent"
tools:context="com.example.window8.rescape.Escape"
android:id="@+id/main"
>
<ImageView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/background"
android:background="@drawable/basebase" />
<ImageView
android:layout_width="50dp"
android:layout_height="60dp"
android:id="@+id/pointer"
android:layout_gravity="bottom"
android:background="@drawable/pointer"
android:layout_alignParentBottom="true"
android:layout_alignParentStart="true"
android:layout_marginBottom="198dp" />
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1">
<ImageView
android:layout_width="30dp"
android:layout_height="30dp"
android:id="@+id/imageView2"
android:background="@drawable/arrow4"
android:layout_marginLeft="68px" />
<ImageView
android:layout_width="30dp"
android:layout_height="30dp"
android:id="@+id/imageView"
android:background="@drawable/arrow2"
android:layout_marginLeft="80px" />
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"></LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"></LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"></LinearLayout>
</LinearLayout>
</RelativeLayout>
答案 0 :(得分:0)
对于包含箭头的LinearLayout,添加2个LinearLayouts。一个在第一个箭头之前,另一个在箭头之间。另外,将权重和添加到父LinearLayout,如下所示:
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:layout_weightSum="100">
<LinearLayout
android:orientation="horizontal"
android:layout_width="0dp"
android:layout_weight="10"
android:layout_height="fill_parent"/>
<ImageView
android:layout_width="30dp"
android:layout_height="30dp"
android:id="@+id/imageView2"
android:background="@drawable/arrow4"
android:layout_marginLeft="68px" />
<LinearLayout
android:orientation="horizontal"
android:layout_width="0dp"
android:layout_weight="10"
android:layout_height="fill_parent"/>
<ImageView
android:layout_width="30dp"
android:layout_height="30dp"
android:id="@+id/imageView"
android:background="@drawable/arrow2"
android:layout_marginLeft="80px" />
</LinearLayout>
现在,您需要使用2个线性布局的权重值,直到找到所需的值。
答案 1 :(得分:0)
将箭头放在FrameLayout中并向其添加layout_gravity属性:
<FrameLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1">
<ImageView
android:layout_width="30dp"
android:layout_height="30dp"
android:id="@+id/imageView2"
android:background="@drawable/arrow4"
android:layout_marginLeft="68px"
android:layout_gravity="top|left" />
<ImageView
android:layout_width="30dp"
android:layout_height="30dp"
android:id="@+id/imageView"
android:background="@drawable/arrow2"
android:layout_marginRight="68px"
android:layout_gravity="top|right" />
</FrameLayout>