0

私のAndroidフラグメントは、サポートGridLayoutを使用して等間隔のビュー(最初の画像)を表示しています。それは私がのEditTextとキーボードをタップしたときのGridLayoutのサイズを変更して、私のマニフェストでは、私はどのようにソフトキーボードが表示を変更しています(第2画像)が表示されます。キーボードを隠してサイズ調整した後、GridLayoutがリセットされない

android:windowSoftInputMode="adjustResize|stateHidden" 

ソフトキーボードが表示されていない場合は、GridLayoutのはありません初期サイズ(最後の画像)にリセットされません。

Screenshot showing full screen Screenshot with soft keyboard open Screenshot with soft keyboard closed and GridLayout no longer looking like first screenshot

GridLayoutには、最初のスクリーンショットで元の設定に戻って取得する方法上の任意のアイデア?問題が解消するマニフェストからandroid:windowSoftInputModeを削除するとわかりますが、このデモが作成された別のアプリで変更することはできません。

はここフラグメントのレイアウトファイルです:

<android.support.v7.widget.GridLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:grid="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    grid:columnCount="2" 
    grid:rowCount="3" 
    grid:orientation="horizontal"> 

    <EditText 
     android:layout_width="100sp" 
     android:layout_height="80sp" 
     grid:layout_gravity="center" 
     grid:layout_columnWeight="1" 
     grid:layout_rowWeight="1"/> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textSize="80sp" 
     grid:layout_gravity="center" 
     grid:layout_columnWeight="1" 
     grid:layout_rowWeight="1" 
     android:text="B"/> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textSize="80sp" 
     grid:layout_gravity="center" 
     grid:layout_columnWeight="1" 
     grid:layout_rowWeight="1" 
     android:text="C"/> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textSize="80sp" 
     grid:layout_gravity="center" 
     grid:layout_columnWeight="1" 
     grid:layout_rowWeight="1" 
     android:text="D"/> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textSize="80sp" 
     grid:layout_gravity="center" 
     grid:layout_columnWeight="1" 
     grid:layout_rowWeight="1" 
     android:text="E"/> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textSize="80sp" 
     grid:layout_gravity="center" 
     grid:layout_columnWeight="1" 
     grid:layout_rowWeight="1" 
     android:text="F"/> 

</android.support.v7.widget.GridLayout> 

答えて

0

私はGridLayoutのをあきらめたと問題なく動作しますConstraintLayoutを使用してに切り替えました。

<android.support.constraint.ConstraintLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

     <EditText 
      android:id="@+id/itemA" 
      android:layout_width="100sp" 
      android:layout_height="80sp" 
      app:layout_constraintTop_toTopOf="parent" 
      app:layout_constraintLeft_toLeftOf="@+id/itemC" 
      app:layout_constraintBottom_toTopOf="@+id/itemC" 
      app:layout_constraintRight_toRightOf="@+id/itemC"/> 

     <TextView 
      android:id="@+id/itemB" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:textSize="80sp" 
      app:layout_constraintLeft_toLeftOf="@+id/itemD" 
      app:layout_constraintBottom_toBottomOf="@+id/itemA" 
      app:layout_constraintRight_toRightOf="@+id/itemD" 
      app:layout_constraintVertical_chainStyle="spread" 
      android:text="B"/> 

     <TextView 
      android:id="@+id/itemC" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:textSize="80sp" 
      app:layout_constraintTop_toBottomOf="@+id/itemA" 
      app:layout_constraintBottom_toTopOf="@+id/itemE" 
      app:layout_constraintLeft_toLeftOf="parent" 
      app:layout_constraintRight_toLeftOf="@+id/itemD" 
      app:layout_constraintHorizontal_chainStyle="spread" 
      android:text="C" 
      app:layout_constraintVertical_bias="0.0"/> 

     <TextView 
      android:id="@+id/itemD" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:textSize="80sp" 
      app:layout_constraintLeft_toRightOf="@+id/itemC" 
      app:layout_constraintBottom_toBottomOf="@+id/itemC" 
      app:layout_constraintRight_toRightOf="parent" 
      android:text="D"/> 

     <TextView 
      android:id="@+id/itemE" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:textSize="80sp" 
      app:layout_constraintTop_toBottomOf="@+id/itemC" 
      app:layout_constraintLeft_toLeftOf="parent" 
      app:layout_constraintBottom_toBottomOf="parent" 
      app:layout_constraintRight_toLeftOf="@+id/itemF" 
      android:text="E"/> 

     <TextView 
      android:id="@+id/itemF" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:textSize="80sp" 
      app:layout_constraintTop_toBottomOf="@+id/itemD" 
      app:layout_constraintLeft_toRightOf="@+id/itemE" 
      app:layout_constraintBottom_toBottomOf="parent" 
      app:layout_constraintRight_toLeftOf="parent" 
      android:text="F"/> 

    </android.support.constraint.ConstraintLayout> 
関連する問題