これについて何千もの質問があることは知っていますが、私はそれらをクロールしましたが、解決策はどれもうまくいきません.
私のアクティビティには、この種のレイアウトのタブ付きインターフェースがあります。
<RelativeLayout>
<LinearLayout tabBar>
<Button tab1 />
<Button tab2 />
<Button tab3 />
<Button tab4 />
</LinearLayout>
<ViewFlipper>
<fragment Tab1 />
<fragment Tab2 />
<fragment Tab3 />
<fragment Tab4 />
</ViewFlipper>
</RelativeLayout>
LinearLayout で tab2 ボタンがタップされると、ViewFlipper を変更して、Tab2Fragment によって制御される子 2 を表示します。
Tab2Fragment のレイアウトは次のようになります。
<FrameLayout>
<ListView/>
</FrameLayout>
ListView 内の項目が選択されたら、新しいフラグメントを作成します。これを Sub2Fragment と呼び、子として FrameLayout に追加します。
Sub2Fragment には次のようなレイアウトがあります。
<LinearLayout android:layout_height="fill_parent" android:layout_width="fill_parent">
<LinearLayout> <TextView /> <EditText /> </LinearLayout>
<LinearLayout> <TextView /> <EditText /> </LinearLayout>
<LinearLayout> <TextView /> <EditText /> </LinearLayout>
<LinearLayout> <TextView /> <EditText /> </LinearLayout>
<Button />
</LinearLayout>
ソフト キーボードが表示されると、EditText と Button の一部が覆われています。その LinearLayout を ScrollView でラップしてみました:
<ScrollView android:layout_height="fill_parent" android:layout_width="fill_parent">
<LinearLayout android:layout_height="wrap_content" android:layout_width="fill_parent">
<LinearLayout> <TextView /> <EditText /> </LinearLayout>
<LinearLayout> <TextView /> <EditText /> </LinearLayout>
<LinearLayout> <TextView /> <EditText /> </LinearLayout>
<LinearLayout> <TextView /> <EditText /> </LinearLayout>
<Button />
</LinearLayout>
</ScrollView>
また、アクティビティの有無にかかわらずマニフェストをandroid:windowSoftInputMode="adjustResize"
試しましたが、ビューのサイズを自動的に変更して、ソフトキーボードが表示されているときに ScrollView でコンテンツ全体をスクロールできるようにするものは何もありません。
また、アクティビティ全体を ScrollView でラップしようとしましたが、画面全体のサイズを埋めることに基づいており、ScrollView が子レイアウトを画面の実際のサイズから切り離すため、レイアウト全体が台無しになりました...
何か助けはありますか?