我需要以百分比设置标签的字体大小,因此当我在应用程序中调整当前布局的大小时,文本调整大小等于屏幕的其余部分。
我有这个:
vara label = Ti.UI.createLabel({
text : ("Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut").toString(),
color : "white",
font : {
fontSize : deviceWidth * 0.03,
fontFamily : "OpenSans-Light"
},
left : "0%",
}));
但我需要这样的东西:
var label Ti.UI.createLabel({
text : ("Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut").toString(),
color : "white",
font : {
fontSize : "20%,
fontFamily : "OpenSans-Light"
},
left : "0%",
}));
问题是 fontSize : "20% 不起作用。
如何在标签中注明?
我在经典模式下工作
这是我不会实现的:
当我的屏幕调整大小时,文本应该调整为。
Best Answer-推荐答案 strong>
因调整问题而编辑:
要动态调整字体大小,您需要使用“hack”。因为标签不能使用百分比。
要遵循的步骤:
- 围绕您要动态调整大小的所有元素创建一个包装 View ,这也可以包括标签以外的其他元素
- 通过执行
wrapperView.toImage() 将整个 View 转换为图像(在渲染之后)
- 创建一个 ImageView 并将其准确定位在您拥有的包装 View 之上。
- 隐藏包装 View 。
- 根据需要调整 ImageView 的大小。
- 一旦您再次真正需要标签(例如在动画完成后),将包装器放回去并再次移除图像。
用户将不知道有图像,因为它无论如何都在制作动画,并且用户习惯于在动画期间无法点击。一旦动画完成,内容就会再次被替换。完美的实现,为您提供了很大的灵 active 。
--- 下面的原始答案供将来引用----
百分比是不可能的,但有一个解决方案可能对您有所帮助。
在 Android 上,您可以使用 sp 字体大小。这意味着字体取决于比例,基本上就是您要查找的内容。
对于 iOS,您可以根据分辨率检查设备是 iPad 还是 iPhone,或者检查 Ti.UI.iPad 是否存在。然后可以根据 iPad 或 iPhone 指定字体大小。
此外,在 iOS 上,您可以使用标签的 minimumFontSize 属性,然后在固定 View 中指定更大的字体大小(例如百分比宽度)。通过这样做,字体能够根据它所在的容器缩小。阅读更多关于它的内容 documentation .
关于android - 以钛的百分比定义 fontSize,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/40845155/
|