我有一个在 ScrollView 内填充_parent 的 TableLayout。除了显示软键盘时,一切都完美无缺,它掩盖了最后几个 EditTexts。从技术上讲,屏幕不能再向下滚动,因为没有键盘显示,屏幕适合所有内容。只是当键盘显示时,我无法向下滚动以查看剩余的 EditTexts,而无需隐藏键盘并允许用户仅选择并将值输入到较低的 EditTexts 之一。使用这个,我试过:
Window.SetSoftInputMode((int)SoftInput.AdjustPan);
和
Window.SetSoftInputMode((int)SoftInput.AdjustResize);
和
[Activity(WindowSoftInputMode = SoftInput.AdjustPan)]
和
[Activity(WindowSoftInputMode = SoftInput.AdjustResize)]
和
Window.SetFlags(WindowManagerFlags.AltFocusableIm, WindowManagerFlags.AltFocusableIm);
那只是完全阻止了键盘出现。这不是我需要的。我需要调整我的内容以在可见时显示在键盘上方,以便我可以继续滚动到显示键盘的最底部 EditText。非常长的 xml 的摘录。该表在代码中动态填充。
<ScrollView
android:id="@+id/peScroll"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/security">
<TableLayout
android:id="@+id/poweredEquip"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:stretchColumns="*"
android:gravity="center"
android:padding="10dip">
<TableRow
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/tab_bg_unselected"
android:gravity="center">
<TextView
android:text="Serial"
android:textSize="15sp"
android:textColor="@android:color/black"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="middle"
android:gravity="center"
android:layout_column="1"/>
</TableRow>
</TableLayout>
</ScrollView>