softinput已覆盖带有顶部/底部layou_margin的EditText

时间:2015-04-02 02:52:43

标签: android keyboard android-edittext soft-input-panel

我有一个包含editLayout中的edittext和按钮的编辑框,如下所示:

 <LinearLayout
            android:id="@+id/et_bottom"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="#e5e5e5"
            android:gravity="center_vertical"
            android:orientation="horizontal" 
           >

            <EditText
                android:id="@+id/write_comment"
                android:layout_width="0dp"
                android:layout_height="30.5dp"
                android:layout_marginBottom="10.5dp"
                android:layout_marginLeft="5.5dp"
                android:layout_marginTop="10.5dp"
                android:layout_weight="2.0"
                android:background="@drawable/input_box_03"
                android:hint="@string/saysomething"
                android:paddingLeft="5dp"
                android:textColorHint="@color/font_gray"
                android:textSize="@dimen/login_edittext_font_size" />

            <TextView
                android:id="@+id/send_comment"
                android:layout_width="52dp"
                android:layout_height="29.5dp"
                android:layout_marginLeft="8.5dp"
                android:layout_marginRight="5.5dp"
                android:background="@drawable/box"
                android:clickable="true"
                android:focusable="true"
                android:focusableInTouchMode="true"
                android:gravity="center"
                android:text="@string/send"
                android:textColor="@color/font_color_white" />
   </LinearLayout>

LineraLayout位于与windowScreen大小相匹配的RelativeLayout中,我设置了WindowInputSoftMode =&#34; adjustResize&#34;,但是,当显示软键盘时,LinearLayout的底部部分被软键盘覆盖。我不知道为什么以及怎么做?

2 个答案:

答案 0 :(得分:0)

尝试使用

android:windowSoftInputMode="stateVisible|adjustResize"

答案 1 :(得分:0)

我通过getWindow()发现问题是关于窗口的FullScreen设置.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,                 WindowManager.LayoutParams.FILL_FULLSCREEN);. 设置完成后,键盘必须将布局内容弹出到更高的位置,键盘的头部必须连接到光标的底部。

更具体地说,当为FILL_PARENT设置第二个参数时,没有问题。如果您不想弹出布局的内容,只需使用FrameLayout并设置windowInputSoftMode =&#34; adjustResize&#34;。