2012-03-20 23 views
3

ヘッダーとフッターを含むフラグメントが必要です。間にあるコンテンツ(もちろん)はスクロール可能である必要があります。それまではすべてがうまくいっています。 しかし、スクロールビューの内部は編集テキストでなければならないので、ある瞬間にキーボードが現れます。残念ながらキーボードでもフッターが表示されます。または、windowSoftInputModeをadjustPanに変更するとヘッダーが非表示になります。ヘッダー、スクロールビュー、フッターを含むアンドロイドレイアウト、フッターがキーボードで表示されます

私が達成したいのは、フッターが最下部にとどまりますが、スクロールビューの内容がスクロールアップすることです(キーボードがエディットテキストにフォーカスを当てたとき)。また、ヘッダーは常に表示する必要があります。

この現象をどのように達成するための提案がありますか?

+0

私は同じ問題を抱えています... adjustPanは本当にそれをしません。スクロールがうまくいきません。(私のコンテンツはScrollViewの中にあります) – Ted

+0

次のリンクで同様の問題が発生しました。私の活動には上部ツールバーがヘッダーとして、ビュー階層にフッターボタンが含まれていました。 http://stackoverflow.com/questions/10599451/how-to-make-an-android-view-scrollable-when-the-keyboard-appears/38210659#38210659 –

答えて

0

あなたはアンドロイドを試しましたか?isScrollContainer = "false"?

+0

scrollview?またはフッター?または...?スクロールビューの – vanleeuwenbram

+0

?またはフッター?または...? 編集:私はscrollViewにisScrollContainerを置くと、AdjustPanを使うときと同じように振舞うので、本当に何が必要なのですか? – vanleeuwenbram

+0

この問題は@vanleeuwenbramを解決しましたか? – Ted

0

Androidのヘッダー、フッター、およびスクロール可能なコンテンツ(ボディ)

あなたは次のことを試すことができます。

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" > 

    <LinearLayout 
     android:id="@+id/header" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentTop="true" 
     android:padding="10dp" > 

     <TextView 
      android:id="@+id/TextView01" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="header" 
      android:textSize="40sp" > 
     </TextView> 
    </LinearLayout> 

    <LinearLayout 
     android:id="@+id/footer" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:padding="10dp" > 

     <TextView 
      android:id="@+id/TextView02" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="footer" 
      android:textSize="40sp" > 
     </TextView> 
    </LinearLayout> 

    <ScrollView 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_above="@id/footer" 
     android:layout_below="@id/header" > 

     <LinearLayout 
      android:id="@+id/body" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:orientation="vertical" > 

      <EditText 
       android:id="@+id/edit1" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:padding="10dp" /> 

      <EditText 
       android:id="@+id/edit2" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:padding="10dp" /> 

      <EditText 
       android:id="@+id/edit3" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:padding="10dp" /> 

      <EditText 
       android:id="@+id/edit4" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:padding="10dp" /> 

      <EditText 
       android:id="@+id/edit5" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:padding="10dp" /> 

      <EditText 
       android:id="@+id/edit6" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:padding="10dp" /> 

      <EditText 
       android:id="@+id/edit7" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:padding="10dp" /> 

      <EditText 
       android:id="@+id/edit8" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:padding="10dp" /> 

      <Button 
       android:id="@+id/btn" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:text="Submit" /> 
     </LinearLayout> 
    </ScrollView> 

</RelativeLayout> 

Androidのマニフェストであなたの活動にandroid:windowSoftInputMode="adjustPan"を追加します。

関連する問題