2009-11-03 66 views
6

如果您擁有Android手機,您無疑已經注意到在某些應用程序中,鍵盤佈局可以從標準問題更改爲僅限數字,還是具有.com.net基於文本字段輸入類型(例如電話號碼)。所以我有2個問題:Android - 自定義鍵盤按鍵和動作

  1. 如何觸發這個定製?我懷疑它與EditText格式有關
  2. 如果我想添加一些自定義按鈕來注入特定模式,這可以進一步採取?假設我將有一個AND按鈕,當按下按鈕時,將所有大寫「AND」加上文本字段的空格。這可以做到嗎?
  3. 我什麼問的是如何捕獲onkeypress事件事件的一些組合鍵,然後用圖案填充文本字段 - 我幾乎知道該怎麼做了。

回答

7

它由android:inputType XML屬性(或setInputType()方法)控制。

有關可用選項的信息,請參閱XML attributeobject's method的頁面。

作爲一個例子,下面的XML:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" > 
    <EditText 
     android:text="example text" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:inputType="phone" /> 
</LinearLayout> 

會給你這個佈局:

Hosted by imgur.com

而改變inputTypetextEmailAddress會給你這樣的:

Hosted by imgur.com

您可以按照here的說明自定義「操作」按鈕,但我不認爲現在有什麼辦法可以完全自定義鍵盤,但我可能是錯的。

+1

非常好,謝謝。你知道是否有可能虛假鍵盤上虛假的ALT鍵嗎?我可以將HOME按鈕指定爲ALT嗎? – Bostone 2009-11-04 05:39:35

+1

沒問題......這是我一直想玩的東西:)我不認爲你可以模擬alt鍵,但是,我可能是錯的。應該指出的是,可以從頭開始實現自己的鍵盤(或多或少)。他們有一個例子:http://developer.android.com/guide/samples/SoftKeyboard/index.html – 2009-11-04 21:28:32

+1

瞭解。儘管實現完全自定義鍵盤對我的低級應用來說可能有點過分:) – Bostone 2009-11-04 22:51:26

1

有關我的事情是,「inputType」被列爲不推薦使用的屬性,這意味着它可能會工作一段時間,但 - 最終 - Android將停止支持它。有另外一種選擇嗎?

更新:我的壞 - 我迷惑inputMethod。