我正在实现自己的自定义键盘。
我使用 this tutorial用于实现键盘
<?xml version="1.0" encoding="utf-8"?>
<Row>
<Key android:keyLabel="q" android:keyEdgeFlags="left"/>
<Key android:keyLabel="w"/>
<Key android:keyLabel="e"/>
<Key android:keyLabel="r"/>
<Key android:keyLabel="t"/>
<Key android:keyLabel="y"/>
<Key android:keyLabel="u"/>
<Key android:keyLabel="i"/>
<Key android:keyLabel="o"/>
<Key android:keyLabel="p" android:keyEdgeFlags="right"/>
</Row>
我想在按键按钮上有 2 个标签。与下图(红色)相同:
如何更改键盘 xml 以使其具有此功能?当我们长按按钮时,我们应该选择数字而不是字母
最佳答案
您需要创建一个 KeyboardView 扩展类并重写 OnDraw 方法,如下所示:
public class MKeyboardView extends KeyboardView {
@Override
public void onDraw(Canvas canvas) {
super.onDraw(canvas);
Paint paint = new Paint();
paint.setTextSize(15);
paint.setColor(Color.GRAY);
List<Key> keys = getKeyboard().getKeys();
for(Key key: keys) {
if(key.codes[0] == 113)
canvas.drawText("1", key.x + (key.width/2), key.y + 25, paint);
}
}
}
您可以通过更改 x 和 y 参数来更改位置。
享受:)
关于带有 2 个标签的 Android 自定义键盘(右上角的主要标签和小标签),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18738452/