Android 当键盘出现时,布局向上滚动

Android 当键盘出现时,布局向上滚动,android,android-layout,keyboard,Android,Android Layout,Keyboard,我在开发Android应用程序时遇到了一些麻烦:我创建了一个TabActivity并在其中放置了一个布局,它将用于即时消息。当我尝试在im_messageText字段中放入一些文本时,整个布局会向上移动,以便键盘可以插入,这是非常不协调的。我应该怎么做才能使im_historyHolder重新调整大小而不是皱眉 代码如下: 即时通讯器布局: <LinearLayout android:id="@+id/im_mainLayout" android:layout_width=

我在开发Android应用程序时遇到了一些麻烦:我创建了一个TabActivity并在其中放置了一个布局,它将用于即时消息。当我尝试在im_messageText字段中放入一些文本时,整个布局会向上移动,以便键盘可以插入,这是非常不协调的。我应该怎么做才能使im_historyHolder重新调整大小而不是皱眉

代码如下:

即时通讯器布局:

<LinearLayout
    android:id="@+id/im_mainLayout"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    xmlns:android="http://schemas.android.com/apk/res/android">
    <LinearLayout 
        android:id="@+id/im_captionLayout"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">
        <Button 
            android:id="@+id/im_backButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Back"/>
        <TextView 
            android:id="@+id/im_buddyName"
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:text="%USERNAME%"
            android:layout_weight="1"
            android:gravity="center_horizontal|center_vertical"
            android:textAppearance="?android:attr/textAppearanceLarge"/>
    </LinearLayout>
    <ScrollView 
        android:id="@+id/im_scroll"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1">
        <RelativeLayout 
            android:id="@+id/im_historyHolder"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical">
        </RelativeLayout>
    </ScrollView>
    <LinearLayout 
        android:id="@+id/im_sendLayout"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">
        <EditText 
            android:id="@+id/im_messageText"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"/>
        <Button 
            android:id="@+id/im_sendButton"
            android:text="Send"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>
    </LinearLayout>
</LinearLayout>

选项卡活动布局:

<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/tabhost"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <LinearLayout
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:padding="5dp">
        <TabWidget
            android:id="@android:id/tabs"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" />
        <FrameLayout
            android:id="@android:id/tabcontent"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:padding="5dp" />
    </LinearLayout>
</TabHost>

截图:


它是由设备处理的,您无法处理它。

看到您的布局,您可以使用相对布局,它将解决您的问题……。通过这种方式,它将使用键盘调整布局。