Android:动画imageview

时间:2015-07-30 11:29:00

标签: android

我正在使用启动画面。我想要一个动画图像视图(从左到右)。我的代码确实有效,但滚动以黑色开始..

我想要的是从整个图像开始制作动画。

为了清楚地理解这里是我的截图:

我的问题:

enter image description here

我的目标输出

enter image description here

public class splash extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_splash);

        ImageView img_animation = (ImageView) findViewById(R.id.img_animation);
        TranslateAnimation animation = new TranslateAnimation(0, 720, 239, 0);
        animation.setDuration(10000);
        animation.setFillEnabled(true);
        img_animation.startAnimation(animation);
    }
}

布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    tools:context=".Animation" >

    <ImageView
        android:id="@+id/img_animation"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:src="@drawable/splash_1"
        android:scaleType="centerCrop" />

</RelativeLayout>

2 个答案:

答案 0 :(得分:1)

使用 FrameLayout 将imageview定位到视图开始并获取imageview width = y和screen width = x然后设置动画 y-x

您可以使用 ObjectAnimator 。这个 nineoldandroid 库和默认的android 对象动画非常相同。

int[] rani = {0,1,2,3,0,0,1,1,0,0};
int[] um = {0,0,0,0,0,0,0,0,0,0};

答案 1 :(得分:0)

我认为如果将RelativeLayout和ImaveView的宽度设置为wrap_content并设置imaveview的adjustViewBound&#34; true&#34;它会起作用