3

で使用android:windowSoftInputMode="adjustPan"していmanifest.xmlます。それは私に仕事をうまくやっていますが、それについて何かが遅れています。たとえば、画面の下半分にあるビューにフォーカスするEditTextと、タイトル バーもアクティビティのコンテンツと共にスクロールされます。

画像はこちら

私が望むのは、コンテンツをスクロールするときにタイトルバーを所定の位置にフリーズ/フローティングすることだけです。ちょうどこのような:

画像はこちら

adjustResizeいいえ、使用したくありません

長い間答えを探していたので、どんな助けも大歓迎です。

4

2 に答える 2

-1

エースが提案した答えは、本質的に必要なものです。私の答えは、物事を少し明確にすることを目的としています。

あなたがしなければならないことが2つあります。まず、マニフェストでアクティビティに次のように設定します。android:windowSoftInputMode="adjustResize"

次に、以下のコードに示すように、アクティビティのレイアウトで、ツールバー/タイトル バーの下に ScrollView を設定します。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                android:layout_width="match_parent"
                android:layout_height="match_parent">

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_height="?attr/actionBarSize"
        .../>

    <ScrollView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            ...>

            <RelativeLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                ...>
           </RelativeLayout>

    </ScrollView>
</RelativeLayout>

私が理解していることから、これがどのように機能するかです。デバイスでソフト キーボードを開くと、アクティビティのレイアウトが「サイズ変更」されます。レイアウトは ScrollView 内にあるため、この部分がサイズ変更され、縮小されます。したがって、ツールバー/タイトルバーはそのまま残り、キーボードが表示されている場合、ScrollView のレイアウトはスクロール可能になります。

于 2016-05-04T15:11:32.257 に答える