【问题标题】:Android - customized keyboard key and actionAndroid - 自定义键盘按键和操作
【发布时间】:2009-11-03 22:07:16
【问题描述】:

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

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

【问题讨论】:

    标签: android keyboard customization


    【解决方案1】:

    它由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>
    

    会给你这个布局:

    而将 inputType 更改为 textEmailAddress 会给你这个:

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

    【讨论】:

    • 非常好,谢谢。你知道是否有可能以某种方式伪造虚拟键盘上的 ALT 键?我可以将 HOME 按钮指定为 ALT 吗?
    • 没问题...这是我一直想玩的东西 :) 我不认为你可以模拟 alt 键,但同样,我可能错了。应该注意的是,可以从头开始实现自己的键盘(或多或少)。他们有一个例子:developer.android.com/guide/samples/SoftKeyboard/index.html
    • 明白。虽然对于我不起眼的应用程序来说,实现全自定义键盘可能有点过分了 :)
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-06-06
      • 1970-01-01
      • 2013-01-18
      • 2011-08-25
      • 2013-08-06
      • 1970-01-01
      • 2020-02-16
      • 1970-01-01
      相关资源
      最近更新 更多