2012-08-06 121 views
2

我有以下佈局:Android的軟鍵盤覆蓋EDITTEXT景觀

<?xml version="1.0" encoding="utf-8"?> 

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent"> 

    <LinearLayout 
      android:layout_height="wrap_content" 
      android:layout_width="fill_parent" 
      android:orientation="vertical" 
      android:layout_above="@+id/edittext"> 

     <TextView 
       android:layout_height="wrap_content" 
       android:layout_width="fill_parent" 
       android:text="line1"/> 

     <TextView 
       android:layout_height="wrap_content" 
       android:layout_width="fill_parent" 
       android:text="line2"/> 

     <TextView 
       android:layout_height="wrap_content" 
       android:layout_width="fill_parent" 
       android:text="line3"/> 

    </LinearLayout> 

    <EditText 
      android:id="@id/edittext" 
      android:layout_height="wrap_content" 
      android:layout_width="fill_parent" 
      android:layout_margin="5dp" 
      android:text="test" 
      android:layout_alignParentBottom="true" 
      android:imeOptions="flagNoExtractUi" 
      /> 
</RelativeLayout> 

,並在Nexus的一道風景線,它看起來像:

enter image description here

有沒有辦法解決這個問題,但保持國旗flagNoExtractUi?

+0

一些可能的答案是在給定鏈路上給出: http://stackoverflow.com/questions/3295672/android-soft-keyboard-covers-edittext-field – 2012-08-06 09:51:13

+0

請檢查我的【答案】(HTTP:// stackoverflow.com/a/11822354/996493)。 – Lucifer 2012-08-06 09:51:44

+0

你試過androidife:windowSoftInputMode =「stateVisible | adjustResize」在menifest文件中的activity標籤中http://developer.android.com/guide/topics/manifest/activity-element.html#wsoft – rajpara 2012-08-06 09:53:52

回答

1

您可以添加ScrollView,以便在出現鍵盤時自動滾動以使視圖完全可見。

4

定義<activity>內Android清單一樣:

<activity android:name=".TodoEdit" 
      android:windowSoftInputMode="adjustResize"> 
+0

我已經這樣做,但它不起作用。看到我的最後一個問題 – 2012-08-06 10:05:16

+0

這是什麼標誌* flagNoExtractUi *,在Android中第一次聽到。 – 2012-08-06 10:06:34

+0

用於指定IME不需要顯示其提取的文本UI。對於可能是全屏的輸入方法,通常在橫向模式下時,這允許它們更小,並讓部分應用程序顯示在後面。雖然用戶可能獲得的應用程序訪問權限有限,但它可以使(大部分)全屏幕IME的體驗不那麼震撼。請注意,指定此標誌時,IME可能無法設置爲能夠顯示文本,因此只能在不需要此情況的情況下使用。 – 2012-08-06 10:14:48

0

這似乎是在Android的一個錯誤,但我發現了一個解決方案!只需將android:imeOptions="flagNoExtractUi"替換爲android:imeOptions="flagNoFullscreen",現在一切都可以正常工作。