Android7.0上某些PopuWindow出現(xiàn)顯示位置不正確問(wèn)題的解決方法
本文實(shí)例講述了Android7.0上某些PopuWindow出現(xiàn)顯示位置不正確問(wèn)題的解決方法。分享給大家供大家參考,具體如下:
情景描述:
在andorid7.0及以上系統(tǒng),點(diǎn)擊某個(gè)view,本來(lái)期待有一個(gè)Popuwindow在該view下面彈出(調(diào)用PopuWindow.showAsDropDown(view)
方法)但結(jié)果PopuWindow卻彈出在view上方,頂在系統(tǒng)狀態(tài)欄下面。
原因分析:
在android7.0上,如果不主動(dòng)約束PopuWindow的大小,比如,設(shè)置布局大小為 MATCH_PARENT,那么PopuWindow會(huì)變得盡可能大,以至于 view下方無(wú)空間完全顯示PopuWindow,而且view又無(wú)法向上滾動(dòng),此時(shí)PopuWindow會(huì)主動(dòng)上移位置,直到可以顯示完全。
解決辦法:
主動(dòng)約束PopuWindow的內(nèi)容大小,重寫(xiě)showAsDropDown方法:
@Override public void showAsDropDown(View anchor) { if(Build.VERSION.SDK_INT >= 24){ Rect visibleFrame = new Rect(); anchor.getGlobalVisibleRect(visibleFrame); int height = anchor.getResources().getDisplayMetrics().heightPixels - visibleFrame.bottom; setHeight(height); } super.showAsDropDown(anchor); }
更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Android窗口相關(guān)操作技巧總結(jié)》、《Android開(kāi)發(fā)入門(mén)與進(jìn)階教程》、《Android調(diào)試技巧與常見(jiàn)問(wèn)題解決方法匯總》、《Android基本組件用法總結(jié)》、《Android視圖View技巧總結(jié)》、《Android布局layout技巧總結(jié)》及《Android控件用法總結(jié)》
希望本文所述對(duì)大家Android程序設(shè)計(jì)有所幫助。
相關(guān)文章
Android實(shí)現(xiàn)手機(jī)震動(dòng)抖動(dòng)效果的方法
今天小編就為大家分享一篇關(guān)于Android實(shí)現(xiàn)手機(jī)震動(dòng)抖動(dòng)效果的方法,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-03-03Android編程實(shí)現(xiàn)設(shè)置按鈕背景透明與半透明及圖片背景透明的方法
這篇文章主要介紹了Android編程實(shí)現(xiàn)設(shè)置按鈕背景透明與半透明及圖片背景透明的方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了Button及ImageButton的背景屬性設(shè)置技巧,非常簡(jiǎn)單實(shí)用,需要的朋友可以參考下2015-12-12Android7.0版本影響開(kāi)發(fā)的改進(jìn)分析
這篇文章主要介紹了Android7.0版本影響開(kāi)發(fā)的改進(jìn),總結(jié)分析了Android7.0版本中比較常見(jiàn)的開(kāi)發(fā)注意事項(xiàng)與操作技巧,需要的朋友可以參考下2017-11-11Kotlin 使用Lambda來(lái)設(shè)置回調(diào)的操作
這篇文章主要介紹了Kotlin 使用Lambda來(lái)設(shè)置回調(diào)的操作方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-03-03Android中操作SQLite數(shù)據(jù)庫(kù)快速入門(mén)教程
這篇文章主要介紹了Android中操作SQLite數(shù)據(jù)庫(kù)快速入門(mén)教程,本文講解了數(shù)據(jù)庫(kù)基礎(chǔ)概念、Android平臺(tái)下數(shù)據(jù)庫(kù)相關(guān)類(lèi)、創(chuàng)建數(shù)據(jù)庫(kù)、向表格中添加數(shù)據(jù)、從表格中查詢記錄等內(nèi)容,需要的朋友可以參考下2015-03-03Android 開(kāi)發(fā)之Dialog,Toast,Snackbar提醒
這篇文章主要介紹了Android 開(kāi)發(fā)之Dialog,Toast,Snackbar提醒的相關(guān)資料,需要的朋友可以參考下2017-03-03android開(kāi)發(fā)教程之實(shí)現(xiàn)listview下拉刷新和上拉刷新效果
這篇文章主要介紹了android實(shí)現(xiàn)listview下拉刷新和上拉刷新效果,Android的ListView上拉下拉刷新,原理都一樣,在Touch事件中操作header/footer的paddingTop屬性,需要的朋友可以參考下2014-02-02android中實(shí)現(xiàn)OkHttp下載文件并帶進(jìn)度條
本篇文章主要介紹了android中實(shí)現(xiàn)OkHttp下載文件并帶進(jìn)度條,OkHttp是比較火的網(wǎng)絡(luò)框架,它支持同步與異步請(qǐng)求,支持緩存,可以攔截,更方便下載大文件與上傳文件的操作,有興趣的可以了解一下2017-07-07Android App打包加固后的APK無(wú)法安裝問(wèn)題解決
Android應(yīng)用當(dāng)中,很多隱私信息都是以 字符串的形式存在的,所以需要加密,本文主要介紹了Android App打包加固后的APK無(wú)法安裝問(wèn)題解決,感興趣的可以了解一下2024-01-01