OStack程序员社区-中国程序员成长平台

标题: android - 以钛的百分比定义 fontSize [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 23:00
标题: android - 以钛的百分比定义 fontSize

我需要以百分比设置标签的字体大小,因此当我在应用程序中调整当前布局的大小时,文本调整大小等于屏幕的其余部分。

我有这个:

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% 不起作用。

如何在标签中注明?

我在经典模式下工作

这是我不会实现的:

enter image description here

当我的屏幕调整大小时,文本应该调整为。



Best Answer-推荐答案


因调整问题而编辑:

要动态调整字体大小,您需要使用“hack”。因为标签不能使用百分比。

要遵循的步骤:

  1. 围绕您要动态调整大小的所有元素创建一个包装 View ,这也可以包括标签以外的其他元素
  2. 通过执行 wrapperView.toImage()
  3. 将整个 View 转换为图像(在渲染之后)
  4. 创建一个 ImageView 并将其准确定位在您拥有的包装 View 之上。
  5. 隐藏包装 View 。
  6. 根据需要调整 ImageView 的大小。
  7. 一旦您再次真正需要标签(例如在动画完成后),将包装器放回去并再次移除图像。

用户将不知道有图像,因为它无论如何都在制作动画,并且用户习惯于在动画期间无法点击。一旦动画完成,内容就会再次被替换。完美的实现,为您提供了很大的灵 active 。

--- 下面的原始答案供将来引用----

百分比是不可能的,但有一个解决方案可能对您有所帮助。

在 Android 上,您可以使用 sp 字体大小。这意味着字体取决于比例,基本上就是您要查找的内容。

对于 iOS,您可以根据分辨率检查设备是 iPad 还是 iPhone,或者检查 Ti.UI.iPad 是否存在。然后可以根据 iPad 或 iPhone 指定字体大小。

此外,在 iOS 上,您可以使用标签的 minimumFontSize 属性,然后在固定 View 中指定更大的字体大小(例如百分比宽度)。通过这样做,字体能够根据它所在的容器缩小。阅读更多关于它的内容 documentation .

关于android - 以钛的百分比定义 fontSize,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40845155/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4