ImageViews在多个屏幕中准确定位

时间:2014-01-04 07:52:06

标签: android position imageview

我希望图片中的红色和绿色图钉完全像所有屏幕中的Nexus 4(左上角屏幕)中的图片一样。我读取类似页面并阅读http://developer.android.com/guide/practices/screens_support.html 我知道我可以用layout-largelayout-xlarge等解决这个问题,但我有40个这样的布局,如果我为不同的屏幕制作它们,那么(40 * 4)160布局!

enter image description here

以下是XML布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/outlineLayout"
android:layout_width="match_parent"
android:layout_height="match_parent">

<ImageView
    android:id="@+id/arrowleft"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="107dp"
    android:scaleType="fitCenter"
    android:src="@drawable/arrowleft" />

<ImageView
    android:id="@+id/greenpin"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignRight="@+id/imageView1"
    android:layout_alignTop="@+id/img_start"
    android:src="@drawable/greenpin" />

<ImageView
    android:id="@+id/redpin"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/imageView1"
    android:layout_centerVertical="true"
    android:scaleType="centerCrop"
    android:src="@drawable/redpin" />

  </RelativeLayout>

2 个答案:

答案 0 :(得分:1)

使用以下布局

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:tools="http://schemas.android.com/tools"
 android:id="@+id/outlineLayout"
 android:layout_width="match_parent"
 android:layout_height="match_parent">

 <ImageView
  android:id="@+id/imageView1"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:layout_centerVertical="true"
  android:src="@drawable/arrowleft" />

<ImageView
  android:id="@+id/imageView2"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:layout_centerVertical="true"
  android:layout_toRightOf="@+id/imageView1"
  android:src="@drawable/greenpin" />

<ImageView
  android:id="@+id/img_start"
  android:layout_toLeftOf="@+id/imageView1"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:layout_centerVertical="true"
  android:src="@drawable/redpin" />

 </RelativeLayout>

您可以根据需要添加其他标签,但是从上面的逻辑中,您可以根据需要对齐所有三个图像。

快乐编码

答案 1 :(得分:0)

请在所有特定设备的所有维度文件中android:layout_marginTop="107dp"行。

代表。 values-large - &gt; dimens.xml - &gt;添加此行android:layout_marginTop="107dp"

values-sw600dp - &gt; dimens.xml - &gt;添加此行android:layout_marginTop="97dp"

只放置1个布局文件夹和多个valaues文件夹。

我希望这对你有用..