我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Android Studio实现带边框的圆形头像

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Android Studio实现带边框的圆形头像

本文实例为大家分享了Android Studio实现带边框的圆形头像的具体代码,供大家参考,具体内容如下

效果显示:

(没有边框的)

Android Studio实现带边框的圆形头像 

(有边框的)

Android Studio实现带边框的圆形头像

创建自定义ImagView控件

(1)、没有边框的

package chenglong.activitytest.pengintohospital.utils;import android.content.Context;import android.graphics.Bitmap;import android.graphics.BitmapShader;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Matrix;import android.graphics.Paint;import android.graphics.Rect;import android.graphics.Shader;import android.graphics.drawable.BitmapDrawable;import android.graphics.drawable.ColorDrawable;import android.graphics.drawable.Drawable;import android.util.AttributeSet;import android.widget.ImageView;public class mine_ImageViewPlus extends ImageView{ private Paint mPaintBitmap = new Paint(Paint.ANTI_ALIAS_FLAG); private Paint mPaintBorder = new Paint(Paint.ANTI_ALIAS_FLAG); private Bitmap mRawBitmap; private BitmapShader mShader; private Matrix mMatrix = new Matrix(); private float mBorderWidth = dip2px(15); private int mBorderColor = 0x80bebebe; public mine_ImageViewPlus(Context context, AttributeSet attrs) { super(context, attrs); } @Override protected void onDraw(Canvas canvas) { Bitmap rawBitmap = getBitmap(getDrawable()); if (rawBitmap != null){  int viewWidth = getWidth();  int viewHeight = getHeight();  int viewMinSize = Math.min(viewWidth, viewHeight);  float dstWidth = viewMinSize;  float dstHeight = viewMinSize;  if (mShader == null || !rawBitmap.equals(mRawBitmap)){  mRawBitmap = rawBitmap;  mShader = new BitmapShader(mRawBitmap, Shader.TileMode.CLAMP, Shader.TileMode.CLAMP);  }  if (mShader != null){  mMatrix.setScale((dstWidth - mBorderWidth * 2) / rawBitmap.getWidth(), (dstHeight - mBorderWidth * 2) / rawBitmap.getHeight());  mShader.setLocalMatrix(mMatrix);  }  mPaintBitmap.setShader(mShader);  mPaintBorder.setStyle(Paint.Style.STROKE);  mPaintBorder.setStrokeWidth(mBorderWidth);  mPaintBorder.setColor(mBorderColor);  float radius = viewMinSize / 2.0f;  canvas.drawCircle(radius, radius, radius - mBorderWidth / 2.0f, mPaintBorder);  canvas.translate(mBorderWidth, mBorderWidth);  canvas.drawCircle(radius - mBorderWidth, radius - mBorderWidth, radius - mBorderWidth, mPaintBitmap); } else {  super.onDraw(canvas); } } private Bitmap getBitmap(Drawable drawable){ if (drawable instanceof BitmapDrawable){  return ((BitmapDrawable)drawable).getBitmap(); } else if (drawable instanceof ColorDrawable){  Rect rect = drawable.getBounds();  int width = rect.right - rect.left;  int height = rect.bottom - rect.top;  int color = ((ColorDrawable)drawable).getColor();  Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);  Canvas canvas = new Canvas(bitmap);  canvas.drawARGB(Color.alpha(color), Color.red(color), Color.green(color), Color.blue(color));  return bitmap; } else {  return null; } } private int dip2px(int dipVal) { float scale = getResources().getDisplayMetrics().density; return (int)(dipVal * scale + 0.5f); }}

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Android Studio实现带边框的圆形头像

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Android Studio实现带边框的圆形头像

本文实例为大家分享了Android Studio实现带边框的圆形头像的具体代码,供大家参考,具体内容如下效果显示: (没有边框的) (有边框的) 1、创建自定义ImagView控件 (1)、没有边框的package chenglong.a
2023-05-30

利用Android中BitmapShader制作自带边框的圆形头像

效果如下:BitmapShader 的简单介绍 关于 Shader是什么,Shader的种类有哪几种以及如何使用不属于本文范畴,对这方面不是很了解的同学,建议先去学习一下 Shader 的基本使用。 BitmapShader主要的作用就是
2022-06-06

Android使用CircleImageView实现圆形头像的方法

有时我们在应用中会用到圆形头像,下面是利用CircleImageView实现圆形头像的演示,下面效果和代码,效果如图实现起来也比较简单,先在项目中建一个circleimageview包用来存放CircleImageView类,待会直接把Ci
2022-06-06

