使用软键盘向上移动一个布局,但在底部保留一个布局

时间:2012-10-15 15:00:41

标签: android android-layout view android-widget android-softkeyboard

我有以下TabHost布局:

<?xml version="1.0" encoding="iso-8859-1"?>
<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"
    android:layout_margin="0dp"
    android:padding="0dp" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_margin="0dp"
        android:background="@drawable/main_app_background"
        android:orientation="vertical"
        android:padding="0dp" >

        <ImageView
            android:id="@+id/logo"
            android:layout_width="fill_parent"
            android:layout_height="@dimen/site_logo_height"
            android:layout_margin="0dp"
            android:background="@color/tab_subtitle_background"
            android:padding="0dp"
            android:src="@drawable/barlogo" />

        <FrameLayout
            android:id="@+id/tab_subtitle"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_margin="0dp"
            android:gravity="center"
            android:padding="0dp" />

        <FrameLayout
            android:id="@android:id/tabcontent"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_gravity="center"
            android:layout_margin="0dp"
            android:layout_weight="99"
            android:padding="0dp" />

        <Button
            android:id="@+id/btn_save"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginRight="15dp"
            android:layout_marginTop="7dp"
            android:focusableInTouchMode="true"
            android:imeOptions="actionNext"
            android:tag="done"
            android:text="Ok" />

        <TabWidget
            android:id="@android:id/tabs"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_margin="0dp"
            android:layout_weight="1"
            android:padding="0dp" />
    </LinearLayout>

</TabHost>

问题是,当软键盘出现时,Button和TabWidget都会向上移动。

我的目标是将TabWidget保持在底部(软键盘下方),然后让Ok按钮向上移动(在键盘顶部)。有可能吗?

提前致谢!

2 个答案:

答案 0 :(得分:1)

尝试这可能是使用完全调整清单

<activity
  android:windowSoftInputMode="adjustResize"              
  android:name=".youractivity" android:label="@string/app_name" >

请参阅move up text view only when virtual keyboard open on android

答案 1 :(得分:0)

在清单文件中尝试此操作:

<activity
    android:windowSoftInputMode="adjustPan"              
    android:name=".MainActivity" android:label="@string/app_name" >