【发布时间】:2020-12-14 10:01:04
【问题描述】:
我通过实现一个新的 Activity 为 Android 制作了一个启动画面。它指向一个包含 android 特定代码 (@style/Splash) 的 xml 主题。这指向一个可绘制的启动 xml。
我的问题是,如果我们可以做这些特定于平台的实现,我们是否也可以使用相同的模式创建动画?我已经放置了一个来自 android dev 网站的代码示例,让您了解我想要包含的内容。如果是,这段代码在 XF.Android 中会是什么样子?我们如何引用它?
SplashActivity.cs
[Activity(Label = "SplashActivity", Theme = "@style/Splash", MainLauncher = true, NoHistory = true)]
public class SplashActivity : Activity
{
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
StartActivity(typeof(MainActivity));
}
}
风格/飞溅
<style name="Splash" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:windowBackground">@drawable/splash</item>
</style>
可绘制/飞溅
<?xml version="1.0" encoding="utf-8" ?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<color android:color="#03045E"/>
</item>
<item>
<bitmap
android:src="@drawable/logo1"
android:tileMode="disabled"
android:gravity="center"/>
</item>
</layer-list>
我想要包含 hyperspace_jump.xml 的示例动画
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<scale
android:interpolator="@android:anim/accelerate_decelerate_interpolator"
android:fromXScale="1.0"
android:toXScale="1.4"
android:fromYScale="1.0"
android:toYScale="0.6"
android:pivotX="50%"
android:pivotY="50%"
android:fillAfter="false"
android:duration="700" />
<set
android:interpolator="@android:anim/accelerate_interpolator"
android:startOffset="700">
<scale
android:fromXScale="1.4"
android:toXScale="0.0"
android:fromYScale="0.6"
android:toYScale="0.0"
android:pivotX="50%"
android:pivotY="50%"
android:duration="400" />
<rotate
android:fromDegrees="0"
android:toDegrees="-45"
android:toYScale="0.0"
android:pivotX="50%"
android:pivotY="50%"
android:duration="400" />
</set>
</set>
【问题讨论】:
标签: android xml animation xamarin.forms