1. 程式人生 > >彈出輸入法鍵盤,標題欄上移消失問題解決

彈出輸入法鍵盤,標題欄上移消失問題解決

        當你做聊天或者評論類的佈局的時候,肯定會用到輸入框,而且輸入框一般都會在最底端,這個時候當你輸入的時候,系統會彈出輸入法鍵盤。輸入法鍵盤其實是一個dialog,因為它佔用空間,所以不得不讓我們自己的介面進行調整,一般調整會有兩個策略。第一個讓輸入法遮擋我們的介面,第二個介面整體上移。通常我們會選擇第二種途徑,這個時候有個引數非常重要,android:windowSoftInputMod這個屬性用在清單檔案中的activity上,這裡不講它,有興趣的可以看以下連結點選開啟連結,這裡隨意百度的僅供學習,不用商業用途,希望原作者別告我侵權。

一般情況我們會使用android:windowSoftInputMode="adjustResize|stateHidden",主要意思就是,調整介面位輸入法彈出空間,如果介面存在可滾動元素,進行滾動,並且開始不彈出輸入法。這樣如果我們有導航欄,或者標題就可以不會消失了。但是這些都是有前提的,否則即使你使用了屬性夜不起作用。這個前提是什麼呢。我們一般會給app設定整體的風格,比如,全屏,無標題之類的,例如android:theme="@android:style/Theme.NoTitleBar.Fullscreen"這個時候你會發現,adjustResize失效了,不管你怎麼調整都不行,問題出在哪裡呢。就是這個全屏屬性。當你設定全屏的時候,adjustResize會失效。


可見不管多強大的功能,或者多麼厲害的人物,它發揮作用都是有前提的,也就是所謂的必要條件。