如何解决Xamarin Forms:Android 上忽略 ImageButton 边框
我有一个包含一些 StackLayout
的 ImageButton
,按钮的 BorderWidth
为 5。
在 UWP 上,边框显示为缩放以适应内部的图像。在Android上,根本不出现边框,图像流入其空间。
UWP(正确):
我的 XAML 看起来像这样
<StackLayout
x:Name="titlebar"
Orientation="Horizontal"
BackgroundColor="{x:DynamicResource TitleBarColor}">
...
<ImageButton
x:Name="menu"
HeightRequest="25" WidthRequest="25"
HorizontalOptions="End"
BorderWidth="5"
BackgroundColor="{x:DynamicResource TitleBarColor}"
Source="{local:ImageResource CloudTest.Assets.icons.more_menu_white.png}"
Clicked="OnMenuClicked" />
</StackLayout>
解决方法
在 Android 中,我发现它只有在您同时设置 BorderWidth
和 BorderColor
(不能 Transparent
)时才有效。
您也可以将 Padding
或 Margin
设置为 ImageButton 以达到效果。
<ImageButton
x:Name="menu"
HeightRequest="25" WidthRequest="25"
HorizontalOptions="End"
Padding ="5" //or Margin ="5"
BackgroundColor="{x:DynamicResource TitleBarColor}"
Source="{local:ImageResource CloudTest.Assets.icons.more_menu_white.png}"
Clicked="OnMenuClicked" />
更新(黄色区域是您的 ImageButton):
使用Margin
时,指控件与同级控件之间的距离:
Padding
,指的是控件的内部内容,比如文字/图片距离控件的边距
所以当你使用内边距时,你会看到图像内部的空间,当你使用边距时,你会看到图像外的空间。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。