【问题标题】:How do I control how a Xamarin Forms button scales its Image property?如何控制 Xamarin Forms 按钮如何缩放其 Image 属性?
【发布时间】:2017-09-11 04:46:09
【问题描述】:

我正在将我们的应用程序从 Xamarin Forms 2.1.0.6524 更新到 2.3.4.224。我已经能够修复一些小的 UI 故障,但有一个让我很困惑。

我们应用的一部分显示了几个设置了 Image 属性的按钮。图像均为 90x90 像素。在 Xamarin Forms 2.1.x 中,图像似乎被缩小以适合文本的合理高度,大约 40 像素。在 2.3.4.224 中,图像以 90 像素的自然尺寸显示,这太大了。

我试图弄清楚为什么会发生这种变化,感觉原始代码是错误的,我们应该做一些事情来限制图像的大小。我没有看到任何方便的方法来控制 Button 控件中图像的大小或比例。有没有解决的办法?是我发现了一个错误,还是我们以前是一个错误的受害者?

(到目前为止,它似乎是 iOS 独有的,但我们在 Android 上为这种按钮类型提供了一个自定义渲染器,看起来我们确实做了一些巫术来进行缩放。当我尝试一个实验性的新应用程序时,我发现:

  • 无论我使用旧 XF 还是新 XF,Android 都会以 90 像素显示图像。
  • 如果我使用旧 XF,iOS 显示 40px,新 XF 显示 90px。)

【问题讨论】:

    标签: xamarin.forms


    【解决方案1】:

    我认为限制大小一定是旧版本 Xamarin Forms 中的错误。我认为有多种方法可以解决这个问题:

    1. 将真实图像重新创建到适当的大小
    2. 为 iOS 创建自定义渲染器以及自定义大小选项
    3. 使用 XLabs 的 ImageButton:https://github.com/XLabs/Xamarin-Forms-Labs/wiki/ImageButton
    4. 使用其他元素代替 Button。例如,内部带有 Image 和 Label 的 Horizo​​ntal StackLayout 并为 StackLayout 创建一个 TapGestureHandler(虽然你不会得到按钮动画)
    5. 在 Button 元素上使用 HeightRequest 限制高度(剪辑图像,不是一个好的解决方案)

    如果可能的话,我的建议是使用第一个选项。适当大小的真实图像可以提供最佳外观。在应用程序中缩放图像总是会让它们看起来更糟。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-07-01
      • 1970-01-01
      • 2023-03-24
      • 2015-11-28
      • 1970-01-01
      • 2016-11-23
      • 2015-12-12
      • 1970-01-01
      相关资源
      最近更新 更多