1

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

在此处输入图像描述

如果您查看滚动条,它位于最顶部。这意味着即使我现在向上滚动,元素也不会出现。

我正在使用 ActionBarSherlock。我不确定这是 ABS 还是 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>
4

2 回答 2

3

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

根据文档

Activity 的主窗口没有调整大小来为软键盘腾出空间。相反,窗口的内容会自动平移,因此当前焦点永远不会被键盘遮挡,用户始终可以看到他们正在输入的内容。

于 2013-02-05T17:27:37.227 回答
1

我通过删除主布局中的“中心”解决了同样的问题

android:layout_gravity="center"
android:gravity="center"
于 2015-02-02T14:54:44.227 回答