不同密度屏幕的Android ImageView定位

不同密度屏幕的Android ImageView定位,android,Android,我在屏幕右侧的框架布局内有一个Imageview。我对图像进行了9次修补。当定位图像时,当我在不同密度的同一设备中看到图像时,我看到Imageview内图像的位置发生了变化。应该采取什么措施来避免相同的情况 <FrameLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParen

我在屏幕右侧的框架布局内有一个Imageview。我对图像进行了9次修补。当定位图像时,当我在不同密度的同一设备中看到图像时,我看到Imageview内图像的位置发生了变化。应该采取什么措施来避免相同的情况

        <FrameLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_centerHorizontal="true"
        android:orientation="vertical" >

        <ImageView
            android:id="@+id/characterimageView"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"                
            android:scaleType="center"
            android:adjustViewBounds="true"
            android:background="@android:color/transparent"
            android:contentDescription="@string/characterimageview"
            android:visibility="visible" />
       </FrameLayout>
您可以将您的android:layout_width、android:layout_height和定位属性边距、填充等设置为与dp密度无关的像素单位的固定值。您定义的大小和位置在每个屏幕上看起来都一样。 例如,类似这样的事情:

<FrameLayout
    android:layout_width="50dp" // notice the change here
    android:layout_height="50dp" // and here
    android:layout_alignParentRight="true"
    android:layout_centerHorizontal="true"
    android:orientation="vertical" >

    <ImageView
        android:id="@+id/characterimageView"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"                
        android:scaleType="center"
        android:adjustViewBounds="true"
        android:background="@android:color/transparent"
        android:contentDescription="@string/characterimageview"
        android:visibility="visible" />
   </FrameLayout>

应该工作…

它没有按预期工作。根据Android开发者网站,不建议将dp值设置为布局的宽度和高度。请建议任何其他方法。