有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java更改密钥的颜色

我想问一下,是否有一种方法可以改变我的自定义键盘上特定键的颜色

我当前的键盘是这样的:[http://i.stack.imgur.com/0RDK4.png]

但我想把当前的键盘布局升级如下:[http://i.stack.imgur.com/5der9.jpg]

我当前的代码是这样的

@Override
public View onCreateInputView()
{
    kv = (KeyboardView) getLayoutInflater().inflate(R.layout.keyboard, null);

    checkApp();

    if (name.toString().equals("com.安卓.browser")){
        keyboard = new Keyboard(this, R.xml.querty);

    }else{
        keyboard = new Keyboard(this, R.xml.count);
        mode = 0;
    }

    kv.setKeyboard(keyboard);
    kv.setOnKeyboardActionListener(this);
    return kv;
}

private String checkApp()
{

    ActivityManager am = (ActivityManager) this.getSystemService(Context.ACTIVITY_SERVICE);

    name = am.getRunningAppProcesses().get(0).processName;
    Toast.makeText(this, name, Toast.LENGTH_SHORT).show();

    return name;

}


@Override
public void onKey(int primaryCode, int[] keyCodes)
{
    InputConnection ic = getCurrentInputConnection();
    vibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
    vibrator.vibrate(100);

    switch (primaryCode)
    {
        case Keyboard.KEYCODE_MODE_CHANGE:
            if (mode == 1)
            {
                keyboard = new Keyboard(this, R.xml.count);
                kv.setKeyboard(keyboard);

                mode = 0;
                break;
            } else
            {
                keyboard = new Keyboard(this, R.xml.querty);
                kv.setKeyboard(keyboard);
                mode = 1;
                break;
            }
        case Keyboard.KEYCODE_DELETE:
            ic.deleteSurroundingText(1,0);
            break;

        case Keyboard.KEYCODE_SHIFT:
            caps = !caps;
            keyboard.setShifted(caps);
            kv.invalidateAllKeys();
            break;

        default:
            char code = (char) primaryCode;
            if (Character.isLetter(code) && caps){
                code = Character.toUpperCase(code);
            }
            ic.commitText(String.valueOf(code), 1);
            break;
    }


}

我的键盘xml是这样的

<Keyboard xmlns:安卓="http://schemas.安卓.com/apk/res/安卓"
      安卓:keyWidth="34%p"
      安卓:horizontalGap="0px"
      安卓:verticalGap="0px"
      安卓:keyHeight="40dp">

<Row>
    <Key 安卓:keyLabel="abc" 安卓:codes="-2" 安卓:keyWidth="50%p"  安卓:keyEdgeFlags="left" />
    <Key 安卓:keyLabel="123" 安卓:codes="-2" 安卓:keyEdgeFlags="right" 安卓:keyWidth="50%p"/>

</Row>

<Row>

    <Key 安卓:codes="49" 安卓:keyLabel="1" 安卓:keyEdgeFlags="left"/>
    <Key 安卓:codes="50" 安卓:keyLabel="2"/>
    <Key 安卓:codes="51" 安卓:keyLabel="3" 安卓:keyEdgeFlags="right"/>

</Row>

<Row>

    <Key 安卓:codes="52" 安卓:keyLabel="4" 安卓:keyEdgeFlags="left"/>
    <Key 安卓:codes="53" 安卓:keyLabel="5"/>
    <Key 安卓:codes="54" 安卓:keyLabel="6" 安卓:keyEdgeFlags="right"/>

</Row>

<Row>

    <Key 安卓:codes="161" 安卓:keyLabel="7" 安卓:keyEdgeFlags="left"/>
    <Key 安卓:codes="56" 安卓:keyLabel="8"/>
    <Key 安卓:codes="57" 安卓:keyLabel="9" 安卓:keyEdgeFlags="right"/>

</Row>

<Row>

    <Key 安卓:codes="" 安卓:keyLabel="" 安卓:keyEdgeFlags="left"/>
    <Key 安卓:codes="48" 安卓:keyLabel="0"/>
    <Key 安卓:codes="-5" 安卓:keyLabel="Del" 安卓:keyEdgeFlags="right" 安卓:isRepeatable="true"/>

</Row>

我希望你们能帮我


共 (0) 个答案