错误的Xamarin形成图像尺寸

时间:2014-08-15 18:09:06

标签: android image xamarin xamarin.android xamarin.forms

我希望使用Visual Studio 2013和最新的Xamaring版本在我的基于Xamarin Forms的Android项目中显示60 * 60像素的png图像。

我按照以下步骤操作:

  • 将png图像放在Resources \ Drawable文件夹中。
  • 将图像的“构建操作”设置为AndroidResource
  • 按如下方式创建Xamarin.Forms.Image对象:
    protected static Image CreateHeaderLeftImage()
    {
        Image image = new Image();

        image.Source = Device.OnPlatform(null, ImageSource.FromFile("image.png"), null);

        image.WidthRequest = 60;
        image.HeightRequest = 60;

        image.VerticalOptions = LayoutOptions.Center;
        image.HorizontalOptions = LayoutOptions.Center;

        return image;
    }
  • 在App.GetMainPage()中,我只是将主页的内容设置为创建的图像
public static Page GetMainPage()
{
    ContentPage contentPage = new ContentPage();

    contentPage.Content = CreateHeaderLeftImage();

    return contentPage;
}

图像显示在页面中间,高度加倍,宽度加倍!我做了我的页面截图并测量了图像,它是120 * 120而不是60 * 60!

我从许多Xamarin示例中重用了上面的代码!

为什么图像会放大?

1 个答案:

答案 0 :(得分:1)

Xamarin.Forms不使用像素来调整视图元素的大小。

http://forums.xamarin.com/discussion/18255/coordinate-units

所以你没有指定60px的东西,但是Android的情况是60dpi。