2016-07-09 1 views
0

이모티콘 키보드로 변경하고 테마를 변경하는 버튼이있는 키보드를 만들었습니다. xml 파일의 레이아웃에 관한 레이아웃을 만들었지 만, 어떻게 팽창 시킬지 모르겠습니다. 버튼 클릭으로 레이아웃을 부풀리기 위해이 방법을 시도했지만 아무 일도 일어나지 않습니다.안드로이드 소프트 키보드를 통해 레이아웃 배치

menuBtn.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      LayoutInflater inflater = (LayoutInflater) getApplicationContext().getSystemService(Activity.LAYOUT_INFLATER_SERVICE); 
      inflater.inflate(R.layout.theme_layout, null, false); 
      //inflate here 
     } 
    }); 

레이아웃을 늘리려면 어떻게해야합니까? 또한 정상적인보기가 아닌 키보드보기를 통해이를 팽창시켜야합니다. enter image description here

답변

0

함수가 팽창하고 결과를 던져 : 여기

키보드의 스크린 샷이다. 결과를 View 변수에 저장하고이 변수로 뷰 트리를 수정해야합니다. 그럴 수 있습니다

ViewGroup parent = (ViewGroup) yourCurView.getParent(); 
        parent.removeView(yourCurView); 
        parent.addView(yourNewView); 

키보드간에 전환하려면 KeyboardView.setKeyboard()을 사용하십시오.

+0

레이아웃을 배치하지만 전개 된 레이아웃은 활동에서 선언 된 경우에도 아무 것도 수행하지 않습니다. 이 경우 어떻게해야합니까? –

+0

사용자 정의 키보드에 대해 말하는 경우에는 활동이 아니라 서비스입니다. 시스템에서 비정상적인보기가 [InputMethodService.onCreateInputView()] (https://developer.android.com/reference/android/inputmethodservice/InputMethodService.html#onCreateInputView())에 반환 될 것으로 예상합니다. –

관련 문제