在加载带有动画的屏幕后删除图像,Android

在加载带有动画的屏幕后删除图像,Android,android,android-layout,Android,Android Layout,我正在尝试在活动之间显示一个启动屏幕。为此,我使用了一个处理程序,该处理程序加载一个ImageView,然后在一定时间后将可见性设置为GONE 我想让它更别致一点,并用loadAnimation为它制作动画。我遇到的问题是,一旦处理程序结束,动画就会停止,但不会从屏幕上删除加载的图像。相反,它只是作为整个活动的背景 我想知道处理程序停止后如何删除飞溅图像 下面是我的代码: private static final long SPLASHTIME = 3000; @Override protect

我正在尝试在活动之间显示一个启动屏幕。为此,我使用了一个处理程序,该处理程序加载一个ImageView,然后在一定时间后将可见性设置为GONE

我想让它更别致一点,并用loadAnimation为它制作动画。我遇到的问题是,一旦处理程序结束,动画就会停止,但不会从屏幕上删除加载的图像。相反,它只是作为整个活动的背景

我想知道处理程序停止后如何删除飞溅图像

下面是我的代码:

private static final long SPLASHTIME = 3000;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main)
    ImageView splash = (ImageView)findViewById(R.id.splashscreen);
    final Animation a = AnimationUtils.loadAnimation(getBaseContext(),R.anim.progress_anim);
    a.setDuration(1000);
    splash.startAnimation(a);
    new Handler().postDelayed(new Runnable(){
            @Override
             public void run() {
               a.cancel();
               splash.setVisibility(View.GONE);

            }
        }, SPLASHTIME);
}
飞溅图像的XML:

<ImageView 
    android:id="@+id/splashscreen" 
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" 
    android:src="@drawable/loading_circle"
    android:layout_gravity="center"
    />


只需全局声明splash,而不是在oncreate()中。

我认为您需要在XML:ImageView中添加可见性:gone

并使imageview不可见

您需要添加

a.setFillAfter(true);

在Runnable中的代码末尾。

删除xml中的图像,并在oncreate中设置该图像。