Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/199.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 定义字体大小(以钛为单位)_Android_Ios_Label_Titanium_Appcelerator - Fatal编程技术网

Android 定义字体大小(以钛为单位)

Android 定义字体大小(以钛为单位),android,ios,label,titanium,appcelerator,Android,Ios,Label,Titanium,Appcelerator,我需要以百分比设置标签的字体大小,这样当我调整应用程序中当前布局的大小时,文本的大小等于屏幕的其余部分 我有这个: vara label = Ti.UI.createLabel({ text : ("Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut").toString(), color : "white", f

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

我有这个:

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()
  • 创建一个imageview,并将其精确地放置在包装器视图的顶部
  • 隐藏包装器视图
  • 在需要调整图像视图大小时调整其大小
  • 一旦您确实再次需要标签(例如,动画完成后),请将包装放回原处并再次移除图像
  • 用户将不知道有图像,因为它正在进行动画制作,用户习惯于在动画制作过程中无法单击。动画制作完成后,内容将再次被替换。这是一个完美的实现,为您提供了很大的灵活性

    ---以下为原始答案,以备将来参考----

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

    在Android上,你可以使用字体大小
    sp
    。这意味着字体的大小取决于大小,基本上就是你想要的

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


    此外,在iOS上,您可以使用标签的
    minimumFontSize
    属性,然后在固定视图中指定更大的字体大小(例如,使用百分比宽度)。通过这样做,字体可以根据其所在的容器进行缩小。请在中阅读更多相关信息。

    我用一些图像更新了代码,以显示我假装的内容,因为当我的应用程序已经运行时,我需要调整文本大小,所以检查它是否是iPhone或iPad并不能解决我的问题problem@Manuel_Rodrigues调整了我的答案,但还是离开了原始答案已准备就绪,供将来参考/其他人参考