1

我有一個EditText和一個Button固定在RelativeLayout的底部。Android EditText固定在WVGA上的RelativeLayout消失的底部

當你點擊EditText時,軟鍵盤打開,但EditText和按鈕分開,但以非常奇怪的方式。他們實際上是在那裏,因爲你可以鍵入,你也可以按下鍵盤上方的按鈕,並且它響應觸摸,但是......你實際上看不到它們。

不知道爲什麼,但它似乎可能是特定於屏幕分辨率?它在我的NexusOne上壞了,但在我的LS670上工作。使用WVGA800在模擬器上損壞,但在HVGA上工作。

我有一個更復雜的layout.xml但我設法熬下來到這個簡單的例子:

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

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


     <EditText 
      android:id="@+id/test_text" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_alignParentLeft="true" 
      android:layout_alignParentBottom="true" 
      android:layout_toLeftOf="@+id/test_textButton" 
      /> 

     <Button 
      android:id="@id/test_textButton" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentBottom="true" 
      android:layout_alignParentRight="true" 
      android:text="OK"/> 

</RelativeLayout> 

編輯:

所以我越考慮這一點,這似乎是佈局引擎中的一個錯誤。當我點擊EditText時,我實際上可以看到EditText在鍵盤覆蓋之前向上動畫。它只是不夠高。這似乎與寬屏分辨率有關。如果我最終在編輯文本中添加了100dip的餘量,我幾乎可以在鍵盤上方看到它,並且200dip使它大部分顯示。再次,這在HVGA屏幕上工作正常。隱藏在鍵盤下面的按鈕仍然響應我在鍵盤上方的觸摸,這很奇怪。

+0

沒有足夠的積分來自我回答,但我發現問題: 問題是該活動的默認softInputMode似乎有一個錯誤(可能與廣泛相關)。如果您將其切換到「adjustResize」,它的工作原理與預期完全相同! – Paul 2012-01-10 00:31:09

回答

0

嘗試將您的ScrollView設置爲0dp而不是fill_parentfill_parent正在使其填滿整個父母的身高,因此重疊test_footer

+0

我重新編輯了我的問題,因爲我設法將它歸結爲一個更簡單的測試用例。正如你所看到的那樣,那裏並不是很多。沒有什麼東西從佈局透視圖中隱藏起來,因爲TextView和Button是實際的。你只是看不到他們。他們迴應觸摸事件,他們應該被看待。 – Paul 2012-01-09 23:28:46

+0

好的......同樣的事情適用。你有一個EditText,它的寬度設置爲'fill_parent'。因此,EditText的寬度不會令人驚訝地填充父級的寬度。嘗試用0dp替換EditText的layout_width屬性中的'fill_parent'。 – kabuko 2012-01-09 23:36:35

+0

我試過你的改變,它沒有任何區別。在點擊EditText之前,Button和EditText的佈局看起來很好。一旦我點擊EditText,softkeyboard彈出,EditText和Button「消失」,但實際上是因爲它們響應觸摸。同樣,這也隻影響WVGA屏幕,而不是HVGA。真的看起來像佈局渲染中的某種錯誤,而不是佈局代碼中的錯誤。我希望有人可能遇到過這個問題,並且有一個解決方法。 – Paul 2012-01-09 23:46:21