現(xiàn)在很多全面屏手機(jī)的屏幕四角做成圓的,其圓潤的感覺給人帶來別樣的視覺體驗(yàn)。先來一張我大錘子鎮(zhèn)樓(不是廣告呀,錘子沒給錢),大家來直觀感受一下圓角的魅力。
當(dāng)然這種是硬件上實(shí)現(xiàn)的,我懷疑也是方的顯示屏,然后做了個圓角遮蔽。那對于我們這些臉方的手機(jī),就不能笑嘻嘻的圓一回嗎?答案是肯定的,no picture say ...
(應(yīng)該能看出來我用的是神馬手機(jī)吧)
圓角實(shí)現(xiàn):
那我們就應(yīng)該思考了,軟件層面怎樣實(shí)現(xiàn)這種效果呢。相信很多朋友立馬會想到——使用懸浮窗。
實(shí)現(xiàn)原理:利用WindowManager將我們的圓角加到屏幕的四個角,圓角顏色設(shè)置為黑色,形成視覺圓角屏幕。
1.自定義圓角view
很顯然,首先我們需要實(shí)現(xiàn)一個形狀如下圖的圓角,怎么做呢?用path(不熟悉的小伙伴可以百度一下哈),這里我們以左上角為例實(shí)現(xiàn)這個圓角。
圓角
// top left case Gravity.TOP | Gravity.LEFT: path.moveTo(0.0f, 0.0f); path.lineTo(0.0f, (float) h); path.arcTo(new RectF(0.0f, 0.0f, ((float) w) * 2.0f, ((float) h) * 2.0f), 180.0f, 90.0f, true); path.lineTo((float) w, 0.0f); path.lineTo(0.0f, 0.0f); path.close(); break;