PopupWindow的setClippingEnabled(boolean)用法詳述

setClippingEnable方法源碼中的注釋如下:

Allows the popup window to extend beyond the bounds of the screen. By default the window is clipped to the screen boundaries. Setting this to false will allow windows to be accurately positioned.

直接翻譯:這個方法是設(shè)置是否允許popupwindow超出屏幕邊界嫁乘,默認的展融,彈窗超出屏幕邊界是要被剪裁掉。如果傳入false,將允許彈窗顯示實際的(正確無誤)位置。

對于原文注釋有2點補充說明:

1. 默認值是true(? 源碼:private boolean mClippingEnabled =true;)窜管。換句話說setClippingEnabled(true)项秉,超出屏幕邊界的部分是要被剪裁掉的,哪部分被剪裁呢劲室?還是上源碼

if (mIsDropdown && (mClipToScreen ||mClippingEnabled)) {

? ? gravity |= Gravity.DISPLAY_CLIP_VERTICAL;

}

Gravity.DISPLAY_CLIP_VERTICAL伦仍,這個屬性的意思是垂直剪裁。也就是垂直方向超出窗口的剪切掉很洋,水平方向超出屏幕部分不做處理充蓝。

2."accurately positioned":這個怎么翻譯感覺味道都不太對,其實就是別管屏幕邊界在哪兒喉磁,popupWindow實際該怎么顯示就怎么顯示谓苟,超出屏幕部分,顯示不出來(用戶看不到)协怒,那就顯示不出來吧涝焙。



看具體效果前,先說明一下demo代碼的前提條件:popupwindow是以showAsDropDown方式彈出孕暇,基于參照控件(截圖中ImageView仑撞,即茶杯圖標(biāo))的x,y偏移量都是0。PopopWindow的寬高都是LayoutParams.MATCH_PARENT

Demo1. mPopupWindow.setClippingEnabled(true);? 豎直方向超出屏幕部分被剪切了妖滔。水平方向隧哮,彈窗全部顯示在屏幕上,沒有被剪切座舍,但是顯示位置不是準(zhǔn)確的(正確的位置是popupWindow的左上角坐標(biāo)沮翔,應(yīng)該和參照控件左下角坐標(biāo)重合。)

Demo? 1

Demo2. mPopupWindow.setClippingEnabled(false);? 彈窗沒有被剪切簸州,顯示的位置也是準(zhǔn)確的(popupWindow的左上角坐標(biāo)和參照控件左下角坐標(biāo)重合)鉴竭。超出屏幕的部分雖然用戶看不到,但是它還在岸浑。


Demo 2
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末搏存,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子矢洲,更是在濱河造成了極大的恐慌璧眠,老刑警劉巖,帶你破解...
    沈念sama閱讀 223,002評論 6 519
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異责静,居然都是意外死亡袁滥,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,357評論 3 400
  • 文/潘曉璐 我一進店門灾螃,熙熙樓的掌柜王于貴愁眉苦臉地迎上來题翻,“玉大人,你說我怎么就攤上這事腰鬼∏对” “怎么了?”我有些...
    開封第一講書人閱讀 169,787評論 0 365
  • 文/不壞的土叔 我叫張陵熄赡,是天一觀的道長姜挺。 經(jīng)常有香客問我,道長彼硫,這世上最難降的妖魔是什么炊豪? 我笑而不...
    開封第一講書人閱讀 60,237評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮拧篮,結(jié)果婚禮上词渤,老公的妹妹穿的比我還像新娘。我一直安慰自己他托,他們只是感情好掖肋,可當(dāng)我...
    茶點故事閱讀 69,237評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著赏参,像睡著了一般志笼。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上把篓,一...
    開封第一講書人閱讀 52,821評論 1 314
  • 那天纫溃,我揣著相機與錄音,去河邊找鬼韧掩。 笑死紊浩,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的疗锐。 我是一名探鬼主播坊谁,決...
    沈念sama閱讀 41,236評論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼滑臊!你這毒婦竟也來了口芍?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,196評論 0 277
  • 序言:老撾萬榮一對情侶失蹤雇卷,失蹤者是張志新(化名)和其女友劉穎鬓椭,沒想到半個月后颠猴,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,716評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡小染,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,794評論 3 343
  • 正文 我和宋清朗相戀三年翘瓮,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片裤翩。...
    茶點故事閱讀 40,928評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡资盅,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出踊赠,到底是詐尸還是另有隱情律姨,我是刑警寧澤,帶...
    沈念sama閱讀 36,583評論 5 351
  • 正文 年R本政府宣布臼疫,位于F島的核電站,受9級特大地震影響扣孟,放射性物質(zhì)發(fā)生泄漏烫堤。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,264評論 3 336
  • 文/蒙蒙 一凤价、第九天 我趴在偏房一處隱蔽的房頂上張望鸽斟。 院中可真熱鬧,春花似錦利诺、人聲如沸富蓄。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,755評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽立倍。三九已至,卻和暖如春侣滩,著一層夾襖步出監(jiān)牢的瞬間口注,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,869評論 1 274
  • 我被黑心中介騙來泰國打工君珠, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留寝志,地道東北人。 一個月前我還...
    沈念sama閱讀 49,378評論 3 379
  • 正文 我出身青樓策添,卻偏偏與公主長得像材部,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子唯竹,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,937評論 2 361