少し複雑なレイアウトの Android アプリに取り組んでおり、思い通りに動作させるために悪夢を見ています。私のメインレイアウトは次のように定義されています:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#000000"
tools:context=".MainLayout" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<RelativeLayout
android:id="@+id/content"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:scrollbars="none" />
<LinearLayout
android:id="@+id/menudown"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
... buttons ...
</LinearLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/header"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerInParent="true" >
... header content ...
</LinearLayout>
</RelativeLayout>
レイアウトの考え方は、コンテンツ フレーム ( content )、フッター メニュー ( menudown )、およびヘッダー ( header ) をコンテンツの上に置き、画面の上部に配置することです。- 申し訳ありませんが、画像はありません。機密プロジェクトです。
ユーザーのセクションに応じて、コンテンツは他のレイアウトで膨らみます。そのうちのいくつかは入力するフォームです。だから、私はちょうどadjustPanを使用し、すべてがうまくいきました。
ここでの問題は、ユーザーが他のフィールドに書いたものを表示できるように、ソフト キーボードが表示されている間、コンテンツをスクロール可能にするようクライアントから要求されたことです。
フォームが画面に収まるので、サイズを変更しない限り、コンテンツをスクロールビューとして使用しても役に立ちません。
そして、単純にadjustResizeに変更してもうまくいきません. また、視覚効果がひどいです。
このアプリはすでに iPad 用に (別の誰かによって) 作成されており、何が問題なのかというと、menudown が画面の下部、ソフト キーボードの下に配置されたままになり、コンテンツビューのみが押し上げられます。その後、コンテンツはスクロール可能になり、ユーザーはコンテンツ全体を見ることができます。