2009-11-03 28 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。