Xamarin 快速上手--文字的處理(二)
Entry & Editor --- 單&多行文字輸入
Entry & Editor 問、文字輸入
功能描述: Entry:單行文字錄入控制元件,適合簡簡訊息錄入,如登入介面的使用者名稱和密碼。
Editor同樣作為一個使用者輸入控制元件使用,與Entry不同Editor允許輸入多行資料。
Entry & Editor相關屬性
Text : Entry內的文字內容。
TextColor :Entry文字顏色。
Placeholder :佔位符,Text為空時顯示。
PlaceholderColor :佔位符顏色。
IsPassword
Keyboard :軟鍵盤型別。
WidthRequest :設定控制元件寬度, 注意:HorizontalOptions="Fill"時無效 ,同理HeightRequest。
InputTransparent :是否接受使用者輸入。預設false,設定true時,控制元件接收使用者輸入時不做響應,傳遞父控制元件處理。
============================================================
Entry 的建立
(1) C#程式碼示例:
(2)XAML示例:
============================================================
常用事件和事件繫結
常用事件
Focused :控制元件獲取焦點時觸發,定義在VisualElement中的事件。
Unfocused :控制元件失去焦點時觸發,定義在VisualElement中的事件。
SizeChanged :控制元件大小改變,定義在VisualElement中的事件。
Completed :使用者錄入結束時出發(IOS使用者按下Done鍵,Android,Windows Phone使用者點選回車鍵或者物理鍵盤返回)。
TextChanged :Entry文字改變時觸發。
事件繫結
(1) 以Completed事件為例:
A) 在CS檔案中定義一個方法:
B) 接下來就是將定義的方法與Entry的Completed事件繫結。
a)Xaml 方式繫結事件
設定Entry的Completed屬性 Completed="Entry_Completed"。
b)程式碼方式繫結事件程式碼
entry.Completed+=Entry_Completed;
方法:
private void SunEntry_Completed(object sender, EventArgs e)
{
sunLabel.Text = ((Entry) sender).Text;
}
擴充套件: 也可以省略方法的定義,藉助Lambda表示式:
其它事件同理,區別在於第二個引數可能是EventArgs的子類以傳遞更多的資訊。
============================================================
Editor使用
Editor同樣作為一個使用者輸入控制元件使用,與Entry不同Editor允許輸入多行資料。
XAML示例:
注意: 1)Editor使用與Entry相似。
2)不同的是Completed事件的觸發,Editor中回車鍵文字換行並不會觸發Completed事件。
============================================================
文字檢視相關擴充套件及說明
三 鍵盤相關
1)指定一個虛擬鍵盤 Keyboard :軟鍵盤型別。
XAML示例 :
<Entry Keyboard="Default" />
2)指定其他鍵盤選項
說明:這個創造鍵盤的方法接受keyboardflags列舉指定額外的鍵盤選項,如:
a)句子的第一個單詞會自動大寫
B)拼寫檢查
c) 使用者輸入和顯示單詞補全
關於鍵盤詳細資料:
四 文字 Fonts
(1)基礎屬性 (label class 章節已摘入)
(2)在不同平臺設定Font
C# 示例:
XAML 示例:
(3)使用自定義的Font
iOS
Android
三個不同平臺
**更詳細資料