我正在Xamarin Forms中创建一个应用程序,并尝试模仿FloatingActionButton
,因此我创建了一个圆形Button
,该图标应具有居中图标。不幸的是,我的图标到目前为止与Button
重叠,而且我还没有找到适当调整其比例的方法。我试图通过变大Button
使其变小以使其适合图标并按比例缩小整个内容,但是这样会失去质量。有没有办法只调整图像大小?
Button
可能看起来像这样,问题似乎很普遍:
<Button x:Name="button" ImageSource="image.png" />
答案 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>
只需将HeightRequest
,WidthRequest
和CornerRadius
替换为您的值即可。您必须确保CornerRadius
的大小为一半,或者确保WirthRequest
/ HeightRequest
的大小为圆形。
然后,仅将Tapped
事件用于基本用途,或者将Command
的{{1}}用于MVVM模式。
TapGestureRecognizer
图片已经四舍五入且透明然后,您可以直接在图像上直接使用TapGestureRecognizer,使其表现得像一个按钮:
png
希望有帮助,
祝您编程愉快!