这两天做Android APP时才发现,Android的控件在需要设置圆角属性时,好像不能像css那样设置radius的值来解决,感觉好复杂……百度了一圈,找了一个方法实践,特此记录下来。

1、扩展类型

package com.example.demo;import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Path;
import android.support.annotation.Nullable;
import android.util.AttributeSet;public class RadiusImageView extends android.support.v7.widget.AppCompatImageView {private Path path;public RadiusImageView(Context context) {super(context);init(context);}public RadiusImageView(Context context, @Nullable AttributeSet attrs) {super(context, attrs);init(context);}public RadiusImageView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {super(context, attrs, defStyleAttr);init(context);}private void init(Context context) {path = new Path();}@Overrideprotected void onDraw(Canvas canvas) {float width = getWidth();float height = getHeight();float rx = width * 0.5f;    // 半径为宽度二分之一float ry = height * 0.5f;   // 半径为高度二分之一// 正方形经处理后变为圆形path.reset();// 四个点位,如果半径小,则点位还需另行计算path.moveTo(0.0f, height * 0.5f);path.lineTo(width * 0.5f, 0.0f);path.lineTo(width, height * 0.5f);path.lineTo(width * 0.5f, height);path.lineTo(0.0f, height * 0.5f);path.addRoundRect(0.0f, 0.0f, width, height, rx, ry, Path.Direction.CW);canvas.clipPath(path);super.onDraw(canvas);}
}

2、使用方法

在activity_main.xml使用方法如下:

  • Code页面添加:
<com.example.demo.RadiusImageViewandroid:id="@+id/imageView"/>
  • Design页面添加:

效果展示:

给ImageView做圆角处理相关推荐

  1. PS圆角制作 ps圆角矩形 ps圆角边框 ps做圆角 ps圆角处理

    PS圆角制作 ps圆角矩形 ps圆角边框 ps做圆角 ps圆角处理 以上是效果 方法如下: 1:用photoshop打开原图,并取消背景锁. 2:选"工具栏"的"圆角矩形 ...

  2. css直角线_css3做圆角右边是圆角左边是直角?

    holdtom 问题:css3做圆角右边是圆角左边是直角 解答:注意css改动这里,nav ul li{ float:left; margin:0 20px; background-color:#99 ...

  3. HTML设置单边圆角,如何在html中做圆角矩形和 只有右边的分隔线

    其实是对(理论上是对所有的)html元素: 而实际 常用的是 div块, 链接a 等运用圆角矩形的样式 这个圆角是通过元素: div, a的 css 样式来实现的: 样式: border-radius ...

  4. Android 自定义ImageView实现圆角

    需求描述: 实现一个带圆角的imageView,要求自定义view方式实现. 需求分析: 我们可以自定义一个view,继承ImageView,并只需要重写ImageView的onDraw()方法即可. ...

  5. 如何在html中做圆角矩形和 只有右边的分隔线

    这个网站满好的,可以常看看 css-matic中有几个很好的写css可视化的工具 其实做css 版式布局等都可以有工具的 推荐40个优秀的免费CSS工具 debugger正则表达式在线 其实是对(理论 ...

  6. tkinter窗口美化功能介绍 第二章 怎么做圆角窗口

    不要走哦,文章末尾有大礼包免费送给你! 作者都把礼物送你了,给个小小的赞呗~ 这个方法我琢磨了好久,因为我的系统是视窗(Linux),想要从网上找到圆角的方法.方法有很多,但只适用于window.没法 ...

  7. Android imageview设置圆角

    顶部左右圆角 四角都圆角 第一种方法使用glide自带实现圆角方法 RoundedCorners roundedCorners = new RoundedCorners(5);圆角为5RequestO ...

  8. photoshop中给矩形做圆角的方法

    方法一(先画矩形再圆角): 1.以纯路径方式画矩形.圆形,位置任意. 图1  a)画矩形和圆形 如果要指定圆角的半径,可以在工具选项里选择固定大小,输入固定大小W和H均为2倍半径(即圆直径). 图1 ...

  9. Android 自定义ImageView实现圆角图片

    圆角ImageView 大概就是这个样子的 四个直角改成圆角的 度数可以自定义 自定义ImageView 方法一:BitmapShader方式 首先简单了解下BitmapShader BitmapSh ...

  10. android xml 圆形图片,Android ImageView实现圆角,圆形图片

    UI设计中,为了有更好的效果,用户的头像很多以圆形方式显示,其实现的步骤 1 在res/values/attrs中添加 2 自定义View,CustomImageView.java package c ...

最新文章

  1. 【竞赛总结】CCF多人种人脸识别
  2. cie规定的标准光源_孩视宝:健康自然的光源是护眼灯发展的重点
  3. HenCoder Android 开发进阶:自定义 View 1-3 drawText() 文字的绘制
  4. 曼昆微观经济学--十大原理
  5. 拍照扫描身份证的识别软件SDK
  6. macOS 工具 - 查看PKG文件内容:SuspiciousPackage 使用方法
  7. 文字检测识别系统SDK
  8. 二、网络编程之协议及协议格式详解
  9. 《论离离原上谱这个梗》
  10. 阿克曼车型运动解算——基于智能车竞赛C车模
  11. 高考色彩静物组合想要画好?画之前注意下这8点:
  12. Arcgis: 利用xls文件绘制地图+细节参数调整(新手小白一看就懂)
  13. EC11旋转编码器电路和程序
  14. 【JS】【掘金】看看你所关注的掘友值排行榜
  15. 语义分析- C-- 语言
  16. 帝搜软件新增今日头条和B站(哔哩哔哩)seo排名优化功能
  17. 图片URL链接下载到本地(https)
  18. 新版标准日本语初级_第二十一课
  19. 人民币(¥)符号在html中的显示
  20. 体验式零售:小微书店崛起

热门文章

  1. 使用jqdata和hikyuu平台进行C /python混合策略编写的方法
  2. R语言 生存分析与cox模型的学习笔记
  3. 远程桌面连接计算机是什么,远程桌面连接是什么意思?
  4. Debezium-Flink-Hudi:实时流式CDC
  5. 「python爬虫之路day9」:实战之使用正则表达式爬取抓狂网,古诗文网信息
  6. 基于单片机汽车防盗报警系统设计-单片机毕业课程设计
  7. 影子内存(Shadow RAM)介绍_4
  8. 【WEB】web www http html hypermedia hypertext 技术名词的意思
  9. 日记侠:原来写文章竟然是为了这个
  10. java前端框架b_B-JUI