2013-01-18 57 views
0

可能重複:
background layout moving when soft keyboard displayed - android如何修復EditText?

我有一個包含severals意見和EditText上一個佈局文件:

<RelativeLayout 
     android:layout_width="fill_parent" 
     android:layout_height="match_parent" xmlns:android="http://schemas.android.com/apk/res/android"> 
    <Button 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="@string/connect" 
      android:id="@+id/btnConnect" android:layout_alignParentRight="true" android:layout_alignParentTop="true"/> 
    <Spinner 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:id="@+id/spServers" 
      android:layout_toLeftOf="@+id/btnConnect" android:layout_alignTop="@+id/btnConnect" 
      android:layout_alignBottom="@+id/btnConnect" android:layout_alignParentLeft="true"/> 
    <ToggleButton 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:id="@+id/btnType" android:layout_alignLeft="@+id/btnConnect" 
      android:layout_below="@+id/btnConnect" android:layout_alignRight="@+id/btnConnect" android:textOff="@string/text" 
      android:textOn="@string/grid" /> 
    <Spinner 
      android:layout_width="98dp" 
      android:layout_height="22dp" 
      android:id="@+id/spDataBases" android:layout_toLeftOf="@+id/btnConnect" 
      android:layout_below="@+id/btnConnect" 
      android:layout_alignBottom="@+id/btnType" android:layout_alignLeft="@+id/spServers"/> 
    <Button 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="@string/check" 
      android:id="@+id/btnCheck" android:layout_alignLeft="@+id/spServers" android:layout_alignParentBottom="true"/> 
    <Button 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="@string/run" 
      android:id="@+id/btnRun" android:layout_toRightOf="@+id/btnCheck" android:layout_alignTop="@+id/btnCheck" 
      android:layout_toLeftOf="@+id/btnLoad"/> 
    <Button 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="@string/load" 
      android:id="@+id/btnLoad" android:layout_alignRight="@+id/btnConnect" 
      android:layout_alignTop="@+id/btnCheck"/> 
    <EditText 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:id="@+id/txtSQL" android:layout_alignLeft="@+id/spServers" android:layout_below="@+id/btnType" 
      android:layout_alignRight="@+id/btnConnect" android:layout_above="@+id/btnCheck" 
      android:gravity="left|top" android:singleLine="false" android:textAlignment="gravity"/> 
</RelativeLayout> 

它看起來像這樣:

enter image description here

但是,當我想輸入的東西,我得到這個問題:

I'm trying to type something

請幫我解決這個問題。當我輸入一些文字時,我不想改變佈局上的屏幕位置。當用戶嘗試輸入內容時,它正在向上移動。

+0

什麼問題? –

+0

它應該做什麼? – MrZander

+0

@MrZander我想修復它。當我輸入一些文字時,我不想改變佈局上的屏幕位置。 – ruslanys

回答

0

您可以嘗試告訴Android在鍵盤彈出時不調整您的佈局大小,確保您輸入的內容可見。 (文檔:http://developer.android.com/guide/topics/manifest/activity-element.html#wsoft

以下內容添加到您應用的清單:(在相關的活動,而不是下面的虛擬之一)

<activity android:name="Activity" 
    .. 
    android:windowSoftInputMode="adjustPan" 
    .. 
</activity> 

,如果當你點擊你的問題正在發生的事情是我不清楚EditText和鍵盤出現了,還是隻有一次開始輸入纔會出現?如果後者是這樣的話,我的答案可能無濟於事。我也不確定「adjustPan」是否可取,但值得一試!把你的整個RelativeLayout放在一個ScrollView中也是一個好主意。