如何删除可重复的按键,Android自定义键盘的按键预览
如何删除重复键,Android自定义键盘的键预览。 我使用下面的方法删除我想要的键的键预览。 但是这种方法不适用于可重复键。 (android:isRepeatable =“true”)如果密钥不可重复,则以下方法正在工作。
删除键xml
<Key android:codes="-5"
android:keyWidth="13%p"
android:keyIcon="@drawable/ic_key_delete_white"
android:keyBackground="@color/dark_key_background"
android:isRepeatable="true"
android:horizontalGap="3.5%p"
android:keyEdgeFlags="right"/>
输入法服务类
@Override
public void onPress(int primaryCode) {
if (primaryCode == -1
|| primaryCode == -5){
kv.setPreviewEnabled(false);
}
}
@Override
public void onRelease(int primaryCode) {
if(primaryCode == -1
|| primaryCode == -5){
kv.setPreviewEnabled(true);
}
}
反转setPreviewEnabled标志..
public void onCreate() {
mInputView.setPreviewEnabled(false);
}
public void onPress(int primaryCode) {
if (primaryCode==-1||primaryCode==-2||primaryCode==-5||primaryCode==-4){
} else {
mInputView.setPreviewEnabled(true);
}
}
public void onRelease(int primaryCode) {
mInputView.setPreviewEnabled(false);
}
在下面的例子中,我们有两个可重复的键(空格和删除)
第1步:在onCreateInputView()中将PreviewEnabled设置为“false”:
kv.setPreviewEnabled(false);
第2步:在onPress()中添加以下if-else语句:
public void onPress(int primaryCode)
{
if (!(primaryCode==32||primaryCode==Keyboard.KEYCODE_DELETE))
{
kv.setPreviewEnabled(true);
}
else
{
kv.setPreviewEnabled(false);
}
}
第3步:在onRelease()中将PreviewEnabled设置为“false”:
public void onRelease(int primaryCode)
{
kv.setPreviewEnabled(false);
}
链接地址: http://www.djcxy.com/p/83875.html
上一篇: How to remove repeatable keys, key preview of the Android custom keyboard