如果我在屏幕外启动它,Android ImageView正在缩小

时间:2015-10-01 20:18:57

标签: android android-layout

我正在制作一个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);

1 个答案:

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