Android ImageView正在切断

时间:2012-07-13 07:38:05

标签: android

我有一个xml,里面有一个imageView。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/blockingLayer"
    android:layout_width="880px"
    android:layout_height="600px">
        <ImageView 
            android:layout_width="110px"
            android:layout_height="60px"
            android:id="@+id/fish_image_view"
            android:visibility="visible"
            android:layout_marginLeft="0px"
            android:layout_marginTop="350px"
            />
</RelativeLayout> 

在代码中我得到这个imageView并在其上运行translateAnimation,从X1 = 10到x2 = ScreenWidth,Y1&amp; Y2 = 350px。这个动画在Android 2.2版上运行正常,但是当我在OS 2.3 / 4.0上运行时,ImageView会在翻译动画期间切换并消失在屏幕上的某些点上。

我无法理解这有什么问题。回应将不胜感激。

1 个答案:

答案 0 :(得分:3)

不要使用“px”。将其更改为“dip”

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/blockingLayer"
    android:layout_width="880dip"
    android:layout_height="600dip">
        <ImageView 
            android:layout_width="110dip"
            android:layout_height="60dip"
            android:id="@+id/fish_image_view"
            android:visibility="visible"
            android:layout_marginLeft="0dip"
            android:layout_marginTop="350dip"
            />
</RelativeLayout> 

来自此处What is the difference between "px", "dp", "dip" and "sp" on Android?

  

px像素 - 对应于屏幕上的实际像素。

     

dp与密度无关的像素 - 一个基于该的抽象单位   屏幕的物理密度。这些单位相对于160 dpi   屏幕,所以一个dp是160 dpi屏幕上的一个像素。比例   dp-to-pixel将随屏幕密度而变化,但不一定如此   按比例分配。注意:编译器同时接受“dip”和“dp”,   虽然“dp”与“sp”更为一致。