之前有說過因?yàn)轫?xiàng)目需求需要做一個類似于qq空間和微信朋友圈評論的功能最后我的實(shí)現(xiàn)方法是使用fragment來實(shí)現(xiàn)并監(jiān)聽鍵盤的彈出來設(shè)置bottomMargin來實(shí)現(xiàn)(之所以選擇這樣來實(shí)現(xiàn)是因?yàn)橛行﹩栴}我沒有找到解決的辦法),當(dāng)然這種實(shí)現(xiàn)方法本來就是一個坑蛇耀,因?yàn)橛行C(jī)型鍵盤彈出后會把評論框頂上去然后再加上bottomMargin評論框就沒了嫁蛇。之前也想過設(shè)置鍵盤彈出模式來解決這些問題但是由于某個頁面的復(fù)雜情況到這些設(shè)置無效(只有SOFT_INPUT_MASK_ADJUST設(shè)置有效课幕,其他無效,具體原因我還沒有找到)于是就這樣設(shè)置成SOFT_INPUT_MASK_ADJUST上線了
埋下的坑總會被你再踩到的五垮,知識沒有想到會這么快乍惊,上線沒幾天就出現(xiàn)了各種問題主要有以下三個問題:
- java.lang.IllegalStateException異常導(dǎo)致crach
- 4.4系統(tǒng)出現(xiàn)某些頁面評論框不能被鍵盤頂上去
- 英文情況下由于hint比較長鍵盤擋住了部分評論框
對于上述三個問題,問題1主要是因?yàn)樵趕how評論框的時候沒有加上是否已添加的判斷重復(fù)添加fragment造成crach放仗,這個相對比較好解決润绎;但是問題2,3是有點(diǎn)重復(fù)的也讓我比較頭疼诞挨。后來查了好多資料發(fā)現(xiàn)造成問題2的主要原因是因?yàn)槭褂昧顺两降腡heme莉撇,Google給的答案是在布局文件的跟布局添加fitSystemWindows屬性并設(shè)置問true。測試后發(fā)現(xiàn)然并卵;躺怠9骼伞!然后再某個瞬間突然發(fā)現(xiàn)我的評論框是添加在了contentView中并不是布局文件中所以在頁面的跟布局添加屬性并沒有用银室,應(yīng)該在我評論框中的布局添加這個屬性涂佃,然后馬上測試,ok了設(shè)置的windowSoftInputMode屬性也生效了
后續(xù):在尋找解決辦法的過程中發(fā)現(xiàn)qq的空間里面評論框竟然是一個ActivityA溉唷Q怖睢!7鋈稀G壤埂!辐宾!