【问题标题】:Background image PCL xamarin forms iOS zoomed in背景图像 PCL xamarin 窗体 iOS 放大
【发布时间】:2017-07-10 14:24:58
【问题描述】:

我目前正在开发 Xamarin 表单中的 PCL 项目,并开始着手 iOS 实现,因为我完成了 Android 的实现。我遇到的问题是我的视图的背景图像被放大了(工具栏上的图标也是如此)。它可能使用的是全尺寸图像,所以我希望使用类似Aspect=Aspect.AspectFit 但因为我m 使用 PCL 代码我使用了Background= Height>Width ? <picture_string_portrait> : <picture_string_landscape>,它需要一个字符串。我似乎不知道如何解决这个问题+我只能分享默认代码,因为这是我目前工作的一家公司(所以恐怕也没有屏幕截图)。

这是我的 pcl 代码 (myview.xaml.cs) 的一部分,它在加载和方向更改时命中。在 Android 中它可以很好地扩展,但在 iOS 中却没有。

private void OnSizeChanged(object sender, EventArgs eventArgs)
{

     BackgroundImage = Height > Width ? "background_portrait.jpg" : "background_landscape.jpg";

 }

如果这是一个菜鸟问题,我深表歉意,但我已经做了相当多的谷歌搜索,似乎找不到任何有用的东西。一个适用于所有人的 PCL 解决方案将不胜感激。

提前致谢!

【问题讨论】:

  • 一个是 JPG 而另一个是 PNG 有什么原因吗?我希望他们是一样的。也许你打错了,这就是为什么没有加载?
  • 添加“默认”代码而不是“工作”代码时出现拼写错误。我正在改变它,谢谢你注意到mb!图片显示完美,但它们只是放大,就像显示图片的实际大小一样,但它不适合屏幕,所以它只显示左上角的一部分作为完整背景。

标签: c# ios xamarin xamarin.ios xamarin.forms


【解决方案1】:

ContentPage.BackgroundImage 的问题是你无法控制它的纵横比。看看设备如何以各种尺寸和形状出现,替代解决方案可能更适合您。您可以通过在ContentPage 中使用Image 并使用其Aspect 来获得相同的结果。一种方法是使用这样的AbsoluteLayout

<ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="Sample">
    <AbsoluteLayout VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand">
        <Image AbsoluteLayout.LayoutFlags="All" AbsoluteLayout.LayoutBounds="0, 0, 1, 1" Source="background.png" Aspect="AspectFill"/>
        <StackLayout AbsoluteLayout.LayoutFlags="All" AbsoluteLayout.LayoutBounds="0, 0, 1, 1">
            // Content
        </StackLayout>                   
    </AbsoluteLayout>             
</ContentPage>

另一个是RelativeLayout,就像在这个示例中一样:

http://dotnetbyexample.blogspot.nl/2015/02/using-full-size-none-stretched.html

【讨论】:

  • 嗨史蒂文,感谢您为我提供另一个解决方案!我假设对于屏幕旋转处理,我可以为图像命名并在我的屏幕旋转代码中对其进行寻址并提供纵向/横向图片?无论如何,这个答案将帮助我实现我想要的,干杯!
猜你喜欢
  • 2018-10-17
  • 1970-01-01
  • 2016-02-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-01
  • 1970-01-01
相关资源
最近更新 更多