3

我有一个在 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>
4

1 回答 1

2

可能不是最优雅的解决方案,但决定只在最后一行添加一个大的 marginBottom。

于 2012-05-08T13:15:52.190 回答