2012-05-22 2 views
0

TabHost에서 Fragment 클래스를 사용하고 있습니다. 이 조각은 KeyboardView 같이 팽창이 잘 작동조각 안의 Android KeyboardView의 크기가 조절되지 않습니다.

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
     if (container == null) 
      return null; 
     View v = inflater.inflate(R.layout.main_keyboard, container, false); 

처음 onCreateView()는 (응용 프로그램이로드 될 때) 호출됩니다. 그러나 이후의 화면 회전 (런타임 구성 변경) 제대로 가로/세로로 KeyboardView을 크기 다시하지 않습니다

enter image description hereenter image description here

main_keyboard.xml 당신은 KeyboardView을 볼 수는 맨 아래에 참조되는 : `

<LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:orientation="vertical" > 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" 
     android:gravity="center" > 

     <RelativeLayout 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:paddingRight="10dip" > 

      <TextView 
       android:id="@+id/kbd_header" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:paddingRight="10dip" 
       android:text="@string/keyboard_type" /> 

      <TextView 
       android:id="@+id/kbd_type" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_below="@id/kbd_header" 
       android:text="@string/russian" 
       android:textColor="#FF0000" 
       android:textStyle="bold" /> 
     </RelativeLayout> 

     <ImageButton 
      android:id="@+id/btnRussian" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginRight="10dip" 
      android:contentDescription="@string/russian_keyboard" 
      android:src="@drawable/russia" /> 

     <ImageButton 
      android:id="@+id/btnEnglish" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginRight="10dip" 
      android:contentDescription="@string/english_keyboard" 
      android:src="@drawable/america" 
      /> 

     <ImageButton 
      android:id="@+id/btnCombined" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:contentDescription="@string/combined" 
      android:src="@drawable/combined" /> 

    </LinearLayout> 

<com.eazyigz.RussiaMediaSearch.CustomKeyboardView 
    android:id="@+id/keyboard_view" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:layout_margin="0px" 
    android:padding="0px" > 
</com.eazyigz.RussiaMediaSearch.CustomKeyboardView> 

사람은 KeyboardView가 제대로 크기를 만드는 방법에 대한 아이디어가 있습니까?

, 감사합니다

답변

0

문제가 해결 이고르 : 내가 사용되었습니다 if (savedInstanceState != null) onCreateView에서, 새로운 키보드 객체를 화면이 회전 할 때마다 생성되지 않았습니다. 그래서 키보드가 크기가 조정되지 않았습니다. 이를 해결하기 위해 매번 다음과 같은 코드를 실행해야했습니다.

mKeyboard = new Keyboard(getActivity(), R.xml.keyboard); 
관련 문제