在钛中以百分比定义 fontSize
define fontSize in percentage in titanium
我需要以百分比设置标签的字体大小,这样当我在我的应用程序中调整当前布局大小时,文本调整大小等于屏幕的其余部分。
我有这个:
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% 不起作用。
我怎样才能在标签中注明?
我在经典模式下工作
这是我不会实现的:
当我的屏幕调整大小时,文本应调整为。
因调整问题而编辑:
要即时动态调整字体大小,您需要使用 "hack"。因为您不能使用百分比作为标签。
要遵循的步骤:
- 围绕要动态调整大小的所有元素创建一个包装视图,这也可以包括标签以外的其他元素
- 通过执行
wrapperView.toImage()
将整个视图转换为图像(在渲染后)
- 创建一个图像视图并将其准确定位在您拥有的包装视图之上。
- 隐藏包装视图。
- 根据需要调整图像视图的大小。
- 一旦您再次真正需要标签(例如在动画完成后),请将包装纸放回去并再次移除图像。
用户将不知道有一张图片,因为无论如何它都是动画的,而且用户习惯于在动画期间无法点击。一旦动画完成,内容就会再次被替换。一个完美的实现,给你很大的灵活性。
---下面的原答案供日后参考----
百分比是不可能的,但是有一个解决方案可能会对您有所帮助。
在 Android 上,您可以使用字体大小 sp
。这意味着字体是依赖于比例的,基本上就是你要找的。
对于 iOS,您可以根据分辨率检查设备是 iPad 还是 iPhone,或者检查 Ti.UI.iPad
是否存在。然后您可以根据 iPad 或 iPhone.
指定字体大小
此外,在 iOS 上,您可以使用标签的 minimumFontSize
属性,然后在固定视图中指定更大的字体大小(例如百分比宽度)。通过这样做,字体能够根据它所在的容器缩小。在 documentation.
中阅读更多相关信息
我需要以百分比设置标签的字体大小,这样当我在我的应用程序中调整当前布局大小时,文本调整大小等于屏幕的其余部分。
我有这个:
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% 不起作用。
我怎样才能在标签中注明?
我在经典模式下工作
这是我不会实现的:
当我的屏幕调整大小时,文本应调整为。
因调整问题而编辑:
要即时动态调整字体大小,您需要使用 "hack"。因为您不能使用百分比作为标签。
要遵循的步骤:
- 围绕要动态调整大小的所有元素创建一个包装视图,这也可以包括标签以外的其他元素
- 通过执行
wrapperView.toImage()
将整个视图转换为图像(在渲染后)
- 创建一个图像视图并将其准确定位在您拥有的包装视图之上。
- 隐藏包装视图。
- 根据需要调整图像视图的大小。
- 一旦您再次真正需要标签(例如在动画完成后),请将包装纸放回去并再次移除图像。
用户将不知道有一张图片,因为无论如何它都是动画的,而且用户习惯于在动画期间无法点击。一旦动画完成,内容就会再次被替换。一个完美的实现,给你很大的灵活性。
---下面的原答案供日后参考----
百分比是不可能的,但是有一个解决方案可能会对您有所帮助。
在 Android 上,您可以使用字体大小 sp
。这意味着字体是依赖于比例的,基本上就是你要找的。
对于 iOS,您可以根据分辨率检查设备是 iPad 还是 iPhone,或者检查 Ti.UI.iPad
是否存在。然后您可以根据 iPad 或 iPhone.
此外,在 iOS 上,您可以使用标签的 minimumFontSize
属性,然后在固定视图中指定更大的字体大小(例如百分比宽度)。通过这样做,字体能够根据它所在的容器缩小。在 documentation.