我正在使用 DialogFragment 显示一个对话框,该对话框的布局被定义为一个垂直的 LinearLayout,其中有一些 TextViews 和 EditTexts。此 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,而不是最上面的视图。此外,当键盘未打开时,我能够正确滚动整个布局。