2013-09-26 33 views
2

很多人都遇到了softinput覆蓋我的發送按鈕的問題,所以我做了一些搜索,發現解決此問題的可接受方式是"android:windowSoftInputMode="stateAlwaysHidden|adjustPan"android:windowSoftInputMode =「stateAlwaysHidden | adjustPan」不適用於所有設備

這對我的設備非常有用,但是當我在女友手機上試用時,它無法正常工作。在輸入顯示在屏幕上之前,我看到對話框擡起了一點,但沒有多少,發送按鈕仍然被覆蓋。爲什麼會在某些設備上工作,但不是全部?

回答

1

與屏幕上鍵盤梅辛是困難的,因爲一方面是在最佳:

這應該是它在哪裏,這樣,用戶期望它,這是一貫的,非常的UI設計的重要

BUT

它可以阻擋。

解決方案(基於Android的設計指南,經驗和反饋等)是不是與它faff太多,你可以有基本以下幾種行爲:

*彈出活動開始時, (如果活動具有輸入,則會發生這種情況)

*活動開始時不會彈出(儘管第一個輸入的焦點爲<-好),但會在用戶點擊時彈出。

當用戶完成時關閉鍵盤是有好處的,那就是讓「輸入按鈕」把它們帶到下一個條目,如果沒有剩下,就隱藏它,如果它是某種數據捕獲形式,他們會繼續前進,如果不是這樣做的話,他們可能會爲了試圖解決這個問題而退縮。

補遺我

「adjustResize」

活動的主窗口總是被調整以騰出空間給軟鍵盤在屏幕上。不調整

「adjustPan」

活動的主窗口,以騰出空間給軟鍵盤。相反,窗口的內容會自動平移,以便當前焦點永遠不會被鍵盤遮擋,用戶始終可以看到他們正在鍵入的內容。這通常不如調整大小,因爲用戶可能需要關閉軟鍵盤才能與窗口的遮蔽部分進行交互。

從這裏的文件:http://developer.android.com/guide/topics/manifest/activity-element.html

Difference between adjustResize and adjustPan in android?

更多見那裏。

因爲活動的佈局可能很多東西,它可以滾動到左邊,它可能都是相對的,它不是一個只需要上下跳動的地帶,有些東西也有不止一種解決方案,不止一種平移方式,因此它是可見的。你還沒有真正描述什麼不順利btw。我試圖解釋我認爲你想要的問題。

這有幫助嗎?

+3

不,非常隨意。問題是....爲什麼android:windowSoftInputMode =「stateAlwaysHidden | adjustPan」可以在大多數設備上工作,但不是全部? – ChuckKelly

+0

仍然非常隨意 – ChuckKelly

相關問題