如何防止图像挤入 Xamarin.Forms 按钮?
How to prevent Images squeezed in Xamarin.Forms Button?
Xamarin.Forms 中的按钮图像在 iOS 上看起来被挤压了。在 XAML 中如何设置图像以正常宽高比显示?另外作为奖励,您如何确保按钮图像垂直排列?我试过设置 WidthRequest XAML 属性 但它没有效果。
XAML 在 ContentPage.Content:
<StackLayout Orientation="Vertical" VerticalOptions="Start" HorizontalOptions="Fill" Padding="20">
<Button Image="icon_facebook" Clicked="onClicked" Text="Facebook" />
<Button Image="icon_twitter" Clicked="onClicked" Text="Twitter" />
<Button Image="icon_microsoft" Clicked="onClicked" Text="Microsoft Account" />
<Button Image="icon_google" Clicked="onClicked" Text="Google" />
</StackLayout>
如果您愿意,可以使用 XLabs package 中的 ImageButton
。
或者,您可以选择 ListView
和 ImageCell
,或者如果这不能给您足够的灵活性,请创建您自己的 ViewCell
。默认情况下,它们对齐良好,当用户点击列表中的项目时,您可以触发适当的操作。
这里有一个苹果自己做类似事情的例子:
Xamarin.Forms 中的按钮图像在 iOS 上看起来被挤压了。在 XAML 中如何设置图像以正常宽高比显示?另外作为奖励,您如何确保按钮图像垂直排列?我试过设置 WidthRequest XAML 属性 但它没有效果。
XAML 在 ContentPage.Content:
<StackLayout Orientation="Vertical" VerticalOptions="Start" HorizontalOptions="Fill" Padding="20">
<Button Image="icon_facebook" Clicked="onClicked" Text="Facebook" />
<Button Image="icon_twitter" Clicked="onClicked" Text="Twitter" />
<Button Image="icon_microsoft" Clicked="onClicked" Text="Microsoft Account" />
<Button Image="icon_google" Clicked="onClicked" Text="Google" />
</StackLayout>
如果您愿意,可以使用 XLabs package 中的 ImageButton
。
或者,您可以选择 ListView
和 ImageCell
,或者如果这不能给您足够的灵活性,请创建您自己的 ViewCell
。默认情况下,它们对齐良好,当用户点击列表中的项目时,您可以触发适当的操作。
这里有一个苹果自己做类似事情的例子: