我正在制作一个ImageView,以便在太阳升起的iOS应用中镜像功能。如果我在容器RelativeLayout下面启动它,它会将我的ImageView高度缩小到marginTop和RelativeView底部之间的差异(在这种情况下,图像显示为100dp而不是290)。它显示了预览中以及设备上的行为。它也没有将图像剪切到相对布局。我怎样才能更好地为此制作动画?
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="400dp"
android:background="@drawable/home_back_morning"
android:id="@+id/rlTop"
android:clipChildren="true"
>
<ImageView
android:layout_width="290dp"
android:layout_height="290dp"
android:minHeight="290dp"
android:minWidth="290dp"
android:src="@drawable/sun"
android:id="@+id/ivSun"
android:layout_marginLeft="-150dp"
android:layout_marginTop="300dp"
android:scaleType="centerInside"
android:cropToPadding="true">
</RelativeLayout>
//Fragment:
TranslateAnimation translation;
translation = new TranslateAnimation(0f, 0F, 0f, -250f);
translation.setStartOffset(1000);
translation.setDuration(1000);
translation.setFillAfter(true);
translation.setInterpolator(new BounceInterpolator());
ivSun.startAnimation(translation);
答案 0 :(得分:1)
您的代码在模拟器中正常运行 但请再次尝试将RelativeLayout更改为FrameLayout,如:
<FrameLayout
android:id="@+id/rlTop"
android:layout_width="match_parent"
android:layout_height="400dp"
android:background="@drawable/home_back_morning"
android:clipChildren="true">
<ImageView
android:id="@+id/ivSun"
android:layout_width="290dp"
android:layout_height="290dp"
android:layout_marginLeft="-150dp"
android:layout_marginTop="300dp"
android:cropToPadding="true"
android:minHeight="290dp"
android:minWidth="290dp"
android:scaleType="centerInside"
android:src="@drawable/sun"/>
</FrameLayout>