我有一个Xamarin Forms项目,该项目具有基于卡片的界面,其中每个卡片的转角半径为1,填充为0。在卡片内,顶部元素是Heading控件,边距为0,由一个框架和一个背景颜色和其中的标签。
问题在于,由于“标题”控件没有圆角,与Card的拐角相交的角将溢出并呈现在Card外部,看起来不正确。
有什么方法可以告诉Xamarin XAML渲染器在父母的圆角处适当地切掉孩子的角?
这是一张图片,显示我的意思。绿色的尖角在父卡的外部渲染。
答案 0 :(得分:1)
要在Android,iOS和UWP上使用Xamarin.Forms
version 3.1.583944作为背景和圆角来获得相同的结果,请尝试以下XAML:
<OnPlatform x:TypeArguments="View">
<On Platform="UWP">
<Frame CornerRadius="20" OutlineColor="Black" Padding="0" Margin="12,0" HeightRequest="40">
<StackLayout BackgroundColor="Green">
<Label Text="BackgroundColor in StackLayout" Margin="20,0" />
</StackLayout>
</Frame>
</On>
<On Platform="Android, iOS">
<Frame CornerRadius="20" OutlineColor="Black" BackgroundColor="Green" Padding="0" Margin="12,0" HeightRequest="40">
<StackLayout>
<Label Text="BackgroundColor in Frame" Margin="20,0" />
</StackLayout>
</Frame>
</On>
</OnPlatform>
似乎这两个平台似乎都无法产生相同的结果,可能是通过本机平台设计得出的(例如,在上述两种情况下,Android都会在圆角内生成背景,而在BackgroundColor
中设置{ {1}},在Frame
中设置BackgroundColor
时,UWP在圆角内产生背景。
请注意,报告了UWP on Frame
CornerRadius
的某些问题。