我有一个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会在翻译动画期间切换并消失在屏幕上的某些点上。
我无法理解这有什么问题。回应将不胜感激。
答案 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”更为一致。