Android - 自定义键盘键和操作

时间:2009-11-03 22:07:16

标签: android keyboard customization

如果你拥有Android手机,毫无疑问你已经注意到在某些应用程序中键盘布局如何从标准问题变为仅数字或基于.com.net特殊按钮文本字段输入类型(例如电话号码)。所以我有两个问题:

  1. 如何触发此自定义?我怀疑它与EditText格式
  2. 有关
  3. 如果我想添加一些自定义按钮来注入特定模式,可以采取更进一步的措施吗?假设我有一个AND按钮,按下该按钮会将空格包围的所有大写“AND”添加到文本字段。可以这样做吗?
  4. 询问的是如何在onKeyPress事件中捕获一些关键组合,然后用模式填充文本字段 - 我几乎知道如何做到这一点。

2 个答案:

答案 0 :(得分: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

而将inputType更改为textEmailAddress会为您提供:

Hosted by imgur.com

您可以按照here的说明自定义“操作”按钮,但我不认为此时有任何方法可以完全自定义键盘,但我可能错了。

答案 1 :(得分:1)

我担心的是“inputType”被列为不推荐使用的属性,这意味着它可能会工作一段时间,但是 - 最终 - Android将停止支持它。还有另一种选择吗?

更新:我的不好 - 我对inputMethod感到困惑。