1. 程式人生 > >Xamarin 快速上手--文字的處理(二)

Xamarin 快速上手--文字的處理(二)

Entry & Editor --- 單&多行文字輸入

Entry & Editor 問、文字輸入

功能描述: Entry:單行文字錄入控制元件,適合簡簡訊息錄入,如登入介面的使用者名稱和密碼。

Editor同樣作為一個使用者輸入控制元件使用,與Entry不同Editor允許輸入多行資料。

Entry & Editor相關屬性

Text Entry內的文字內容

TextColorEntry文字顏色

Placeholder 佔位符,Text為空時顯示

PlaceholderColor佔位符顏色。

IsPassword

是否為密碼格式,預設false,設定true時輸入內容以密碼格式顯示。

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

三個不同平臺

**更詳細資料