簡體   English   中英

android:windowSoftInputMode =” stateAlwaysHidden | adjustPan”不適用於所有設備

[英]android:windowSoftInputMode=“stateAlwaysHidden|adjustPan” doesnt work on all devices

和很多人一樣,我遇到了軟輸入覆蓋發送按鈕的問題,因此我進行了一些搜索,發現解決此問題的可接受方法是"android:windowSoftInputMode="stateAlwaysHidden|adjustPan"

這在我的設備上效果很好,但是當我在女朋友的手機上嘗試時,它不起作用。 在輸入出現在屏幕上之前,我看到對話框抬起了一點,但是並沒有太多,並且仍然覆蓋了發送按鈕。 為什么這可以在某些設備上運行,但不能在所有設備上運行?

屏幕上的鍵盤很難充其量,因為一方面:

它應該在用戶期望的位置,這是一致的,在UI設計中非常重要

它可能會妨礙您。

解決方案(基於Android設計准則,經驗和反饋等)不會太在意它,您基本上可以有以下幾種行為:

*活動開始時彈出(如果活動有輸入,就會發生)

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

最好在用戶完成操作后關閉鍵盤,那就是讓“輸入按鈕”將它們帶到下一個條目;如果沒有剩下的,請將其隱藏起來;如果它是某種數據捕獲形式,可以隨着使用進行驗證,如果不是這樣,請不要這樣做,因為他們可能會后退以嘗試將其抬起。

附錄一

“adjustResize”

活動的主窗口始終會調整大小,以便為屏幕上的軟鍵盤騰出空間。

“adjustPan”

活動的主窗口未調整大小以為軟鍵盤騰出空間。 而是,窗口的內容會自動平移,以使當前焦點不會被鍵盤遮擋,並且用戶始終可以看到他們正在鍵入的內容。 通常,這不如調整大小那么可取,因為用戶可能需要關閉軟鍵盤才能到達窗口的模糊部分並與之交互。

從此處的文檔中: http : //developer.android.com/guide/topics/manifest/activity-element.html

android中adjustResize和adjustPan之間的區別?

看到更多。

很難正確平移,因為該活動的布局可以有很多東西,它可以向左滾動,都可以是相對的,不是只需要向上和向下跳躍的一條帶,有些事情還具有多個解決方案,不只一種平移方式可以看到它。 您還沒有真正描述什么行不通。 我正在嘗試解釋我認為您想要的問題。

這有幫助嗎?

突然來到這里。 您不應在android:windowSoftInputMode=""屬性內混用多個值。 因此,您可以保留android:windowSoftInputMode="adjustPan"並使用hideKeyboard()隱藏鍵盤hideKeyboard()在網絡中查找此方法)。 可能您可以添加偵聽器以將其隱藏在活動中的任何位置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM