0

我尝试使用 AnimationDrawable 来显示加载动画。我通过将其可见性设置为可见来使加载“屏幕”可见。

我知道应该在设置屏幕后启动 AnimationDrawable,并且我使用了 Google Developers 的解决方案和 onWindowFocusChanged:

    @Override public void onWindowFocusChanged(boolean hasFocus) {
    // TODO Auto-generated method stub
        super.onWindowFocusChanged(hasFocus);ImageView img = (ImageView)findViewById(R.id.animationView);
    img.setBackgroundResource(R.drawable.animation_position);

    AnimationDrawable frameAnimation = (AnimationDrawable)img.getBackground();

    if (hasFocus){
            //normal Screen
    RelativeLayout listView = (RelativeLayout)findViewById(R.id.listAnzeige);
    listView.setVisibility(View.GONE);

    //Loading Screen
    RelativeLayout ladeScreen = (RelativeLayout)findViewById(R.id.Position);
    ladeScreen.setVisibility(View.VISIBLE);


    frameAnimation.start();

我的 XML 文件:

<?xml version="1.0" encoding="utf-8"?><animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="false">
<item android:drawable="@drawable/f1" android:duration="100" />
<item android:drawable="@drawable/f2" android:duration="100" />
<item android:drawable="@drawable/f3" android:duration="100" />
<item android:drawable="@drawable/f4" android:duration="100" />
<item android:drawable="@drawable/f5" android:duration="100" />
<item android:drawable="@drawable/f6" android:duration="100" /></animation-list>    

动画没有开始。我认为问题在于可见性,但我不确定。感谢帮助。

4

0 回答 0