xaml - Xamarin 子框架在父角半径上溢出
问题描述
我有一个带有基于卡片的界面的 Xamarin Forms 项目,其中每张卡片的角半径为 1,填充为 0。在卡片中,顶部元素是一个标题控件,边距为 0,由一个带有背景颜色的框架和其中的一个标签。
问题在于,由于 Heading 控件没有圆角,因此与 Card 角相接的角会溢出并呈现在看起来不正确的 Card 外部。
有没有办法告诉 Xamarin XAML 渲染器在父级圆角时适当地切断子级的角?
这是一张图片来说明我的意思。绿色尖角呈现在父卡之外。
解决方案
要在 Android、iOS 和 UWP 上获得与Xamarin.Forms
版本 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在上述两种情况下都在圆角内产生背景,iOS在设置为时在圆角内产生背景,UWPBackgroundColor
在设置时在圆角内产生背景设置在)。Frame
BackgroundColor
StackLayout
请注意,在Frame
CornerRadius
.
推荐阅读
- tensorflow - Keras/Tensorflow 批量矩阵跨轴乘法
- r - 通过忽略数据框中的 NA 的行检查连续元素(即列)的变化
- angular - Angular 5 - 条件验证器不起作用
- javascript - Angular 6:如何在进行 http 调用时将响应类型设置为文本
- javascript - Vue 未在测试中加载(黄瓜/水豚)
- c# - 如何在使用 HtmlAgilityPack 抓取时识别推文是原创还是转推?
- html - 在悬停时为 HTML 表格边框着色
- rest - Magento 2:如何在其余 api 中添加动态自定义选项
- clickonce - 签名的 ClickOnce 应用程序给出“无法验证发布者”
- postgresql - 将字符串分数转换为浮点数