【问题标题】:Xamarin Forms Round ButtonXamarin 窗体圆形按钮
【发布时间】:2019-07-25 13:09:28
【问题描述】:

我正在使用 Xamarin Forms 4.1.0.581479 和相同版本的 Xamarin Forms Visual Material。

我制作了一个圆形按钮,用作几个模式叠加层的关闭按钮。它看起来像这样:

问题是我无法使中间的 x(来自 Material 图标字体)更大。目前它的字体大小为 20

一旦我开始增加字体大小,例如到 30 岁,这开始发生:

我尝试将按钮的 Padding 设置为零,我尝试使用 Horizo​​ntalOption,我尝试将 BorderWidth 设置为 0,但似乎没有任何区别。

如何在不剪裁图标的情况下增加字体大小?

根据要求,这是我的 XAML:

<Button Grid.Column="1" Text="{x:Static constants:IconFont.Close}" Clicked="OnClicked" Style="{StaticResource CloseButton}" />

CloseButton 样式如下:

    <Style x:Key="CloseButton" TargetType="Button">
      <Setter Property="FontFamily" Value="{StaticResource MaterialFontFamily}" />
      <Setter Property="BackgroundColor" Value="#0075BE" />
      <Setter Property="FontSize" Value="20" />
      <Setter Property="WidthRequest" Value="50" />
      <Setter Property="HeightRequest" Value="50" />
      <Setter Property="HorizontalOptions" Value="End" />
      <Setter Property="BorderRadius" Value="25" />
    </Style>

【问题讨论】:

  • 发布您的 Xaml,以便我们也能看到。
  • 当您将字体大小更改为 30 时,您是否正在更改 WidthRequestHeightRequest?如果是,如何以及在哪里?请显示。 MaterialFontFamily 的设置是什么?
  • 感谢 Prateek,不,我没有更改宽度/高度,因为我不希望整个按钮变得更大,只是文本。不过现在已经修好了:)

标签: xaml xamarin xamarin.forms


【解决方案1】:

我认为你应该使用 ImageButton 而不是 Button:

<ImageButton VerticalOptions="Center" HorizontalOptions="Center" BackgroundColor="AliceBlue" CornerRadius="25" WidthRequest="50" HeightRequest="50">
                <ImageButton.Source>
                    <FontImageSource
                FontFamily="{DynamicResource MaterialFontFamily}"
                Glyph="{DynamicResource IconClose}"
                Size="30"
                Color="Red" />
                </ImageButton.Source>
</ImageButton>

【讨论】:

    猜你喜欢
    • 2014-06-08
    • 2016-11-15
    • 1970-01-01
    • 1970-01-01
    • 2015-07-27
    • 1970-01-01
    • 2012-08-28
    • 1970-01-01
    相关资源
    最近更新 更多