3

ScrollView 内に fills_parent という TableLayout があります。ソフト キーボードが表示され、最後のいくつかの EditText が隠れている場合を除いて、すべてが完全に機能します。技術的には、キーボードが表示されていないと画面がすべてのコンテンツに収まるため、画面を下にスクロールすることはできません。キーボードが表示されているときに、下にスクロールして残りの EditText を表示することはできず、キーボードを非表示にし、ユーザーが選択して下の EditText の 1 つに値を入力できるようにします。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>
4

1 に答える 1

2

おそらく最も洗練されたソリューションではありませんが、最後の行に大きな marginBottom を追加することにしました。

于 2012-05-08T13:15:52.190 に答える