2016-11-28 71 views
2

我需要設置標籤的字體大小百分比,所以當我在應用程序中調整當前佈局時,文本大小等於屏幕的其餘部分。以鈦的百分比定義字體大小

我有這樣的:

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%", 
    })); 

的問題是字體:「20%不工作

哪有我是因爲在一個標籤?

我在經典模式下工作

這是我不會實現:

enter image description here

當我的屏幕大小調整文本應該調整到。

回答

2

,因爲調整後的問題編輯:

要在你需要使用「黑客」即時動態調整字體大小。因爲你不能使用標籤的百分比。

的步驟如下:

  1. 創建周圍的一切要動態調整元素的包裝來看,這可以包括除標籤等元素也
  2. 轉換整個視圖圖像(後已經被渲染)通過做wrapperView.toImage()
  3. 創建一個imageview並將其定位在您的包裝視圖的頂部。
  4. 隱藏包裝視圖。
  5. 調整圖像視圖的大小,同時調整大小。
  6. 只要您再次需要標籤(例如在完成動畫之後),請將包裝重新放回並再次移除圖像。

用戶將不知道有一個圖像,因爲它反正是動畫,用戶習慣在動畫過程中無法點擊。一旦動畫完成,內容將被重新替換。一個完美的實現,並給你很大的靈活性。

---下面以備將來參考原來的答覆----

百分比是不可能的,但是有一個解決方案,可以幫助你。您可以使用字體大小sp。這將意味着字體是依賴於比例的,基本上你在找什麼。

對於iOS,您可以根據分辨率檢查設備是iPad還是iPhone,或者通過檢查Ti.UI.iPad是否存在等。然後您可以指定基於iPad或iPhone的字體大小。

此外,在iOS上,您可以使用標籤的minimumFontSize屬性,然後在固定視圖中指定更大的字體大小(以百分比寬度爲例)。通過這樣做,字體可以根據其所在的容器進行縮小。請在documentation中詳細瞭解該字體。

+0

我用一些圖片更新了我的代碼,以顯示我假裝的內容,因爲我的應用程序已在運行時需要調整文本的大小,以便檢查它是iPhone還是iPad並不能解決我的問題 –

+0

@Manuel_Rodrigues調整了我的答案,但留下原始答案以備將來參考/其他人使用 –

相關問題