适用于不同密度屏幕的Android ImageView定位

时间:2014-06-11 06:22:12

标签: android

我在一个框架布局的屏幕右侧有一个Imageview。我有9个修补图像。当放置图像时,我看到在不同密度的同一设备中看到图像内部图像位置的变化。应该做些什么来避免同样的事情?

        <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>

1 个答案:

答案 0 :(得分:0)

您可以将android:layout_widthandroid: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>

应该有用......