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) 个答案