ScrollView元素隐藏在ActionBar后面

时间:2013-02-04 19:32:06

标签: android android-layout android-widget

当我点击文本字段并弹出键盘时,我的ScrollView的上面几个字段隐藏在ActionBar后面。

enter image description here

如果你看滚动条,那就是最顶层。这意味着即使我现在向上滚动,元素也不会被看到。

我正在使用ActionBarSherlock。我不确定这是ABS或ScrollView的问题。

这是我的scrollView的代码:

<ScrollView
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/scrollView_MessageUpdate"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    tools:context=".MessengerActivity"
    android:scrollbarStyle="outsideOverlay"
    android:background="@drawable/repeating_bg"
>

    <RelativeLayout
        android:id="@+id/RelativeLayout_MessageUpdate"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" 
        android:layout_gravity="center"
        android:gravity="center"
        android:background="@drawable/repeating_bg"
        >

        <EditText
            android:id="@+id/txtPostedBy"
            android:hint="@string/txtPostedByHint"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:ems="12"
            android:inputType="none"
            android:layout_marginTop="100dip">

            <requestFocus />
        </EditText>

        <EditText
            android:id="@+id/txtPostTitle"
            android:hint="@string/txtPostTitleHint"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/txtPostedBy"
            android:ems="12"
            android:layout_marginTop="3dip"
            android:inputType="text">
        </EditText>


        <EditText android:id="@+id/txtMessage"
            android:hint="@string/txtMessageHint"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:lines="3"
            android:gravity="top|left"
            android:inputType="textMultiLine"
            android:scrollHorizontally="false"
            android:layout_alignLeft="@+id/txtPostTitle"
            android:layout_alignRight="@+id/txtPostTitle"
            android:layout_below="@+id/txtPostTitle"
        />

        <EditText android:id="@+id/txtComment"
            android:hint="@string/txtCommentHint"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:lines="5"
            android:gravity="top|left"
            android:inputType="textMultiLine"
            android:scrollHorizontally="false"
            android:layout_alignLeft="@+id/txtPostTitle"
            android:layout_alignRight="@+id/txtPostTitle"
            android:layout_below="@+id/txtMessage"
        />

        <Button
            android:id="@+id/btnUpdateMessage"
            android:text="@string/btnUpdateText"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/txtComment"
            style="@style/styledBuutonNoIcon_text"
            android:background="@drawable/styled_inner_form_button"
            android:layout_alignLeft="@+id/txtPostTitle"
            android:layout_alignRight="@+id/txtPostTitle"
            android:layout_marginTop="3dip" />

        <Button
            android:id="@+id/btnCancelMessage"
            android:text="@string/btnCancelText"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/btnUpdateMessage"
            style="@style/styledBuutonNoIcon_text"
            android:background="@drawable/styled_inner_form_button"
            android:layout_alignLeft="@+id/txtPostTitle"
            android:layout_alignRight="@+id/txtPostTitle"
            android:layout_marginTop="3dip" />

        <!-- 
        <Button
            android:text="@string/btnDeleteText"
            android:id="@+id/btnDeleteSchool"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/btnCancelSchool"
            style="@style/styledBuutonNoIcon_text"
            android:background="@drawable/styled_inner_form_button"
            android:layout_alignLeft="@+id/txtSchoolWebsite"
            android:layout_alignRight="@+id/txtSchoolWebsite"
            android:layout_marginTop="3dip"
            />
         -->
    </RelativeLayout>
</ScrollView>

2 个答案:

答案 0 :(得分:2)

将您android:windowSoftInputMode活动的AndroidManifest.xml设置为"adjustPan"

根据Documentation

  

活动的主窗口未调整大小以便为软键盘腾出空间。相反,窗口的内容会自动平移,以便键盘不会遮挡当前焦点,用户可以随时看到他们正在键入的内容。

答案 1 :(得分:1)

我通过删除&#34; center&#34;解决了同样的问题。在主要布局

android:layout_gravity="center"
android:gravity="center"