Android 自定义ImageView圆形图

Android 圆角圆形ImageView(超简单实现) 前言:今天偶然看到我之前写过的一篇博客 Android项目中遇到的坑之(Android圆角圆形图 一),我在想,这不就是在模仿ImageView么,我为什么要模仿,直接拿来用不是更好么?我能直接在ImageView的源码上去改改代码? 于是就有了下面这篇文章了。先上一张效果图:效果还是很不错的,代码更简单哦~~~ 但凡搞过android的童鞋一定都知道ImageView,既然ImageView已经处 阅读详情

在这里插入图片描述

直接看代码

public class ImageViewCriCle extends AppCompatImageView{


    private Paint paint;
    private Matrix matrix;
    private float height;
    private float width;
    private float adius;

    public ImageViewCriCle(Context context) {
        this(context,null);
    }

    public ImageViewCriCle(Context context, AttributeSet attrs) {
        this(context, attrs,0);
    }

    public ImageViewCriCle(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        paint = new Paint();//初始化画笔
        paint.setAntiAlias(true);//扛锯齿
        matrix = new Matrix();//矩形

    }

    @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        super.onMeasure(widthMeasureSpec, heightMeasureSpec);
        width = getMeasuredWidth();
        height = getMeasuredHeight();
        adius = Math.min(width, height) / 2;
    }

    @Override
    protected void onDraw(Canvas canvas) {
        Drawable drawable = getDrawable();
        if (drawable == null) {
            super.onDraw(canvas);
            return;
        }
        if (drawable instanceof BitmapDrawable) {
            paint.setShader(initBitmapShader((BitmapDrawable) drawable));
            canvas.drawCircle(width / 2, height / 2, adius, paint);
            return;
        }
        super.onDraw(canvas);
    }

    private BitmapShader initBitmapShader(BitmapDrawable drawable) {
        Bitmap bitmap = drawable.getBitmap();
        BitmapShader bitmapShader = new BitmapShader(bitmap, Shader.TileMode.CLAMP, Shader.TileMode.CLAMP);
        float scale = Math.max(width / bitmap.getWidth(), height / bitmap.getHeight());
        matrix.setScale(scale, scale);
        bitmapShader.setLocalMatrix(matrix);
        return bitmapShader;
    }
}
android自定义view-打造圆形ImageView(一) 前言: 大家在很多应用不难发现,用户的头像那一块的imageview是圆形的,可是我们并没有现成的圆形ImageView调用,那么最常见的思路就是自己去写一个属于自己的圆形ImageView,基于这样的出发点,今天我们就自己动手去写一个圆形ImageView方便日后直接使用。为什么标题会有(一)呢,其实打造圆形ImageView,我能想到的有三种方式, BitmapShader(渲染器 阅读详情

相关推荐

Android自定义圆形图片,设置边框

Android自定义圆形图片,可设置最多两个的外边框。包括从网络获取图片显示。 解决图片锯齿问题。 解决图片变形问题

wangqing830414的专栏 1万+

android_基础_圆形imageView的实现

四种自定义圆形ImageView的方法 BitmapShader: 使用着色器 Xfermode:使用图层叠加 ClipPath:通过对画布裁剪的方式 RoundedBitmapDrawable: 系统API圆角类 前面三种是通过继承ImageView重写onDraw()方法实现 最后一种是系统API直接使用。 每一种方式都能实现显示圆形图片, 我们主要从以下几个方面来比较各个方式的不同 实现方式难易 空白的背景 抗锯齿的能力 第1种方式:BitmapShader实现 通过对Pain

写bug的蚊子的博客 2990

Android使用自定义ImageView实现圆形图片效果

本篇文章主要介绍了Android使用自定义ImageView实现圆形图片效果,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

4- Android四种自定义圆形ImageView的方法

介绍四种自定义圆形ImageView的方法 BitmapShader: 使用着色器 Xfermode:使用图层叠加 ClipPath:通过对画布裁剪的方式 RoundedBitmapDrawable: 系统API圆角类 前面三种是通过继承ImageView重写onDraw()方法实现 最后一种是系统API直接使用。 每一种方式都能实现显示圆形图片, 我们主要从以下几个方面来比较各个方...

bobo_zai的博客 9774

TeXstudio完整安装配置教程(2025最新版)

至此,你已经完成了TeXstudio的完整安装和配置!现在你可以:✅ 使用TeXstudio编写LaTeX文档✅ 正确编译中英文混排的文档✅ 掌握基本的编辑和配置技巧LaTeX的学习曲线较陡,但一旦掌握,你会发现它在学术写作中的强大之处。建议从简单的文档开始练习,逐步掌握更高级的功能。祝你LaTeX写作顺利!如果有任何问题,欢迎在评论区留言交流。关键词:TeXstudio安装、LaTeX环境配置、中文LaTeX、TeX Live、学术论文写作更新日期:2025年10月。

weixin_51241407的博客 4500

dify源码本地部署,dify k8s部署

Dify.AI 是一款简单易用且开源的 LLMOps 平台,帮助开发者更简单、更快速地创建 AI 应用。它的核心理念是通过可声明式的 YAML 文件定义 AI 应用的各个方面,包括 Prompt、上下文和插件等。Dify 提供了可视化的 Prompt 编排、运营、数据集管理等功能。这些功能使得开发者能够在数天内完成 AI 应用的开发,或将 LLM 快速集成到现有应用中,并进行持续运营和改进。

shykevin的博客 1015

android 圆形头像,自定义圆形ImageView

中间的圆形的专辑图片。

2501_90194443的博客 392

微信小程序导航栏滑动一定距离后固定到顶部

接上一篇文章的内容,通常在一个页面中部会有一个导航栏查看不同的内容,这篇文章旨在实现在页面下滑的过程中导航栏自动固定到顶部以便我们阅读过程中的切换。 下滑一段距离后自动固定到顶部 首先,思考这个功能应该是怎么实现的: 在页面下滑的过程中,我们希望系统应当能识别下滑了多少距离,当原本的导航栏逐渐被遮住以后(遮住意味着下滑了特定距离),触发这个功能,执行另一种样式,将导航栏固定在页面顶端,同时如果我们将页面往上滑,系统能识别到原来的导航栏能露出来了(即距离顶端的高度小于一个特定的值),这时候又执行最初的样式

Oblivision_Geek的博客 4031

android 自定义圆形imageView

头叙:有的时候,android原生的控件满足不了我们项目中的需求,所以我们会针对原生的控件在进行一次升华,也就是我们说的自定义控件。eg: 每一个项目中都有imageView,但是原生的imageView是一个矩形,但是我们爱头像上传的时候,有可能需要圆形的头像,我们只能自定义控件,1.自定义控件1.1 如果我们要自定义ImageView, 首先继承ImageView(具体代码,在下面会赘述,简单...

wk_先森的博客 1万+

企业微信开发007_域名主体校验未通过,需配置备案主体与当前企业主体相同或有关联关系的域名_企业内部自建应用开发_配置可信域名_回调URL_可信IP---企业微信开发009

因为我这个企业微信是,已经注册了服务商了,所以我又注册了一个不是服务商的测试企业,没有实名认证的,去试了试。而且,网络上找的教程,都是不够详细的,还是会碰到各种各样的问题,记录下来,为后来者提供便利。首先我用natapp.cn 申请了一个免费的域名,然后去,一个,企业微信上去配置,注意。我这个域名,的主体,可能是域名服务商,比如阿里域名 等等的 不是一般的企业域名。我这个企业微信,是开通了服务商的,企业微信,右上角有服务商管理后台的。到时候,直接用,他们自己企业注册的域名,已经备案的再去尝试,

添柴程序猿的专栏 1694

[Dify] 法律文档解析助手怎么做才敢用?先把条款提取、依据核对和人工复核分开

这篇文章围绕用 Dify 搭建法律文档解析助手时最容易被忽略的可靠性问题展开:文档能上传、模型能总结,并不等于结果就能直接用于法务判断。文章会从文档抽取、条款定位、召回片段核对、结构化输出和人工复核几个角度梳理设计思路,适合正在用 Dify 处理合同、制度、招投标文件或企业知识库问答的读者阅读。

技术小甜甜:传播可落地技术,帮助个人和企业降低解决真实场景问题的成本 9379

关于 android ImageView 圆角处理 圆图

关于 android ImageView 圆角处理 圆图 博客分类:  android   相关组件找到了4个 其一:http://stackoverflow.com/questions/16208365/create-circular-image-view-in-android Java代码   package cn.com.idre

liqingqq50的博客 621

EtherCAT主站教程3--适配伺服驱动器(模式配置)

目前通用的伺服驱动器的位置模式、速度模式以及其他模式是伺服系统中常见的控制模式,切换这些模式通常需要根据具体的伺服驱动器型号和控制协议(如EtherCAT、CANopen、Modbus等)进行配置。以下是这些模式的概述及切换方法的一般性指导:协议规范中,一共有以下几种模式:其中模式1、3、6对于比较常用,也更容易上手。

weixin_52626887的博客 793

android 动态圆,Android中 3D 圆形旋转动态实现

最近挺闲的。对于android的画图机制想了深入了解。发现java的2维画图机制其实也挺强大的。能做出很多我们很炫的效果。此篇文章就讲述了通过cavans 的api 实现三维效果的动态旋转图。先上效果图:android中自带的roate旋转使用的是平面旋转。这里我们想要实现立体的旋转圆形。此间我们需要的核心只是就是:1.画矩形的内切椭圆 2.动态改变矩形半径,并且连续画椭圆。达到圆形旋转的效果 3...

weixin_31960565的博客 617

YOLOv10有效涨点专栏目录 | 包含卷积、主干、检测头、注意力机制、Neck、二次创新、独家创新等上百种创新机制

Hello,各位读者们好本专栏自开设以来已经更新改进教程100余篇其中包含二次创新、独家创新多种改进方法,包含C2f、主干、检测头、注意力机制、Neck多种结构,也有损失函数和一些细节点上的创新。同时本人一些讲解视频和包含我所有创新的YOLOv10文档并不能在优快云上传,通过建立交流群的形式在内上传我完整的文件和视频我也会在群内不定期和大家交流回答大家问题。专栏介绍。

Snu77的博客 1万+

DeepSeek在实时计算与流处理系统中的突破性实践

对于技术决策者而言,现在正是将DeepSeek实时计算技术纳入企业架构蓝图的关键时机,那些能够率先构建实时智能能力的企业,将在数据驱动的商业竞争中赢得决定性优势。DeepSeek通过创新的流处理架构,成功将复杂事件处理(CEP)的延迟降低到亚秒级,同时保证了计算结果的精确性。DeepSeek研发的神经架构搜索(NAS)与知识蒸馏联合优化框架,可在保持模型精度的前提下,将参数量压缩至原始模型的1/100,实现边缘设备的实时AI推理。随着5G和物联网技术的普及,对实时处理能力的需求将呈指数级增长。

Programming Talk 290

android RoundedBitmapDrawable最简单方式实现圆角

针对于上面的问题,我总结出了互联网公司Android程序员面试涉及到的绝大部分面试题及答案,并整理做成了文档,以及系统的进阶学习视频资料。(包括Java在Android开发中应用、APP框架知识体系、高级UI、全方位性能调优,NDK开发,音视频技术,人工智能技术,跨平台技术等技术资料),希望能帮助到你面试前的复习,且找到一个好的工作,也节省大家在网上搜索资料的时间来学习。

2401_84149570的博客 895

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Android项目中遇到的坑之(Android圆角圆形图 二)

接着上一篇的问题来研究研究: **问题来了:效果是有了,但有发现么?我设置的scaleType只有fitxy 是有效果的,其他的都没有效果了。设置为其他的scaleType都变成matrix那种效果了,也就是图片默认从控件的左上角开始摆放。**我们先看看ImageView的scaleType 以下内容来自http://www.2cto.com/kf/201411/348601.html 让

vv_bug 3840

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

android 加载图片资源,一个Android快速图片加载框架BaseImageLoader

作者AlexFugui,源码BaseImageLoader,这是一个Android快速图片加载框架BaseImageLoader。说明支持加载网络图片(String格式url)/本地资源(mipmap和drawable)/网络.9图片/gif加载/自定义样式(圆形/圆角/centerCrop)/dataBindingv1.1.0起支持读取zip中图片加载至任意View中,无需解压.更多使用方法和示...

weixin_36474001的博客 384

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

自定义View 应用于用户头像背景圆框

import android.content.res.TypedArray;import android.graphics.Bitmap;import android.graphics.Canvas;import android.graphics.Paint;import android.graphics.PorterDuff; import android.graphics.PorterDuff

qq_28663905的博客 309

android-自定义ImageView-圆形图片绘制代码详解

andorid中圆形图片很早就有啦,今天算是搞了一把,自己写了出来,并且可以实际使用的代码。 先看效果图: 图片的原图是: 先看看xml的布局文件是怎么样的:<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

nyyin@qq.com 4902

Glide加载圆形图片的处理

Glide在加载圆形的图片的时候,进入页面第一次只会显示占位图,再一次进去的时候才会重新显示正常的图片, 首先看一下自定义的imgview吧public class CircleImageView extends ImageView { private static final ScaleType SCALE_TYPE = ScaleType.CENTER_CROP; private

淘气阿星的博客 785

自定义圆形图片CircleImageView

效果图具体代码实现自定义的ImageView:CircleImageView.javapackage com.plusub.rentlandapp.view;import android.content.Context; import android.graphics.Bitmap; import android.graphics.Canvas; import android.graphics.dr

z_zhaojun的博客 2145

58.圆角图片

绘制流程:1.根据获取的属性值,判断显示模式,并设置圆形图片、外边框、内边框的半径值2.画边框3.画图片内容(1)获取原图(2)得到正方形图(3)得到缩放图(4)得到圆形图public class MyRoundImageView extends ImageView {private int defaultColor = 0xffffffff; private ShowType mShowT...

weixin_33857679的博客 77

Android自定义ImageView实现圆形图片

  Android自定义ImageView实现圆形图片 自定义ImageView实现圆形图片,主要是在onDraw()方法中实现绘制圆形图片,在onMeasure()中测量圆形的半径并设置View的宽高。效果如下图   代码如下   public class CircleImageView extends ImageView { //画笔 private Pai...

小周郎的博客 3663
上一篇: Android 默认隐藏键盘的自动弹出
下一篇: Android AlertDialog简单实现
Android_Mr_Zhao
博客等级 码龄8年 9粉丝 83原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值