wordpress网站数据迁移,企业网站建设实训报告,wordpress插件的语言设定,网站跳转qq链接怎么做的在Android开发中#xff0c;圆角设计十分常见#xff0c;那么实现边框圆角有几种形式呢#xff1f; 文章目录 设置圆角边框样式使用ClipToOutline进行裁切最后 设置圆角边框样式
常见的方式是在drawable文件夹下设置一个xml文件的边框样式#xff0c;比如 shape andro… 在Android开发中圆角设计十分常见那么实现边框圆角有几种形式呢 文章目录 设置圆角边框样式使用ClipToOutline进行裁切最后 设置圆角边框样式
常见的方式是在drawable文件夹下设置一个xml文件的边框样式比如 shape android:shaperectanglesolid android:colorcolor/grid_item_bg_normal /corners android:radius35px //shape其实这样的操作是改变背景同时会导致内容穿透的效果。
使用ClipToOutline进行裁切
此方法是Android5.0之后提供具体操作如下
private final ViewOutlineProvider viewOutlineProvider new ViewOutlineProvider() {Overridepublic void getOutline(View view, Outline outline) {Rect selfRect new Rect(0, 0, view.getWidth(), view.getHeight());outline.setRoundRect(selfRect, 20);}};ivQrCode.setOutlineProvider(viewOutlineProvider);
ivQrCode.setClipToOutline(true);先声明ViewOutlineProvider此类自定义实现需要设置的属性该类是专门用来处理阴影和裁切的然后在应用裁切即可。
最后
Outline相对于shape来说是真正的实现边缘裁切的shape其实只是设置背景而已它的view的范围还是那个正方形的范围。最明显的表现于shape如果内容填满布局会看到内容超出圆角而Outline不会。当然如果你shape配合padding的话肯定也不会出现这种情况。
参考 Android边框裁切的正确姿势实现示例