Android利用CircleImageView实现圆形头像的方法

CircleImageView实现圆形头像代码分享,供大家参考,具体内容如下 一、创建属性文件(attrs.xml)具体操作: 1、在项目的values文件底下创建一新的属性文件,文件名为attrs:New->XML->Values XML
2022-06-06

Android 心形图片心形ImageView、带边框的的心形图片和圆形图片

源码地址:心形图片、心形ImageView、圆形图片、圆形ImageView 实际效果如下:一、思路 1、图片尺寸:加载的图片尺寸不会完全统一,可以是正方形,长方形等,这里不需要考虑正方形,因为一般的头像是正方形,需要考虑的是长方形,需要取
2022-06-06

Android自定义ViewGroup实现带箭头的圆角矩形菜单

本文和大家一起做一个带箭头的圆角矩形菜单,大概长下面这个样子: 要求顶上的箭头要对准菜单锚点,菜单项按压反色,菜单背景色和按压色可配置。 最简单的做法就是让UX给个三角形的图片往上一贴,但是转念一想这样是不是太low了点,而且不同分辨率也不
2022-06-06

Android实现圆角边框对话框的方法

前言 最近要实现个圆角边框的对话框设计图,查了网上很多种实现,都差不多,从中得到灵感,实现了另一种方式,利用layer-list: 先来看看实现的效果如下:首先在drawable目录下定义好圆角背景文件dialog_corner_bg.xm
2022-06-06

Android实现本地上传图片并设置为圆形头像

先从本地把图片上传到服务器,然后根据URL把头像处理成圆形头像。 因为上传图片用到bmob的平台,所以要到bmob(http://www.bmob.cn)申请密钥。 效果图:核心代码:代码如下: public class MainActiv
2022-06-06

Android编程实现圆角边框的方法

本文实例讲述了Android编程实现圆角边框的方法。分享给大家供大家参考,具体如下: 设置边框圆角可以在drawable-mdpi目录里定义一个xml:
2022-06-06

Android 圆角边框的实现方式汇总

首先我将贴出几种实现圆角边框的dmeo程序效果图:方式一:使用shape元素填充背景,设置圆角/带弧度的角 1、首先在 \res\drawable下新建Shape为根元素的资源文件:corners_bg.xml, 代码如下:
2022-06-06

Android实现图片一边的三角形边框效果

在每一个图片的某一侧都可以展示出一个三角形的边框视图,就是咱们的三角形标签视图。这个视图在电商类APP当中比较常用,使用过ebay的同学应该都还记得有些商品的左上角或者右上角都会显示一个三角形的边框,用于给人一个直观的商品正在促销,或者刚刚
2022-06-06

Android实现动态圆环的图片头像控件

先看效果图:现在大部分的app上难免会使用到圆形头像,所以今天我给大家分享一个单独使用的,并且周围带有圆环动画的花哨圆形头像控件,本控件是在圆形头像控件基础上实现的,只是在其周围再画一些不同大小的圆而已,就可以实现如图的效果。圆形头像的基本
2022-06-06

Android 自定义圆形头像CircleImageView支持加载网络图片的实现代码

在Android开发中我们常常用到圆形的头像,如果每次加载之后再进行圆形裁剪特别麻烦。所以在这里写一个自定义圆形ImageView,直接去加载网络图片,这样的话就特别的方便。 先上效果图主要的方法 1.让自定义 CircleImageVie
2022-06-06

Android实现带头像的用户注册页面

1.首先是注册页面的布局: 2022-06-06

如何实现pyqt5圆形label显示打开的摄像头功能

这篇文章主要介绍了如何实现pyqt5圆形label显示打开的摄像头功能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。.在label显示打开的摄像头原理其实在label显示图片
2023-06-22

Android实现带有边框的ListView和item的方法

本文实例讲述了Android实现带有边框的ListView和item的方法。分享给大家供大家参考,具体如下: 想为ListView和item四周添加边框有两种方法: 1.贴一张带有边框效果的背景图 2.自定义Draw的方法 第一种方法较第二
2022-06-06

Android编程实现圆角边框布局效果的方法

本文实例讲述了Android编程实现圆角边框布局效果的方法。分享给大家供大家参考,具体如下:这里用的是TableLayout布局的。先看效果图下面看下布局文件
2023-05-31

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录