2012/02/16

[Titanium Mobile] 顯示文字: Label, TextField, TextArea

要在畫面上顯示文字,通常是用 Titanium.UI.Label ,但 Titanium.UI.TextField  Titanium.UI.TextArea 這兩個物件也可以用來顯示文字。

Titanium.UI.Label 在官方文件裡的說明:
A text label, with optional background image.
功能就類似 HTML 裡的 <span>,專責顯示文字。

Titanium.UI.TextField 在官方文件裡的說明:
A single line text field.
這就類似 HTML 裡的 <input type=text>,可以讓使用者輸入單一行文字。

Titanium.UI.TextArea 在官方文件裡的說明:
A multiline text field that supports editing and scrolling.
不消說,這就類似 HTML 裡的 <textarea>,可以讓使用者輸入多行文字。

TextField 和 TextArea 原本的用意是讓使用者輸入文字用的,因此當使用者 focus 在這兩個物件上時,會自動顯示鍵盤輸入。因此,如果只是要用來顯示文字就必須將輸入功能關掉:
// 關閉 TextField 的輸入功能
Titanium.UI.createTextField({
  editable:false
});
// 關閉 TextArea 的輸入功能
Titanium.UI.createTextArea({
  editable: false
});

最後提醒一下, Label 的文字是 text 屬性, TextField 和 TextArea 要用 value 屬性,別搞錯囉!