调整按钮上的图像大小

时间:2020-02-27 12:36:53

标签: c# xaml xamarin xamarin.forms

我正在Xamarin Forms中创建一个应用程序,并尝试模仿FloatingActionButton,因此我创建了一个圆形Button,该图标应具有居中图标。不幸的是,我的图标到目前为止与Button重叠,而且我还没有找到适当调整其比例的方法。我试图通过变大Button使其变小以使其适合图标并按比例缩小整个内容,但是这样会失去质量。有没有办法只调整图像大小?

Button可能看起来像这样,问题似乎很普遍:

<Button x:Name="button" ImageSource="image.png" />

1 个答案:

答案 0 :(得分:3)

有2种情况。

如果图像不圆且不透明

您可以使用Frame强制这种方式:

<Frame CornerRadius="50" 
       HeightRequest="100"
       WidthRequest="100"
       Padding="0"
       IsClippedToBounds="True">
    <Image Source="image.png" 
           HorizontalOptions="Center"
           VerticalOptions="Center">
            <Image.GestureRecognizers>
                <TapGestureRecognizer Tapped="MyTappedEvent" />
                <!-- or <TapGestureRecognizer Command="{Binding MyCommand}" /> -->
            </Image.GestureRecognizers>
    </Image>
</Frame>

只需将HeightRequestWidthRequestCornerRadius替换为您的值即可。您必须确保CornerRadius的大小为一半,或者确保WirthRequest / HeightRequest的大小为圆形。

然后,仅将Tapped事件用于基本用途,或者将Command的{​​{1}}用于MVVM模式。


如果您的TapGestureRecognizer图片已经四舍五入且透明

然后,您可以直接在图像上直接使用TapGestureRecognizer,使其表现得像一个按钮:

png

希望有帮助,

祝您编程愉快!