有没有可能通过编程来改变键盘的位置? 我正在开发一个用于某个设备的应用程序,如果键盘固定在底部,使用起来很难。
我尝试创建一个自定义的键盘,通过扩展InputMethodService,我能够更改按键布局,但我不能更改键盘的视图位置。
SwiftKey允许取消固定键盘并垂直拖动它,他们是如何做到的?
public boolean onTouch(View view, MotionEvent event) {
ViewGroup.MarginLayoutParams params = (ViewGroup.MarginLayoutParams) view.getLayoutParams();
boolean performClick = false;
switch (event.getAction()) {
case MotionEvent.ACTION_MOVE:
moveToY = (int) (event.getRawY() - dy);
moveToX = (int) (event.getRawX() - dx);
params.topMargin = moveToY;
params.leftMargin = moveToX;
view.setLayoutParams(params);
performClick = false;
break;
case MotionEvent.ACTION_UP:
performClick = true;
break;
case MotionEvent.ACTION_DOWN:
dy = event.getRawY();
dx = event.getRawX();
performClick = true;
break;
}
return !performClick; }
浮动键盘视图的更详细示例在这里