一个好老好老的老程序员了。
全部博文(915)
分类: Android平台
2018-08-16 22:20:16
点击(此处)折叠或打开
点击(此处)折叠或打开
点击(此处)折叠或打开
点击(此处)折叠或打开
点击(此处)折叠或打开
点击(此处)折叠或打开
点击(此处)折叠或打开
如果前面关于大小调整的分析是正确的并且一切顺利,那么这个位图应该在所有三个平台上看起来相对于屏幕宽度大致相同,并且提供比前一个程序更高的保真度分辨率:
有了关于调整位图大小的知识,现在可以制作一个带有图片的小型电子书阅读器,因为没有图片的书的使用是什么?
这本电子书阅读器显示了一个可滚动的StackLayout,其中包含Lewis Carroll的“爱丽丝梦游仙境”第7章的全文,其中包括John Tenniel的三张原始插图。 文本和插图是从阿德莱德大学的网站下载的。 插图作为MadTeaParty项目中的嵌入资源包含在内。 它们的名称和大小与网站上的名称和大小相同。 名称是指原书中的页码:
回想一下,在StackLayout中使用WidthRequest for Image元素只能缩小渲染位图的大小。 这些位图的宽度不足以确保它们在所有三个平台上都缩小到合适的大小,但无论如何都值得检查结果,因为这更接近现实生活中的例子。
MadTeaParty程序使用Image的隐式样式将WidthRequest属性设置为对应于1.5英寸的值。 与前面的示例一样,此值为240。
对于用于这些屏幕截图的三个设备,此宽度对应于:
这意味着iPhone 6上的所有三个图像尺寸都会缩小,并且它们的渲染宽度均为240个与设备无关的单位。
但是,三个图像中没有一个会在Nexus 5上缩小尺寸,因为它们的像素宽度都比1.5英寸的像素数要窄。这三个图像在Nexus 5上将具有(分别)236,162和223个与设备无关的单元的渲染宽度。(这是像素宽度除以3)。
在Windows 10移动设备上,两个将缩小,一个不会缩小。
让我们看看预测是否正确。 XAML文件在根元素上包含BackgroundColor设置,该设置将整个页面着色为白色,这适用于书籍。样式定义仅限于StackLayout中的Resources字典。书名的样式基于定义的TitleStyle,但带有黑色文本和居中,Label和Image的两个隐式样式用于设置大多数Label元素和所有三个Image元素的样式。只有章节文本的第一段和最后一段显示在XAML文件的此列表中:
点击(此处)折叠或打开
点击(此处)折叠或打开