在自定义键盘中更改运行时键的图标

时间:2013-01-21 10:17:40

标签: android keyboard

我正在创建自定义键盘,在运行时更改text & icon of key并且我已成功更改text of key,但找不到任何更改icon of key的方法。

任何帮助,提示都会很明显。

更改密钥文本的代码为:

Keyboard currentKeyboard = CustomKeyboard.mInputView.getKeyboard();
List<Keyboard.Key> keys = currentKeyboard.getKeys();
CustomKeyboard.mInputView.invalidateKey(changeKey);
keys.get(changeKey).label = "Change Text";

2 个答案:

答案 0 :(得分:2)

不要使用“.lable”属性 这将需要> lable或.icon(grrrr ....非常糟糕,但仍然很明显,请考虑图像上的顶级事物,因为此处图标不是背景,而是其顶部图像。)
相反,你必须使用:

android:keyIcon="@drawable/your_top_icon"  
android:text="your_text"(Text will not appear on key but you will get this value in listener.)  

现在情况也会发生变化:
而不是onKey()方法现在onText()方法将被调用(序列将是相同的)
通过这种方式,您可以在运行时更改单个图标。

keys.get(changeKey).text = "Change Text";   
keys.get(changeKey).icon = Drawable;

-ve points:
这意味着如果键盘中有40(或400)个键,则必须使用40个不同的图像:'(

您可以应用一些技巧,例如应用样式,但同样会用于鲸鱼布局,因为个别键样式不起作用。

如果发现任何让你知道的事情,我也会以其他方式寻找替换个人形象。

答案 1 :(得分:0)

在Onkey的路上:

    #!/bin/csh
    set list = "`ls -l`"
    echo "$list"

keycode是:xml上的密钥代码或Keyboard.KEYCODE _...