软键盘提升tabhost向上

时间:2014-01-07 12:09:37

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

点按EditText

,当软键盘打开时,我的TabHost会向上移动

截图

Tab above soft keyboard

我做了什么

  • 对于我使用getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);隐藏软键盘的每项活动

我尝试了什么

  • 包含android:windowSoftInputMode="adjustPan|adjustResize" for Manifest File中的活动

我已经经历了许多被接受的问题,但android:windowSoftInputMode="adjustPan|adjustResize在我的案例中不起作用。请建议如何处理这种情况。

修改

tabhost.xml

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <FrameLayout
        android:id="@android:id/tabcontent"
        android:layout_width="fill_parent"
        android:layout_height="0dip"
        android:layout_weight="1" />

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

layout.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/white" >

<RelativeLayout
    android:id="@+id/registrationLayout"
    android:layout_width="match_parent"
    android:layout_height="50dp"
    android:background="#333333" >

    <ImageView
        android:id="@+id/activity_logo"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:layout_marginLeft="10dp"
        android:contentDescription="@string/content_description"
        android:src="@drawable/logo" />


    <RelativeLayout
        android:id="@+id/rl2"
        android:layout_width="match_parent"
        android:layout_height="38dp"
        android:layout_centerVertical="true"
        android:layout_toRightOf="@+id/activity_logo"
        android:gravity="center_vertical" >

        <EditText
            android:id="@+id/searchEditText"
            android:layout_width="match_parent"
            android:layout_height="23dp"
            android:layout_marginLeft="6dp"
            android:layout_marginRight="6dp"
            android:background="@drawable/search_background"
            android:gravity="left|center_vertical"
            android:hint="Search for name"
            android:paddingLeft="6dp"
            android:textColor="@color/white"
            android:textSize="15sp" />

        <Button
            android:id="@+id/btn_search"
            android:layout_width="18dp"
            android:layout_height="18dp"
            android:layout_alignParentRight="true"
            android:layout_marginRight="9dp"
            android:layout_marginTop="4dp"
            android:background="@drawable/search_icon"
            android:gravity="right|center_vertical" />
    </RelativeLayout>
</RelativeLayout>

<ListView
    android:id="@android:id/list"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_below="@+id/registrationLayout"
    android:divider="@android:color/black"
    android:dividerHeight="1dp" >
</ListView>

<ProgressBar
    android:id="@+id/progressBar"
    style="?android:attr/progressBarStyleInverse"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:visibility="gone" />
</RelativeLayout>

提前致谢

2 个答案:

答案 0 :(得分:11)

我得到了解决方案。

  • 我们必须使用android:windowSoftInputMode="adjustPan|adjustResize"但是如果布局包含任何ScrollView,那么ScrollView必须具有android:isScrollContainer="false"属性。
  • 有关详情,请点击Here

答案 1 :(得分:2)

  <activity
        android:name="Your activity name"
        android:screenOrientation="portrait/Landscape"
        **android:windowSoftInputMode="adjustPan|adjustResize"** >