Xamarin表单:带圆角的StackLayout

我正在使用xamarin表单pcl开发一个应用程序。 我需要一个带圆角的stacklayout。 我也尝试了圆角容器的框架,但没有可用的角半径属性。 我找不到ios,android,uwp,windows 8.1的渲染器。

任何人都可以建议我如何实现所有平台的圆角以及角半径属性的stacklayout。 在此处输入图像描述

您可以使用Frame并将StackLayout放入其中,Note Frame默认采用填充20:

    

使用以下来实现您的预​​期输出

Xamarin Forms控件: https : //github.com/nitescua/Xamore/blob/master/Xamore.Controls/Border.cs

iOS: https : //github.com/nitescua/Xamore/blob/master/Xamore.Controls.iOS/Renderers/BorderRenderer.cs

Android: https : //github.com/nitescua/Xamore/blob/master/Xamore.Controls.Droid/Renderers/BorderRenderer.cs https://github.com/nitescua/Xamore/blob/master/Xamore.Controls.Droid /Renderers/BorderRendererVisual.cs (注意https://github.com/nitescua/Xamore/tree/master/Xamore.Controls.Droid/Renderers中的一些文件将编译设置为None,我正在做一些测试,需要删除那些)

WinPhone: https : //github.com/nitescua/Xamore/blob/master/Xamore.Controls.WinPhone/Renderers/BorderRenderer.cs

您可以为任何布局或视图或单元格设置圆角(StackLayout,Grid,ListView)

http://venkyxamarin.blogspot.in/2017/12/how-to-set-corner-radius-for-view.html#more

我最近有同样的需求,所以我为iOS和Android创建了一个自定义渲染器。 我把它作为Nuget发布了,你可以在这里找到它。 源代码可以在GitHub上找到 ,这里有一些“操作方法”

希望这可以帮助! 它非常容易使用(与ContentView相同,它就是它的基础),虽然注意这是.NET Standard的编译,但你也可以将代码拉入你的PCL

        

我只是试图复制BigBasket的filter按钮。 看看它有多酷

由于Xamarin已经发布了Effects机制,现在可以通过在两个平台上实现自定义效果来完成。 这种方法的一个优点是效果更轻,可重复使用,并且可以参数化并应用于任何UI元素。

在创建inheritanceRoutingEffect的自定义RoundCornersEffect RoutingEffect ,声明一个CornerRadius附加属性并在每个平台上实现PlatformEffect ,它可以应用于任何Xamarin.Forms布局或控件,如下所示:

  

具有硬编码的角半径或来自资源的值

   

以下是完整实施和使用示例的链接。