博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第二十一章:变换(三)
阅读量:6437 次
发布时间:2019-06-23

本文共 1813 字,大约阅读时间需要 6 分钟。

文字效果

TranslationX和TranslationY的一个常见应用是将少量偏移应用于将它们从布局位置略微偏移的元素。 如果在单单元格网格中有多个重叠元素并且需要移动一个以便从另一个网格下面查看,这有时很有用。
您甚至可以将此技术用于常见文本效果。 仅XAML TextOffsets程序将三对Label元素放在三个单格网格布局中。 每个网格中的一对Label元素大小相同,并显示相同的文本:

White
Black

通常,网格的Children集合中的第一个Label将被第二个Label遮挡,但应用于第一个Label的TranslationX和TranslationY值允许它部分可见。 相同的基本技术会产生三种不同的文本效果:投影,看似从屏幕表面抬起的文本,以及看起来像是凿入屏幕的文本:

2019_01_08_131957
这些效果为其他平面图像提供了一些3D外观。 光学错觉基于光从左上角照亮屏幕的惯例。 因此,阴影被抛出到凸起物体的下方和右侧。 浮雕和雕刻效果之间的差异完全是由于模糊的黑色文本和顶部的白色文本的相对位置。 如果黑色文本略低于右侧,则会成为凸起的白色文本的阴影。 如果黑色文本位于白色文本的上方和左侧,则它将成为沉入表面下方的文本阴影。
下一个示例不是您要定期使用的内容,因为它需要多个Label元素,但如果您想为文本提供一点“深度”,则BlockText程序中说明的技术非常有用:
2019_01_08_132058
BlockText XAML文件使用单格网格在白色背景上显示黑色文本。 但是,为Label定义的隐式(和扩展)样式指定了Gray的TextColor属性:

代码隐藏文件中的构造函数向Grid添加了几个Label元素。 Style确保它们都具有相同的属性(包括灰色),但每个属性都偏离XAML文件中的Label:

public partial class BlockTextPage : ContentPage{    public BlockTextPage()    {        InitializeComponent();        for (int i = 0; i < Device.OnPlatform(12, 12, 18); i++)        {            grid.Children.Insert(0, new Label            {                TranslationX = i,                TranslationY = -i            });        }    }}

这是另一种情况,其中标签元素在单格网格中相互重叠,但现在还有更多。 XAML文件中的黑色标签必须是Children集合中的最后一个子标签,以便它位于所有其他子集之上。 具有最大TranslationX和TranslationY偏移量的元素必须是Children集合中的第一个子元素,因此它必须位于堆栈的最底部。 这就是为什么每个连续的Label都插入到Children集合的开头。

转载地址:http://aakwo.baihongyu.com/

你可能感兴趣的文章
ECS主动运维2.0,体验升级,事半功倍
查看>>
vim 学习方法
查看>>
php token验证范例
查看>>
WebSocket的C++服务器端实现
查看>>
java中两种添加监听器的策略
查看>>
脑洞成现实!AI系统可提前10s预测地震
查看>>
oracle数据库的启动和停止
查看>>
《LoadRunner没有告诉你的》之七——使用 LoadRunner 连续长时间执行测试,如何保证参数化的数据足够又不会重复?...
查看>>
python easy_install django 安装
查看>>
读《图解HTTP》总结--第六章
查看>>
毕业就能拿到上万薪资的程序员他们都做了啥?
查看>>
最小的k个数
查看>>
iOS技巧之获取本机通讯录中的内容,解析通讯录源代码
查看>>
程序员从零到月薪15K的转变,python200G资料分享
查看>>
DNS域名解析的知识了解
查看>>
部署社交网站
查看>>
CentOS下如何修改主机名
查看>>
“机器人商店”是什么?卖机器人的吗?
查看>>
SVN的代码正确提交方法
查看>>
js框架 vue
查看>>