Android软键盘在ScrollView中隐藏了EditTexts

时间:2012-04-30 18:00:13

标签: android xamarin.android

我在ScrollView中有一个Fill_parent的TableLayout。一切都很完美,除非显示软键盘,它掩盖了最后几个EditTexts。从技术上讲,屏幕不能再向下滚动,因为没有键盘显示,屏幕适合所有内容。只是当键盘显示时,我无法向下滚动以查看剩余的EditTexts而不隐藏键盘并允许用户只选择并在其中一个较低的EditTexts中输入值。使用this,我尝试过:

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>

1 个答案:

答案 0 :(得分:1)

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