• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

Why does not change the keyboard's height

psaulius

Newbie
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:
Back
Top Bottom