Why does not change the keyboard's height?
Code:
package com.example.myapplication;
import android.inputmethodservice.InputMethodService;
import android.inputmethodservice.Keyboard;
import android.inputmethodservice.KeyboardView;
import android.text.TextUtils;
import android.view.View;
import android.view.inputmethod.InputConnection;
import android.inputmethodservice.Keyboard.Key;
import android.inputmethodservice.Keyboard.Row;
import android.content.Context;
import android.content.res.Resources;
public class my extends InputMethodService implements KeyboardView.OnKeyboardActionListener {
[USER=1021285]@override[/USER]
public View onCreateInputView() {
// get the KeyboardView and add our Keyboard layout to
KeyboardView keyboardView =
(KeyboardView) getLayoutInflater().inflate(R.layout.keyboard_view,null);
//Keyboard keyboard = new Keyboard(this, R.layout.number_pad);
x m=new x(this,R.layout.number_pad);
Keyboard keyboard=m.f();
//keyboardView.setKeyboard(keyboard);
//keyboardView.invalidateAllKeys();
keyboard.getKeys().removeAll(keyboard.getKeys());
//Keyboard.Row r = new Keyboard.Row(keyboard);
Keyboard.Row r=m.rr(R.layout.number_pad,keyboardView);
r.defaultHeight = 90;
r.defaultWidth = 100;
r.defaultHorizontalGap = 350;
r.verticalGap = 150;
r.rowEdgeFlags = Keyboard.EDGE_BOTTOM;
Keyboard.Key k = new Keyboard.Key(r);
k.x = 0;
k.y = 0;
k.codes = new int[] {100};
k.label = "test";
keyboard.getKeys().add(k);
Keyboard.Row r2=m.rr(R.layout.number_pad,keyboardView);
r2.defaultHeight = 100;
r2.defaultWidth = 100;
r2.defaultHorizontalGap = 350;
r2.verticalGap = 150;
r2.rowEdgeFlags = Keyboard.EDGE_BOTTOM;
Keyboard.Key k2 = new Keyboard.Key(r2);
k2.x = k.x + k.width;
k2.y = 0;
k2.codes = new int[] {101};
k2.label = "saulius";
keyboard.getKeys().add(k2);
keyboardView.setKeyboard(keyboard);
keyboardView.setOnKeyboardActionListener(this);
return keyboardView;
}
[USER=1021285]@override[/USER]
public void onKey(int primaryCode, int[] keyCodes) {
InputConnection ic = getCurrentInputConnection();
if (ic == null) return;
switch (primaryCode) {
case Keyboard.KEYCODE_DELETE:
CharSequence selectedText = ic.getSelectedText(0);
if (TextUtils.isEmpty(selectedText)) {
// no selection, so delete previous
ic.deleteSurroundingText(0, 0);
} else {
// delete the selection
ic.commitText("", 1);
}
ic.deleteSurroundingText(1, 0);
break;
default:
char code = (char) primaryCode;
ic.commitText(String.valueOf(code), 1);
}
}
[USER=1021285]@override[/USER]
public void onPress(int primaryCode) {}
[USER=1021285]@override[/USER]
public void onRelease(int primaryCode) {}
[USER=1021285]@override[/USER]
public void onText(CharSequence text) {}
[USER=1021285]@override[/USER]
public void swipeLeft() {}
[USER=1021285]@override[/USER]
public void swipeRight() {}
[USER=1021285]@override[/USER]
public void swipeDown() {}
[USER=1021285]@override[/USER]
public void swipeUp() {}
}
class x extends Keyboard{
x(Context c, int id){
super(c,id,0,1000,400);
}
Keyboard f(){
this.setKeyHeight(80);
return this;
}
Keyboard.Row rr(int id,KeyboardView v){
return createRowFromXml(v.getResources(),v.getResources().getXml(id));
}
}
Last edited by a moderator: