【发布时间】:2016-11-14 11:50:15
【问题描述】:
使用最新的预发布版本,我注意到按钮现在有一个 Button.ContentLayout 属性,我希望它允许我们向按钮添加自定义视图,同时保留按钮的其余功能。
问题是,这是为了这个吗?如果是这样,它是如何使用的?
亲切的问候
布赖恩
【问题讨论】:
标签: c# xamarin xamarin.forms
使用最新的预发布版本,我注意到按钮现在有一个 Button.ContentLayout 属性,我希望它允许我们向按钮添加自定义视图,同时保留按钮的其余功能。
问题是,这是为了这个吗?如果是这样,它是如何使用的?
亲切的问候
布赖恩
【问题讨论】:
标签: c# xamarin xamarin.forms
不,此属性不允许允许您设置要在按钮内呈现的任何自定义内容。
Button 元素上的ContentLayout 是“ButtonLayoutContent”类型的属性,它决定了按钮图像相对于其文本的位置。 它有两个属性,图像位置和间距。
Position 用于设置图像相对于文本的位置。图片可以位于文本的上方或下方,也可以位于文本的左侧或右侧。
间距是图像和文本之间的间距。 在 Button 渲染器的 Android 实现中,它设置了 CompoundDrawablePadding 属性,该属性定义为复合可绘制对象和文本之间的填充。
在 iOS 上,默认渲染器会进行一些数学运算以找出 ImageEdgeInsets、TitleEdgeInsets 和 ContentEdgeInsets 的正确值
XAML 中的示例用法:
<Button BackgroundColor="Color.Gray" Image="coffee.png" Text="Click Me" ContentLayout="Top,10">
在 C# 代码中,您只需在构造函数中传递两个值
btn.ContentLayout = new ButtonContentLayout(ImagePosition.Top,10);
【讨论】: