• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

android - 以钛的百分比定义 fontSize

[复制链接]
菜鸟教程小白 发表于 2022-12-12 23:00:52 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

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

我有这个:

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/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap