如何为 Xamarin.Forms 中的段控件设置圆角

Posted

技术标签:

【中文标题】如何为 Xamarin.Forms 中的段控件设置圆角【英文标题】:How to set rounded corner for the Segment Control in Xamarin.Forms 【发布时间】:2014-10-02 12:51:10 【问题描述】:

使用以下代码从 Xamarin.Forms PCL 中的代码后面添加段控制后,如何为段控制设置圆角?

SegmentControl segment = new SegmentControl();            
segment.AddSegment("Segment 1");
segment.AddSegment("Segment 2");            
segment.AddSegment("Segment 3");
segment.AddSegment("Segment 4");            
segment.SelectedSegment = 0;
segment.Padding = new Thickness(5,5);
segment.TintColor = Color.FromHex("#0282C3");

提前致谢!

【问题讨论】:

【参考方案1】:

SegmentControl 特定于 iOSXamarin.Forms 没有自己的实现。

要更改 SegmentControl 的样式,您可以使用 ControlStyle 属性,如 here 所示。

关于CornerRadius,您可以通过设置layer.borderWidth 对其进行调整,但是如here 所述,这会在渲染中被截断。

因此,除了呈现您自己的自定义控件之外,答案似乎是否定的 - 您不能,但这完全取决于您想要为角半径使用什么值。

也许最好编写自己的自定义渲染器,除非您不是针对 AndroidWindowsPhone 并且仅针对 iOS,否则如何你会在这些平台上代表它吗?

【讨论】:

以上是关于如何为 Xamarin.Forms 中的段控件设置圆角的主要内容,如果未能解决你的问题,请参考以下文章

Xamarin.Forms自定义用户界面控件实现一个HybridWebView(混合webview)

如何为 Xamarin Forms 应用程序创建 Nuget 包

Xamarin Forms:如何为图像添加单击和双击?

Xamarin Forms:如何为网格内单击的按钮添加背景颜色(单词搜索游戏)

ReactiveUI 中的 Xamarin.Forms 控件是不是需要自定义绑定?

Xamarin.Forms android - 调整控件大小以考虑可访问性设置