我在iOS和Android的Xamarin中工作。我正尝试从0到1延迟5000毫秒,逐渐淡入我的应用程序徽标。看来FadeTo()
函数在具有API 26的手机上可以正常工作。但是,当我尝试运行相同功能时在使用API 22的另一部手机中使用该功能时,我要淡入的视图不会消失。图片/徽标仅在应用程序准备运行后立即显示。请注意,准备应用运行所需的时间(灰白色屏幕)最多不超过5秒。有时会在2-4秒之间。无论哪种方式,我都需要知道如何解决此逐渐消失的错误。
因此,在我的SplashScreen.xaml中,其中包含我想淡入的Image
,称为logo
。这是代码:
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="ProjectName.SplashScreenPage">
<ContentPage.Content>
<StackLayout BackgroundColor="White">
<Image x:Name="logo"
Source="logo"
HorizontalOptions ="CenterAndExpand"
VerticalOptions="CenterAndExpand"
Opacity="0"
Aspect="AspectFit"/>
</StackLayout>
</ContentPage.Content>
</ContentPage>
在SplashScreen.cs
中,该文件包含淡入图像logo
的代码。仅在构造函数中有代码。因此,我只打算复制构造函数。 SplashScreen.cs
文件的代码为:
public SplashScreenPage ()
{
InitializeComponent ();
Device.BeginInvokeOnMainThread(() =>
{
ViewExtensions.FadeTo(logo, 1, 5000, Easing.Linear);
});
}
除了这两个文件外,我没有碰过任何其他代码。 AndroidManifest.xml
文件包含与API级别有关的本节,
<uses-sdk android:minSdkVersion="22" android:targetSdkVersion="27" />
让我知道是否需要添加信息