当前位置: 首页 > news >正文

Android设置边框圆角

在Android开发中,圆角设计十分常见,那么实现边框圆角有几种形式呢?

文章目录

    • 设置圆角边框样式
    • 使用ClipToOutline进行裁切
    • 最后


设置圆角边框样式

常见的方式是在drawable文件夹下设置一个xml文件的边框样式,比如

 <shape android:shape="rectangle"><solid android:color="@color/grid_item_bg_normal" /><corners android:radius="35px" /></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边框裁切的正确姿势实现示例


http://www.mrgr.cn/news/46452.html

相关文章:

  • extends配置项详解
  • JAVA:在IDEA引入本地jar包的方法(不读取maven目录jar包)
  • 空指针:HttpSession异常,SpringBoot集成WebSocket
  • 以太坊(概念与原理)
  • 链路追踪SkyWalking
  • 【Sql递归查询】Mysql、Oracle、SQL Server、PostgreSQL 实现递归查询的区别与案例(详解)
  • xtu oj Balls
  • secure boot 部分知识
  • 20.安卓逆向-frida基础-hook分析调试技巧2-hookDES
  • web1.0,web2.0,web3.0 有什么区别 详解
  • Linux deepin系统通过编辑crontab来设置定时任务---定时关机
  • 使用pycharm的sftp功能远程操控服务器的时候,遇到了一些问题:Local path ’ ’ is outof project
  • 工厂车间|基于springBoot的工厂车间系统设计与实现(附项目源码+论文+数据库)
  • 极客兔兔Gee-Cache Day6
  • 单片机(学习)2024.10.9
  • 《基于FreeRTOS的STM32超声波智能避障平衡小车,实现了小车的自平衡、超声波避障以及通过智能手机远程控制的功能》+源代码+文献资料+文档说明
  • 【AI知识点】泛化(Generalization)与过拟合(Overfitting)
  • 安全帽未佩戴预警系统 劳保防护用品穿戴监测系统 YOLO
  • RK3588S系统导出和烧入新板子
  • 服务器平均响应时间和数据包大小关系大吗?
  • 3.1 显示层技术演变
  • 自由学习记录(4)
  • level2高频tick数据获取以及策略分享
  • HBase中的Write-Ahead Log 详解
  • 自动猫砂盆是养猫新型智商税吗?测评2024年热门款智能猫砂盆分享
  • 【springboot9735】基于springboot+vue的车辆充电桩