当布局与Tabhost结合使用时,Android布局,软键盘会将屏幕元素推离对齐

时间:2012-05-19 09:54:50

标签: android android-layout android-linearlayout android-tabhost

我尝试在清单中切换Window软输入模式无济于事。每当我点击编辑文本并且软键盘出现时,它就会调整我的文本输入和按钮。

这是我的布局代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/LinearLayoutRoot"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical">

    <LinearLayout
        android:id="@+id/linearLayout1"
        android:layout_width="wrap_content"
        android:layout_height="0dip"
        android:layout_weight=".12" >
        <ImageView
            android:id="@+id/topBarImage"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/top_banner2" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/linearLayout2"
        android:layout_width="match_parent"
        android:layout_height="0dip"
        android:layout_weight=".15"
        android:orientation="horizontal" >

        <EditText
            android:id="@+id/NameText"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_weight=".60"
            android:inputType="textShortMessage|textAutoCorrect|textCapSentences|textMultiLine"
            android:text="Name" >
        </EditText>

        <Button
            android:id="@+id/name_picker"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_weight=".10"
            android:onClick="doLaunchContactPicker"
            android:text="+" >
        </Button>

        <Button
            android:id="@+id/addButton"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_weight=".30"
            android:text="Add Diner" >
        </Button>
    </LinearLayout>

    <LinearLayout
        android:id="@+id/linearLayout5"
        android:layout_width="match_parent"
        android:layout_height="0dip"
        android:layout_weight=".55"
        android:orientation="vertical"
        android:scrollbars="vertical" >

        <ListView
            android:id="@+id/userListView"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:divider="#7A1962"
            android:dividerHeight="1dip" >
        </ListView>
    </LinearLayout>

    <LinearLayout
        android:id="@+id/LinearLayout2"
        android:layout_width="match_parent"
        android:layout_height="0dip"
        android:layout_alignParentBottom="true"
        android:layout_weight=".15"
        android:gravity="center_horizontal"
        android:orientation="vertical"
        android:padding="0dip" />
</LinearLayout>

2 个答案:

答案 0 :(得分:1)

这可能是因为LinearLayout。在定义LinearLayout之前,包含RelativeLayout中的布局。这对我有用。

答案 1 :(得分:0)

你检查过api-demos吗? 去那里app-&gt; activity-&gt;软输入模式: http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/app/SoftInputModes.html

他们有多种方法来处理软键盘的显示方式。