繁体   English   中英

背景图片PCL xamarin表格iOS放大了

[英]Background image PCL xamarin forms iOS zoomed in

我目前正在处理Xamarin格式的PCL项目,并且因为我完成了Android,所以开始从事iOS实施。 我遇到的问题是视图的背景图像被放大了(工具栏上的图标也是如此),它可能使用了全尺寸图像,因此我希望使用Aspect=Aspect.AspectFit类的东西,但是由于我正在使用PCL代码,我曾使用Background= Height>Width ? <picture_string_portrait> : <picture_string_landscape> 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解决方案将不胜感激。

提前致谢!

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM