Android软键盘在ScrollView中隐藏EditTexts

我有一个TableLayout在ScrollView里面填充_parent。 除了显示软键盘时,一切都可以完美运行,它会遮挡最后几个EditText。 从技术上讲,由于没有显示键盘,屏幕不能再滚动下来,屏幕适合所有的内容。 只是在显示键盘时,我无法向下滚动以查看剩余的EditText,而不隐藏键盘,并允许用户选择并将值输入到其中一个较低的EditText中。 使用这个,我试过了:

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>

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

链接地址: http://www.djcxy.com/p/63689.html

上一篇: Android Soft Keyboard Obscures EditTexts in ScrollView

下一篇: Hibernate ORM mapping between Java classes