我要做的是创建一个动画,其中从左到右显示ImageView(剪辑动画?)。图像不应缩放。
我尝试更改scaleType,然后将ScaleAnimation直接应用于该ImageView:
布局:
<ImageView
android:id="@+id/graphImage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:scaleType="centerCrop"
android:background="@android:color/transparent"
android:contentDescription="@string/stroom_grafiek"
/>
爪哇:
scale = new ScaleAnimation((float)0,
(float)1, (float)1, (float)1,
Animation.RELATIVE_TO_SELF, (float)0,
Animation.RELATIVE_TO_SELF, (float)1);
scale.setDuration(1000);
graphImage.startAnimation(scale);
我还尝试将ImageView放在RelativeLayout中,然后将动画应用于RelativeLayout:
布局:
<RelativeLayout
android:id="@+id/graphImageInnerWrap"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@android:color/transparent"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:clipChildren="true"
>
<ImageView
android:id="@+id/graphImage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleType="matrix"
android:background="@android:color/transparent"
android:contentDescription="@string/stroom_grafiek"
/>
</RelativeLayout>
爪哇:
scale = new ScaleAnimation((float)0,
(float)1, (float)1, (float)1,
Animation.RELATIVE_TO_SELF, (float)0,
Animation.RELATIVE_TO_SELF, (float)1);
scale.setDuration(1000);
graphImageInnerWrap.startAnimation(scale);
在这两种情况下,ImageView仍在缩放。 我希望有人能指出我正确的方向。
答案 0 :(得分:9)
尝试将动画翻译为
Animation animation1=new TranslateAnimation(0.0f, 200.0f, 0.0f, 0.0f);
animation1.setDuration(5000);
imageview.startAnimation(animation1);
您可以像我在上面代码中所做的那样在TranslateAnimation(fromX, toX, fromY, toY)
设置坐标