2016-07-28 3 views
3

android 키보드 클래스 (https://developer.android.com/reference/android/inputmethodservice/Keyboard.html)에서 객체를 만듭니다. 제 경우에는 기본 키보드가 필요없고 사용자 정의 키보드가 필요합니다. 그러나 Keyboard 클래스의 생성자에는 행과 키의 정의가 포함 된 xml 리소스 파일이 필요합니다. 그것은 단지 사용자 정의 키보드를 만드는 것 같습니다.기본적으로 KeyboardView를 XML 리소스 파일의 키 정의가없는 키보드로 만듭니다.

은 내가 TabLayout 내 KeyboardView에서 사용하는 키보드 클래스의 객체가 필요 :

keyboard123 = (KeyboardView) Tab2View.findViewById(R.id.keyboard123); 
Keyboard k1 = new Keyboard(Tab2View.getContext(), R.xml.qwerty_keyboard); 
k1 = new Keyboard(Tab2View.getContext(), com.android.internal.R.id.keyboardView); 
keyboard123.setKeyboard(k1); 

위의 코드는 잘 작동하지만, 내가 키 정의와 xml 파일 "qwerty_keyboard"를 만들 경우에만 가능합니다. 거기에 안드로이드 기본 키보드를 가져 와서 TabLyout의 탭 중 하나에 표시하는 방법이 있습니까?

enter image description here

+0

키보드를 표시 하시겠습니까? –

+0

예 :) TabLayout 내에 표시되어야합니다. 이 지금까지 사용자 지정 키보드에 대해 작동하지만 기본 키보드가 좋을 것입니다 때문에 내 자신의 키보드를 구현하고 싶지 않아 :) –

답변

3

당신은 당신이 그것을 시도하는 방법을 할 수 없습니다. 자체 키보드로 실행되는 별개의 앱이므로 기본 키보드를 만들 수 없습니다.

당신이하려고하는 것을 달성하기 위해 당신은 inputmanager가 키보드 탭으로 갈 때 팝업을 요구할 필요가 있습니다.하지만 솔직히 말해서 당신은 내가 얻은 크기 (높이) 이런 종류의 디자인을 권장합니다. 단지 그것에 대해 생각해보십시오. 모두가 키보드를 만들 수 있고 모든 사람이 하나를 설치할 수 있습니다. 많은 키보드가 많이 있습니다. 모두 높이가 다르지만, 그 높이를 얻고 마술을 할 수는 있습니다. ...

또 다른 대안은 내 내장 키보드를 만드는 것입니다 (이미했던 것처럼).

관련 문제