给ImageView做圆角处理
这两天做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做圆角处理相关推荐
- PS圆角制作 ps圆角矩形 ps圆角边框 ps做圆角 ps圆角处理
PS圆角制作 ps圆角矩形 ps圆角边框 ps做圆角 ps圆角处理 以上是效果 方法如下: 1:用photoshop打开原图,并取消背景锁. 2:选"工具栏"的"圆角矩形 ...
- css直角线_css3做圆角右边是圆角左边是直角?
holdtom 问题:css3做圆角右边是圆角左边是直角 解答:注意css改动这里,nav ul li{ float:left; margin:0 20px; background-color:#99 ...
- HTML设置单边圆角,如何在html中做圆角矩形和 只有右边的分隔线
其实是对(理论上是对所有的)html元素: 而实际 常用的是 div块, 链接a 等运用圆角矩形的样式 这个圆角是通过元素: div, a的 css 样式来实现的: 样式: border-radius ...
- Android 自定义ImageView实现圆角
需求描述: 实现一个带圆角的imageView,要求自定义view方式实现. 需求分析: 我们可以自定义一个view,继承ImageView,并只需要重写ImageView的onDraw()方法即可. ...
- 如何在html中做圆角矩形和 只有右边的分隔线
这个网站满好的,可以常看看 css-matic中有几个很好的写css可视化的工具 其实做css 版式布局等都可以有工具的 推荐40个优秀的免费CSS工具 debugger正则表达式在线 其实是对(理论 ...
- tkinter窗口美化功能介绍 第二章 怎么做圆角窗口
不要走哦,文章末尾有大礼包免费送给你! 作者都把礼物送你了,给个小小的赞呗~ 这个方法我琢磨了好久,因为我的系统是视窗(Linux),想要从网上找到圆角的方法.方法有很多,但只适用于window.没法 ...
- Android imageview设置圆角
顶部左右圆角 四角都圆角 第一种方法使用glide自带实现圆角方法 RoundedCorners roundedCorners = new RoundedCorners(5);圆角为5RequestO ...
- photoshop中给矩形做圆角的方法
方法一(先画矩形再圆角): 1.以纯路径方式画矩形.圆形,位置任意. 图1 a)画矩形和圆形 如果要指定圆角的半径,可以在工具选项里选择固定大小,输入固定大小W和H均为2倍半径(即圆直径). 图1 ...
- Android 自定义ImageView实现圆角图片
圆角ImageView 大概就是这个样子的 四个直角改成圆角的 度数可以自定义 自定义ImageView 方法一:BitmapShader方式 首先简单了解下BitmapShader BitmapSh ...
- android xml 圆形图片,Android ImageView实现圆角,圆形图片
UI设计中,为了有更好的效果,用户的头像很多以圆形方式显示,其实现的步骤 1 在res/values/attrs中添加 2 自定义View,CustomImageView.java package c ...
最新文章
- 【竞赛总结】CCF多人种人脸识别
- cie规定的标准光源_孩视宝:健康自然的光源是护眼灯发展的重点
- HenCoder Android 开发进阶:自定义 View 1-3 drawText() 文字的绘制
- 曼昆微观经济学--十大原理
- 拍照扫描身份证的识别软件SDK
- macOS 工具 - 查看PKG文件内容:SuspiciousPackage 使用方法
- 文字检测识别系统SDK
- 二、网络编程之协议及协议格式详解
- 《论离离原上谱这个梗》
- 阿克曼车型运动解算——基于智能车竞赛C车模
- 高考色彩静物组合想要画好?画之前注意下这8点:
- Arcgis: 利用xls文件绘制地图+细节参数调整(新手小白一看就懂)
- EC11旋转编码器电路和程序
- 【JS】【掘金】看看你所关注的掘友值排行榜
- 语义分析- C-- 语言
- 帝搜软件新增今日头条和B站(哔哩哔哩)seo排名优化功能
- 图片URL链接下载到本地(https)
- 新版标准日本语初级_第二十一课
- 人民币(¥)符号在html中的显示
- 体验式零售:小微书店崛起
热门文章
- 使用jqdata和hikyuu平台进行C /python混合策略编写的方法
- R语言 生存分析与cox模型的学习笔记
- 远程桌面连接计算机是什么,远程桌面连接是什么意思?
- Debezium-Flink-Hudi:实时流式CDC
- 「python爬虫之路day9」:实战之使用正则表达式爬取抓狂网,古诗文网信息
- 基于单片机汽车防盗报警系统设计-单片机毕业课程设计
- 影子内存(Shadow RAM)介绍_4
- 【WEB】web www http html hypermedia hypertext 技术名词的意思
- 日记侠:原来写文章竟然是为了这个
- java前端框架b_B-JUI