0

我有一个包含 imageView 的 xml。

<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 & Y2 = 350px。此动画在 android 版本 2.2 上运行良好,但是当我在 OS 2.3 / 4.0 上运行此动画时,ImageView 将在翻译动画期间在屏幕上的某些点上截断并消失。

我不明白这是怎么回事。回应将不胜感激。

4

1 回答 1

3

不要使用“px”。把它改成“蘸”

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

来自这里的来源,Android上的“px”,“dp”,“dip”和“sp”有什么区别?

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

dp Density-independent Pixels - 一个基于屏幕物理密度的抽象单位。这些单位与 160 dpi 屏幕相关,因此 1 dp 是 160 dpi 屏幕上的一个像素。dp与像素的比例会随着屏幕密度而变化,但不一定成正比。注意:编译器同时接受“dip”和“dp”,尽管“dp”与“sp”更一致。

于 2012-07-13T07:39:25.967 回答