DialogFragment を使用してダイアログを表示しています。このダイアログのレイアウトは、いくつかの TextView と EditText がある垂直 LinearLayout として定義されています。この LinearLayout は Scrollview 内に配置されます。レイアウトは次のようなものです (申し訳ありませんが、会社のポリシーにより正確なコードを共有することはできません)。
<ScrollView
layout_width="700dp"
layout_width="500dp"
overScrollmode="never">
<LinearLayout
orientation="vertical">
<LinearLayout
orientation="horizontal">
<TextView/>
<EditText
inputType="text"/>
</LinearLayout>
<LinearLayout
orientation="horizontal">
<TextView/>
<EditText
inputType="text"/>
</LinearLayout>
<LinearLayout
orientation="horizontal">
<TextView/>
<EditText
inputType="number"/>
</LinearLayout>
<LinearLayout
orientation="horizontal">
<TextView/>
<EditText
id="scrollupStopsHere"
inputType="text"/>
</LinearLayout>
<LinearLayout
orientation="horizontal">
<TextView/>
<EditText
inputType="text"/>
</LinearLayout>
<LinearLayout
orientation="horizontal">
<TextView/>
<EditText
inputType="text"/>
</LinearLayout>
</LinearLayout>
</ScrollView>
キーボードの次のボタンを使用して最後の EditText に移動し、上にスクロールしようとすると、id: "scrollupStopsHere" の edittext までスクロールし、一番上のビューまでスクロールしません。また、キーボードが開いていないときは、レイアウト全体を正しくスクロールできます。