Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在Xamarin的stackLayout中填充全屏图像?_C#_.net_Xaml_Xamarin_Xamarin.android - Fatal编程技术网

C# 如何在Xamarin的stackLayout中填充全屏图像?

C# 如何在Xamarin的stackLayout中填充全屏图像?,c#,.net,xaml,xamarin,xamarin.android,C#,.net,Xaml,Xamarin,Xamarin.android,*如何在Xamarin的stackLayout中填充全屏图像? 我无法将图像设置为适合stacklayout .XAML文件代码 <StackLayout Padding="0" BackgroundColor="Yellow"> <Image Source="ic_splash.png" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand" > </Image>

*如何在Xamarin的stackLayout中填充全屏图像? 我无法将图像设置为适合stacklayout .XAML文件代码

  <StackLayout Padding="0" BackgroundColor="Yellow">
    <Image Source="ic_splash.png" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand" > </Image>
  </StackLayout>
</ContentPage>

输出Android和Windows Phone的屏幕截图……
我想把图像放在背景中。*

因为android模拟器上没有物理键。
  <StackLayout Padding="0" BackgroundColor="Yellow">
    <Image Source="ic_splash.png" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand" > </Image>
  </StackLayout>
</ContentPage>

通过使用带有物理密钥的仿真器将很好

最后,我用下面的代码解决了这个问题

  <StackLayout Padding="0" BackgroundColor="Yellow">
    <Image Source="ic_splash.png" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand" > </Image>
  </StackLayout>
</ContentPage>
<?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="Your.Namespace.Views.LoginView"
             Title="{Binding Title}"
             BackgroundImage="BackgroundImage.png">
  <StackLayout>
    <!-- Your stuff goes here -->
  </StackLayout>
</ContentPage>

我已使用上述代码将背景图像设置为适合屏幕……

  <StackLayout Padding="0" BackgroundColor="Yellow">
    <Image Source="ic_splash.png" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand" > </Image>
  </StackLayout>
</ContentPage>

BackgroundImage=“BackgroundImage.png”

或者使用第一个代码,您可以将图像属性aspect设置为AspectFill,这将最终裁剪图像,同时保持纵横比

  <StackLayout Padding="0" BackgroundColor="Yellow">
    <Image Source="ic_splash.png" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand" > </Image>
  </StackLayout>
</ContentPage>
<StackLayout Padding="0" BackgroundColor="Yellow">
<Image Source="ic_splash.png" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand" Aspect="AspectFill" > </Image>

BackgroundImage属性的问题是图像比例可能会随着屏幕大小的改变而改变

  <StackLayout Padding="0" BackgroundColor="Yellow">
    <Image Source="ic_splash.png" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand" > </Image>
  </StackLayout>
</ContentPage>
我发现如何使用RelativeLayout填充所有屏幕并保存比例:

  <StackLayout Padding="0" BackgroundColor="Yellow">
    <Image Source="ic_splash.png" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand" > </Image>
  </StackLayout>
</ContentPage>


@chsword你所说的物理键是什么意思?我在Xamarin表单中遇到了同样的问题,我使用的是WebView。只需删除StackLayoutHi,我想在屏幕的背景图像中添加“scaleTo”属性,如果我们使用backgroundimage来适应全屏图像,我们无法应用“scaleTo”属性。