【移動(dòng)應(yīng)用開(kāi)發(fā)技術(shù)】Android中如何實(shí)現(xiàn)EditText隨輸入法一起移動(dòng)并懸浮在輸入法之上_第1頁(yè)
【移動(dòng)應(yīng)用開(kāi)發(fā)技術(shù)】Android中如何實(shí)現(xiàn)EditText隨輸入法一起移動(dòng)并懸浮在輸入法之上_第2頁(yè)
【移動(dòng)應(yīng)用開(kāi)發(fā)技術(shù)】Android中如何實(shí)現(xiàn)EditText隨輸入法一起移動(dòng)并懸浮在輸入法之上_第3頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余1頁(yè)可下載查看

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

【移動(dòng)應(yīng)用開(kāi)發(fā)技術(shù)】Android中如何實(shí)現(xiàn)EditText隨輸入法一起移動(dòng)并懸浮在輸入法之上

在下這次要給大家分享的是Android中如何實(shí)現(xiàn)EditText隨輸入法一起移動(dòng)并懸浮在輸入法之上,文章內(nèi)容豐富,感興趣的小伙伴可以來(lái)了解一下,希望大家閱讀完這篇文章之后能夠有所收獲。好習(xí)慣,先上圖今天在做作業(yè)的時(shí)候有這樣一種需求,評(píng)論功能頁(yè)面需要仿QQ或者微博類(lèi)似的頁(yè)面布局,Edittext固定底部,但是又能懸浮在輸入法之上。百度看了好多代碼,又是寫(xiě)監(jiān)聽(tīng)改變布局,又是動(dòng)態(tài)調(diào)整輸入框的位置,很高級(jí),但是我嘗試都沒(méi)有效果,也不知道是我手機(jī)的原因還是不會(huì)用人家的代碼,沒(méi)辦法,自己動(dòng)手研究。研究結(jié)果:一共三個(gè)點(diǎn)1.文件AndroidManifest.xml里當(dāng)前頁(yè)面的activity標(biāo)簽里加這個(gè)意思是Activity主窗口總是被調(diào)整屏幕的大小以便留出軟鍵盤(pán)的空間例如2.布局里設(shè)置加如下四句話在你的代碼里,至于添加位置,類(lèi)比上面面的代碼塊,應(yīng)該容易懂(1)RelativeLayout

//根目錄需要相對(duì)布局,其他的沒(méi)嘗試(2)android:fitsSystemWindows="true"

下面這是一位大佬的解釋?zhuān)艺尺^(guò)來(lái)方便理解fitsSystemWindows屬性可以讓view根據(jù)系統(tǒng)窗口來(lái)調(diào)整自己的布局;簡(jiǎn)單點(diǎn)說(shuō)就是我們?cè)谠O(shè)置應(yīng)用布局時(shí)是否考慮系統(tǒng)窗口布局,這里系統(tǒng)窗口包括系統(tǒng)狀態(tài)欄、導(dǎo)航欄、輸入法等,包括一些手機(jī)系統(tǒng)帶有的底部虛擬按鍵。android:fitsSystemWindows=”true”(觸發(fā)View的padding屬性來(lái)給系統(tǒng)窗口留出空間)

這個(gè)屬性可以給任何view設(shè)置,只要設(shè)置了這個(gè)屬性此view的其他所有padding屬性失效,同時(shí)該屬性的生效條件是只有在設(shè)置了透明狀態(tài)欄(StatusBar)或者導(dǎo)航欄(NavigationBar)此屬性才會(huì)生效(3)android:layout_marginTop="-25dp"

(注意是負(fù)

25)這解釋一下為什么要加這個(gè),如果你應(yīng)用的地方不需要沉浸式狀態(tài)欄,就可以去掉這句如果你需要的是沉浸式狀態(tài)欄,上面的android:fitsSystemWindows="true"設(shè)置之后你的狀態(tài)欄就會(huì)變成一個(gè)白條,原來(lái)的效果會(huì)失效,我自己的小想法,直接讓根目錄延伸到屏幕頂部,充滿(mǎn)狀態(tài)欄,完事就可以了,經(jīng)嘗試發(fā)現(xiàn)狀態(tài)欄高度為25dp,然后讓根布局往上延伸25dp,這里想要延伸到狀態(tài)欄還是需要讓狀態(tài)欄透明,才能看見(jiàn)效果,所以在java代碼里需要加入一個(gè)小改動(dòng)。(4)android:layout_alignParentBottom="true"將需要隨輸入法移動(dòng)的控件固定根布局底部,究竟為啥,咱嘗試出來(lái)的也搞不懂,反正能用//這里采用了相對(duì)布局作為根布局占滿(mǎn)全屏,其他都沒(méi)試過(guò),想要其他布局直接放到這個(gè)里面,就不多說(shuō)了//紅色標(biāo)記的四個(gè)地方要有3.java代碼里加入一個(gè)這小方法設(shè)置狀態(tài)欄透明,如果狀態(tài)欄不透明,那沉浸式狀態(tài)欄就不起作用了,狀態(tài)欄會(huì)采用應(yīng)用默認(rèn)顏色,很不舒服看完這篇關(guān)于And

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論