android - 旋转图层列表中的项目以显示启动画面

标签 android xml android-layout layer-list

我在用

<item name="android:windowBackground">@drawable/splash_background</item>

制作启动画面。它非常快,所以我更喜欢它而不是布局系统。

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

<item
    android:drawable="@drawable/login_blurry_bg"/>

<item
    android:id="@+id/progress"
    android:gravity="center"
    android:width="62dp"
    android:height="62dp">

            <rotate
                android:fromDegrees="45"
                android:toDegrees="45"
                android:pivotX="-40%"
                android:pivotY="87%"
                android:drawable="@drawable/ic_progress_round"/>

</item>

我想在 SplashActivity.java 上旋转这个 drawable

public class SplashActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    LayerDrawable layerDrawable = (LayerDrawable) getWindow().getContext().getResources().getDrawable(R.drawable.splash_background);

    RotateDrawable drawable = (RotateDrawable) layerDrawable.findDrawableByLayerId(R.id.progress);

    ObjectAnimator mAnimator = ObjectAnimator.ofInt(drawable, "level", 0, 10000);
    mAnimator.setDuration(300);
    mAnimator.start();

    Intent intent = new Intent(this, MainActivity.class);
    startActivity(intent);

    finish();

}
}

但是动画不工作。

我还想要在 MainActivity 打开时显示过渡。但这也行不通。

overridePendingTransition(R.animator.slide_in_left, R.animator.slide_out_right);

在 Splash Activity 中使用了它。

我觉得我做错了什么。请帮我解决这个问题。

最佳答案

请保留此代码

  new Handler().postDelayed(new Runnable() {
                @Override
                public void run() {
                    Intent intent = new Intent(SplashActivity.this, MainActivity.class);
                    startActivity(intent);
                    finish();
                }
            },10000);

而不是这些代码行:

Intent intent = new Intent(this, MainActivity.class);
startActivity(intent);

finish();

以上代码可以工作,但由于从 Splace 到 Main Activity 的快速转换,您看不到它的效果。

您可以根据自己的喜好设置后延迟毫秒值。

关于android - 旋转图层列表中的项目以显示启动画面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51893270/

相关文章:

android - 如何将方法分配给 RadioButton?

android - cordova项目中android构建的人行横道错误

javascript - 使用嵌入式 HTML 代码加载 WebView - Android

xml - 如何在不进行转义的情况下在 PowerShell 中获取转义的 xml 属性值

xml - JSON.NET 和替换 @Sign in XML 到 JSON 的转换

sql - 声明终止。最大递归 100 在语句完成之前已经用完

java - 将文本设置为 fragment 中的 TextView

android - 键盘顶部的额外空间 - Android

java - 我的android studio代码下划线全是红色

android - 消除可绘制形状线中的间隙