0

少し複雑なレイアウトの 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 が画面の下部、ソフト キーボードの下に配置されたままになり、コンテンツビューのみが押し上げられます。その後、コンテンツはスクロール可能になり、ユーザーはコンテンツ全体を見ることができます。

4

1 に答える 1

0

私もこれと同じ問題を抱えており、キーボードを iOS と同じように動作させています。他のすべての投稿から得られる最善のことは、手動でソフト キーボードを検出し、ビューを上に移動することです。

これが最善のようです: Android でソフトウェア キーボードの可視性を確認するにはどうすればよいですか?

于 2013-01-16T02:50:03.850 に答える