2012-10-03 15 views
9

在我的應用程序中,我使用各種編輯文本和文本視圖和列表視圖。 現在我的問題是我的鍵盤在方向更改上再次出現。理想情況下,當用戶最小化鍵盤時,設備傾斜時應該處於最小化狀態。但它重新出現。我們如何處理這種情況。定位更改時產生的鍵盤問題

我的其他問題是我的一個編輯文本是一些什麼在屏幕結束。當鍵盤出現時,它隱藏編輯文本。所以用戶無法看到他在輸入什麼內容。處理這個問題的理想方法是什麼? 謝謝。

回答

31

解決所有問題是此行的android :windowSoftInputMode =「stateUnchanged | adjustResize」

「stat eUnchanged「將使鍵盤的狀態與之前的狀態相同。隱藏或可見。

「adjustResize」將使您的編輯文本可見。

希望這有助於。

編輯

這就需要在Android清單文件中添加。

0

對於第二個問題: 您可以將您的佈局設置爲ScrollView以避免隱藏鍵盤上的edittext。 將您的整個佈局放在ScrollView中。

+0

我正在使用滾動視圖,但黑魔鬼答案本身就是完整的。所以謝謝你的幫助。 – Android

2

嘗試在清單

android:windowSoftInputMode="stateHidden|adjustPan" 

添加該代碼在你的活動屬性,如

<activity 
      android:name=".MyActivity" 
      android:windowSoftInputMode="stateHidden|adjustPan" > 

這應該照顧兩個你的問題

+0

非常感謝Antrromet,但它會讓我的鍵盤永遠隱藏。我不想要這個。不管怎麼說,多謝拉。 – Android

+0

它不會讓它永遠隱藏。活動啓動時,它不會打開鍵盤。如果你點擊EditText,那麼鍵盤將會啓動。 – Antrromet

2

我有這個相同的問題。爲了防止鍵盤在有TextView時重新出現,必須做2件事 -

  1. 確保TextView沒有焦點。即使在隱藏鍵盤後,TextView仍然可以集中。嘗試撥打電話

    textView.clearFocus() 
    

    您應該能夠看到TextView中的差異。

  2. 確保有之前另一種觀點(例如父母的LinearLayout,甚至只是與0寬度和0高度的LinearLayout),它具有以下屬性 -

    android:focusable="true" 
    android:focusableInTouchMode="true"