2015-04-02 64 views
0

我有一個包含的EditText和一個LinearLayout中的按鈕編輯框,就像如下:的EditText具有頂部/底部layou_margin已經覆蓋了softinput

<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是一個匹配的RelativeLayout windowScreen的大小,我設置WindowInputSoftMode =「adjustResize」,但是,當顯示軟鍵盤時,LinearLayout的底部被軟鍵盤部分覆蓋。我不是爲什麼和如何?

回答

0

嘗試使用

android:windowSoftInputMode="stateVisible|adjustResize" 
+0

感謝您的回答!但它不適合我。儘管使用「adjustPan」,但鍵盤覆蓋了包裝EditText的布爾器底部。看起來,彈出的鍵盤的頭部只附着在editText中的光標的下端,如何改變它? – tianxiayuxin 2015-04-02 05:26:34

+0

謝謝!我試過了,但還沒有奏效。我發現這個問題很可能是關於EditText中游標的焦點 – tianxiayuxin 2015-04-02 07:41:13

0

我HAVA發現問題是關於通過getWindow()的窗口全屏設置。setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FILL_FULLSCREEN);. 設置後,鍵盤必須將佈局的內容彈出到更高的位置,並且鍵盤的頭部必須連接到光標的底部。

更具體地說,當第二個參數設置爲FILL_PARENT時,沒有問題。如果您不想彈出佈局的內容,只需使用FrameLayout並設置windowInputSoftMode =「adjustResize」。