全面屏手機(jī)dialog彈窗適配目胡,解決上下空白間距的問(wèn)題

1.目前項(xiàng)目中常用通過(guò)WindowManager獲取手機(jī)屏幕的寬高來(lái)做一些UI展示,但是不兼容全面屏手機(jī)诚隙,手機(jī)分辨率2160 * 1080讶隐, 比如小米Mix2、錘子堅(jiān)果Pro2等機(jī)型

Display display = activity.getWindowManager().getDefaultDisplay();
int widths = display.getWidth();
int heights = display.getHeight(); //全面屏手機(jī)獲取的高度是2030,不包含底部的虛擬按鍵高度
解決的方法是通過(guò)獲取頂層Window寬高
View view = activity.getWindow().getDecorView();
int widths = view.getWidth();
int heights = view.getHeight(); //高度是2160

2.自定義Dialog可以通過(guò)獲取Window設(shè)置寬高

Window dialogWindow = dialog.getWindow();
lp = dialogWindow.getAttributes();
lp.width = ViewGroup.LayoutParams.MATCH_PARENT;
lp.height = ViewGroup.LayoutParams.MATCH_PARENT; //注意一定要是MATCH_PARENT
dialogWindow.setAttributes(lp);
處理高斯模糊背景的dialog截屏的核心代碼
    /**
     * 截屏
     */
    public static Bitmap takeScreenShot(Activity activity) {
        Bitmap b = null;
        try {
            // 獲取windows中最頂層的view
            View view = activity.getWindow().getDecorView();
            view.buildDrawingCache();

            // 獲取狀態(tài)欄高度
            Rect rect = new Rect();
            view.getWindowVisibleDisplayFrame(rect);
            int statusBarHeights = rect.top;

            int widths = view.getWidth();
            int heights = view.getHeight();

            //此獲取寬高的方式不適用全名屏, 不會(huì)包含底部的虛擬按鍵高度, 導(dǎo)致截屏過(guò)程中缺少這部分高度
            //Display display = activity.getWindowManager().getDefaultDisplay();
            // 獲取屏幕寬和高
            //int widths = display.getWidth();
            //int heights = display.getHeight();

            // 允許當(dāng)前窗口保存緩存信息
            view.setDrawingCacheEnabled(true);

            // 去掉狀態(tài)欄
            b = Bitmap.createBitmap(view.getDrawingCache(), 0,
                    statusBarHeights, widths, heights - statusBarHeights);

            // 銷(xiāo)毀緩存信息
            view.destroyDrawingCache();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return b;
    }

3.處理效果對(duì)比:
上下空白間距


對(duì)比照01.png

底部模糊未覆蓋


對(duì)比照3.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末久又,一起剝皮案震驚了整個(gè)濱河市巫延,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌地消,老刑警劉巖炉峰,帶你破解...
    沈念sama閱讀 221,695評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異脉执,居然都是意外死亡疼阔,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,569評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)半夷,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)婆廊,“玉大人,你說(shuō)我怎么就攤上這事巫橄√粤冢” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,130評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵湘换,是天一觀的道長(zhǎng)宾舅。 經(jīng)常有香客問(wèn)我,道長(zhǎng)彩倚,這世上最難降的妖魔是什么筹我? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,648評(píng)論 1 297
  • 正文 為了忘掉前任,我火速辦了婚禮帆离,結(jié)果婚禮上蔬蕊,老公的妹妹穿的比我還像新娘。我一直安慰自己盯质,他們只是感情好袁串,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,655評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著呼巷,像睡著了一般囱修。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上王悍,一...
    開(kāi)封第一講書(shū)人閱讀 52,268評(píng)論 1 309
  • 那天破镰,我揣著相機(jī)與錄音,去河邊找鬼。 笑死鲜漩,一個(gè)胖子當(dāng)著我的面吹牛源譬,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播孕似,決...
    沈念sama閱讀 40,835評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼踩娘,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了喉祭?” 一聲冷哼從身側(cè)響起养渴,我...
    開(kāi)封第一講書(shū)人閱讀 39,740評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎泛烙,沒(méi)想到半個(gè)月后理卑,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,286評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蔽氨,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,375評(píng)論 3 340
  • 正文 我和宋清朗相戀三年藐唠,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片鹉究。...
    茶點(diǎn)故事閱讀 40,505評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡宇立,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出自赔,到底是詐尸還是另有隱情泄伪,我是刑警寧澤,帶...
    沈念sama閱讀 36,185評(píng)論 5 350
  • 正文 年R本政府宣布匿级,位于F島的核電站,受9級(jí)特大地震影響染厅,放射性物質(zhì)發(fā)生泄漏痘绎。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,873評(píng)論 3 333
  • 文/蒙蒙 一肖粮、第九天 我趴在偏房一處隱蔽的房頂上張望孤页。 院中可真熱鬧,春花似錦涩馆、人聲如沸行施。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,357評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)蛾号。三九已至,卻和暖如春涯雅,著一層夾襖步出監(jiān)牢的瞬間鲜结,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,466評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留精刷,地道東北人拗胜。 一個(gè)月前我還...
    沈念sama閱讀 48,921評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像怒允,于是被迫代替她去往敵國(guó)和親埂软。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,515評(píng)論 2 359