Android 有没有一种方法可以在图层列表定义中为我的应用程序项设置动画(旋转)?

Android 有没有一种方法可以在图层列表定义中为我的应用程序项设置动画(旋转)?,android,android-drawable,Android,Android Drawable,目前我有以下可绘制(splash.xml)定义: <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@color/grey_300"/> <item> <bitmap

目前我有以下可绘制(
splash.xml
)定义:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

    <item
        android:drawable="@color/grey_300"/>

    <item>
        <bitmap
            android:gravity="center"
            android:src="@mipmap/ic_launcher"/>
    </item>

</layer-list>
,我想知道我是否可以一些动画的标志集中在屏幕上(可能旋转它)。到达目的地的最佳方式是什么?我已经尝试过在
项目
元素中播放
动画旋转
,但直到现在都没有成功。

也许这会有帮助:

我注意到你使用了向导。然而,有人在评论中问他是否可以在闪屏上添加动画,他的回答是:

用我上面列出的闪屏模式制作动画是不可能的。仅当应用程序已加载时,动画才可用

除此之外,还可以设置图层列表的动画。只需将其作为背景应用于某个视图并设置该视图的动画即可


我遇到了同样的问题,并采取了变通办法。我创建了一个没有布局的SplashActivity和一个带有ProgressBar布局的ProgressActivity,并使用意图从SplashActivity转到ProgressActivity,从ProgressActivity转到MainActivity。下面是一些代码。感谢以下YouTube视频以xml格式设置ProgressBar:

可为主题绘制:

<?xml version="1.0" encoding="utf-8"?>
        <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <color android:color="#EEEEEE"/>
    </item>

    <item android:id="@android:id/background">


    <shape
            android:shape="ring"
            android:innerRadiusRatio="24"
            android:thickness="18dp"
            android:useLevel="false">
            <solid android:color="#EF9A9A"/>
        </shape>
    </item>

    <item android:id="@android:id/progress">
        <rotate
            android:fromDegrees="0"
            android:toDegrees="360">
            <shape
                android:shape="ring"
                android:innerRadiusRatio="24"
                android:thickness="18dp"
                android:useLevel="false">
                <gradient
                    android:color="@android:color/transparent"
                    android:angle="0"
                    android:startColor="#D50000"
                    android:type="sweep"
                    android:useLevel="false"/>
            </shape>
        </rotate>
    </item>
</layer-list>
进展活动:

public class ProgressActivity extends AppCompatActivity {
    private static final long DELAY = 3000L;

    TimerTask timerTask = new TimerTask() {
        @Override
        public void run() {
            Intent intent = new Intent(ProgressActivity.this, MainActivity.class);
            startActivity(intent);
            finish();
        }
    };

    Timer timer = new Timer();
    timer.schedule(timerTask, DELAY);
    }
}
<?xml version="1.0" encoding="utf-8"?>
        <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <color android:color="#EEEEEE"/>
    </item>

    <item android:id="@android:id/background">


    <shape
            android:shape="ring"
            android:innerRadiusRatio="24"
            android:thickness="18dp"
            android:useLevel="false">
            <solid android:color="#EF9A9A"/>
        </shape>
    </item>

    <item android:id="@android:id/progress">
        <rotate
            android:fromDegrees="0"
            android:toDegrees="360">
            <shape
                android:shape="ring"
                android:innerRadiusRatio="24"
                android:thickness="18dp"
                android:useLevel="false">
                <gradient
                    android:color="@android:color/transparent"
                    android:angle="0"
                    android:startColor="#D50000"
                    android:type="sweep"
                    android:useLevel="false"/>
            </shape>
        </rotate>
    </item>
</layer-list>
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    tools:context="nl.braaks55.minesweeper.activities.Progress"
    tools:showIn="@layout/activity_progress">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:gravity="center">

        <ProgressBar
            android:layout_width="160dp"
            android:layout_height="160dp"
            style="?android:attr/progressBarStyleLarge"
            android:layout_gravity="center"
            android:indeterminateDrawable="@drawable/progress_bar"
            android:max="100"
            android:progress="20"/>

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="20dp"
            android:text="@string/loading"
            android:textAppearance="?android:textAppearanceLarge" />
    </LinearLayout>
</android.support.constraint.ConstraintLayout>
public class SplashActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    Intent intent = new Intent(this, ProgressActivity.class);
    startActivity(intent);
    finish();
    }
}
public class ProgressActivity extends AppCompatActivity {
    private static final long DELAY = 3000L;

    TimerTask timerTask = new TimerTask() {
        @Override
        public void run() {
            Intent intent = new Intent(ProgressActivity.this, MainActivity.class);
            startActivity(intent);
            finish();
        }
    };

    Timer timer = new Timer();
    timer.schedule(timerTask, DELAY);
    }
}