0

我正在开发一个Xamaring.Forms cross-platform应用程序,并希望gif在用户单击按钮连接到服务器时显示正在加载。除了未显示图像外,Everythink 都按预期工作gif,即使我尝试使用不同格式的图像,我也看不到任何图像。

  • 我已经安装了所有必需的包,ffimageloading并且gif图像位于项目根目录、项目文件drawable夹和项目文件夹中。androidResourcesIOS
  • 我将属性赋予了Embedded ResourceAndroid 项目中的图像。
  • Android emulator用来测试Android项目。
  • Xamarin Live Player用来测试IOS项目

Hier 是我的代码:

<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
         xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
         xmlns:ff="clr-namespace:FFImageLoading.Forms;assembly=FFImageLoading.Forms"  
         xmlns:ffSvg="clr-namespace:FFImageLoading.Svg.Forms;assembly=FFImageLoading.Svg.Forms"  
         xmlns:ffTransformations="clr-namespace:FFImageLoading.Transformations;assembly=FFImageLoading.Transformations"  
         x:Class="MyApp.Login"
         Title="Login"
         NavigationPage.HasNavigationBar="False">
<ContentPage.Padding>
    <OnPlatform x:TypeArguments="Thickness" iOS="0, 20, 0, 0"/>
</ContentPage.Padding>
<ContentPage.Content>
    <AbsoluteLayout BackgroundColor="White">

        <StackLayout VerticalOptions="StartAndExpand" AbsoluteLayout.LayoutBounds="0,0,1,1" AbsoluteLayout.LayoutFlags="All">
            <Image Source="Logo.png" Aspect="AspectFit"/>
            <StackLayout Padding="30, 10, 30, 0">
                <Label x:Name="errormessage" TextColor="Red"/>
                <Entry x:Name="EmailEntry" Placeholder="Email" Keyboard="Email" Margin="0, 10"/>
                <Entry x:Name="PasswordEntry" IsPassword="true" Placeholder="Password" />
                <Entry x:Name="CompanyEntry" Placeholder="Company" />
                <Button x:Name="LoginBtn" Pressed="Pressed_Handler" Text="Login" Clicked="Login_Handler" BackgroundColor="Black" TextColor="White" FontAttributes="Bold" Margin="90, 30" />
            </StackLayout>
        </StackLayout>

        <StackLayout x:Name="LoadingView" AbsoluteLayout.LayoutBounds="0,0,1,1" AbsoluteLayout.LayoutFlags="All" BackgroundColor="Black" Opacity="0.3">
        </StackLayout>

        <StackLayout x:Name="LoadingView2" AbsoluteLayout.LayoutBounds="0.5,0.5,200,200" AbsoluteLayout.LayoutFlags="PositionProportional" BackgroundColor="Black">
            <Label Text="Loading..." TextColor="White" FontAttributes="Bold" FontSize="30" VerticalOptions="Center"/>

            <!-- ------------- here is the gif image ----------------- -->
            <ff:CachedImage x:Name="Gif" Source="resource://MyApp.LoadingGif.gif" />
        </StackLayout>

    </AbsoluteLayout>
</ContentPage.Content>

4

1 回答 1

0

这不是resource://应该如何使用的。它用于在公共 dll 中共享相同的文件。您将其用作特定于平台的文件,请更改:

Source="resource://MyApp.LoadingGif.gif"Source="LoadingGif.gif"

于 2018-03-23T11:39:30.683 回答