andriod屏幕圆角实现方法

现在很多全面屏手机的屏幕四角做成圆的,其圆润的感觉给人带来别样的视觉体验。先来一张我大锤子镇楼(不是广告呀,锤子没给钱),大家来直观感受一下圆角的魅力。

锤子.png

当然这种是硬件上实现的,我怀疑也是方的显示屏,然后做了个圆角遮蔽。那对于我们这些脸方的手机,就不能笑嘻嘻的圆一回吗?答案是肯定的,no picture say …

效果图

(应该能看出来我用的是神马手机吧)

圆角实现:

那我们就应该思考了,软件层面怎样实现这种效果呢。相信很多朋友立马会想到——使用悬浮窗。

实现原理:利用WindowManager将我们的圆角加到屏幕的四个角,圆角颜色设置为黑色,形成视觉圆角屏幕。

1.自定义圆角view

很显然,首先我们需要实现一个形状如下图的圆角,怎么做呢?用path(不熟悉的小伙伴可以百度一下哈),这里我们以左上角为例实现这个圆角。

圆角

            // 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;

为了能让用户自定义圆角颜色,大小,透明度,各个角是否显示,我在里面加了对应的控制变量,当用户设置的时候更新view就可以了。

    public void setCornerSize(int size){
 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值