私の活動のレイアウトは以下のとおりです。
<LinearLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:layout_width="fill_parent"
Android:layout_height="fill_parent"
Android:orientation="vertical">
<FrameLayout Android:id="@+id/title_bar"
Android:layout_width="fill_parent"
Android:layout_height="25dip"
Android:background="@drawable/bg_title" />
<LinearLayout Android:id="@+id/main"
Android:width="fill_parent"
Android:layout_height="fill_parent"
Android:layout_weight="1">
<ListView Android:id="@+id/Android:list"
Android:layout_width="fill_parent"
Android:layout_height="fill_parent" />
<TextView Android:id="@+id/Android:empty"
Android:layout_width="fill_parent"
Android:layout_height="fill_parent" />
</FrameLayout>
</LinearLayout>
<LinearLayout
Android:layout_width="fill_parent"
Android:layout_height="50dip" >
<EditText Android:id="@+id/query"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:hint="Enter some search terms"
Android:singleLine="true"
Android:layout_weight="1" />
<Button Android:id="@+id/btn_hide"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:background="@drawable/btn_hide"
Android:layout_marginLeft="6dip" />
</LinearLayout>
</LinearLayout>
そのため、検索ボックスは画面の下部に固定されています。
ただし、ユーザーがEditTextをクリックすると、ソフトキーボードが表示され、検索ボックス以外のレイアウトが画面から押し出されます。
私はAndroidを始めたばかりなので、ここで何か問題がありますか?
マニフェストでのアクティビティに以下を追加してみてください。
Android:windowSoftInputMode="adjustPan"
興味のある方は、Android:windowSoftInputMode="adjustPan"
とAndroid:windowSoftInputMode="adjustResize"
の違い:
"adjustResize"
アクティビティのウィンドウのサイズが変更され、画面上のソフトキーボード用のスペースが確保されます。
"adjustPan"
アクティビティのウィンドウの内容は自動的にパンされるため、現在のフォーカスがキーボードによってブロックされることはありません。これは、ユーザーが入力内容を確認できるようにするためです。これは、ウィンドウの隠された部分にアクセスして操作するために、ユーザーがソフトキーボードを閉じる必要がある場合があるため、通常、サイズ変更よりも望ましくありません。
@Rajタブ付きアプリケーションを使用している場合は、追加する必要があります
Android:windowSoftInputMode="adjustPan"
タブを追加するActivity
では、これはおそらくランチャーアクティビティです。
これが私のコードの抜粋です
<activity
Android:label="@string/app_name"
Android:name=".MainActivity" Android:windowSoftInputMode="adjustPan">
<intent-filter >
<action Android:name="Android.intent.action.MAIN" />
<category Android:name="Android.intent.category.LAUNCHER" />
</intent-filter>