为什么Android Soft Keyboard会隐藏最底层的TextView?

时间:2013-03-01 11:50:43

标签: android

这是我片段的布局文件。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <!-- android:fillViewport="true" -->

    <EditText
        android:id="@+id/chatDispWindow"
        android:layout_width="fill_parent"
        android:layout_height="match_parent"
        android:layout_above="@+id/chatTypeWindow"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="9dp"
        android:layout_marginRight="6dp"
        android:background="@color/background_color"
        android:clickable="false"
        android:cursorVisible="false"
        android:focusable="false"
        android:focusableInTouchMode="false"
        android:gravity="bottom"
        android:inputType="textMultiLine|textLongMessage|textNoSuggestions"
        android:scrollHorizontally="true" />
    <!-- android:hint="@string/groupChatDispMsg" -->

    <ImageButton
        android:id="@+id/sendBtn"
        android:layout_width="52dp"
        android:layout_height="46dp"
        android:layout_above="@+id/chatStatusWindow"
        android:layout_alignBottom="@+id/chatTypeWindow"
        android:layout_alignParentRight="true"
        android:layout_marginBottom="-3dp"
        android:layout_marginLeft="4dp"
        android:background="@drawable/send_chatbtn_selector"
        android:contentDescription="@string/sendLbl" />

    <EditText
        android:id="@+id/chatTypeWindow"
        android:layout_width="match_parent"
        android:layout_height="45dp"
        android:layout_above="@+id/chatStatusWindow"
        android:layout_alignParentLeft="true"
        android:layout_marginLeft="6dp"
        android:layout_toLeftOf="@+id/sendBtn"
        android:background="@drawable/editbox_selector"
        android:imeActionId="@+id/sendChatImeBtn"
        android:imeActionLabel="@string/sendLbl"
        android:imeOptions="actionSend"
        android:inputType="textMultiLine"
        android:minHeight="45dp" />
    <!-- android:hint="@string/chatWindowMsg" -->

    <TextView
        android:id="@+id/chatStatusWindow"
        android:layout_width="match_parent"
        android:layout_height="15dp"
        android:layout_alignParentBottom="true"
        android:layout_marginBottom="3dp"
        android:layout_marginLeft="9dp" />
    <!-- android:text="@string/chatStatusMsg" -->

</RelativeLayout>

现在这是App的行为......

Default View Ui When User clicks on the EditText

问题是键盘隐藏了屏幕的最底部TextView,即使键盘正在显示,如何使其可见?

我尝试使用android:windowSoftInputMode="adjustResize",但它不起作用。请帮忙,

修改 在进一步深入挖掘之后,我开始知道如果我删除全屏主题,那么android:windowSoftInputMode="adjustResize就能完美运行。我如何使用FullScreen Theme获得它?

2 个答案:

答案 0 :(得分:1)

在您的活动

下的清单文件中尝试此操作
android:windowSoftInputMode="adjustPan"

答案 1 :(得分:1)

我使用了android:windowSoftInputMode="adjustResize"并从此活动中删除了full screen theme,因为我发现它是known issue的android。他们声称它已经解决了,但至少在我测试我的代码的设备上没有。

我希望这个答案对将来访问此主题的人有用,可以节省他们的时间和精力。谢谢大家,