Android 实现圆角图片的简单实例
发布时间 - 2026-01-11 02:16:45 点击率:次Android 实现圆角图片的简单实例

实现效果图:
本来想在网上找个圆角的例子看一看,不尽人意啊,基本都是官方的Demo的那张原理图,稍后会贴出。于是自己自定义了个View,实现图片的圆角以及圆形效果。效果图:
Android 圆角图片的实现形式,包括用第三方、也有系统的。比如makeramen:roundedimageview,系统的cardview , glide .fresco 。
compile 'com.android.support:appcompat-v7:24.0.0' compile 'com.makeramen:roundedimageview:2.2.1' compile 'com.android.support:cardview-v7:24.0.0' compile 'com.github.bumptech.glide:glide:3.7.0' compile 'com.facebook.fresco:fresco:0.12.0'
<android.support.v7.widget.CardView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/id_cardview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
app:cardBackgroundColor="@color/bg_light_gray"
app:cardCornerRadius="3dp"
app:cardUseCompatPadding="false"
app:cardPreventCornerOverlap="true"
>
<ImageView
android:id="@+id/iv_subject"
android:gravity="center"
android:scaleType="centerCrop"
android:layout_width="match_parent"
android:layout_height="200dp" />
<TextView
android:paddingLeft="5dp"
android:paddingBottom="5dp"
android:background="@drawable/bg_biaoti"
android:id="@+id/tv_subject"
android:gravity="center_vertical"
android:text=""
android:ellipsize="end"
android:singleLine="true"
android:textSize="13sp"
android:textColor="@color/white"
android:layout_gravity="bottom"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</android.support.v7.widget.CardView>
iv_round=(RoundedImageView) findViewById(R.id.iv_round); Glide.with(this).load(url).into(iv_round);
iv_cardview=(ImageView)findViewById(R.id.iv_cardview); Glide.with(this).load(url).into(iv_cardview);
iv_fresco=(SimpleDraweeView)findViewById(R.id.iv_fresco);
Glide.with(this).load(url).into(iv_round);
Glide.with(this).load(url).into(iv_cardview);
Uri uri = Uri.parse(url);
iv_fresco.setImageURI(uri);
package roundimageview.forezp.com.roundimageview;
import android.content.Context;
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.BitmapShader;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.RectF;
import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool;
import com.bumptech.glide.load.resource.bitmap.BitmapTransformation;
/**
* Created by Administrator on 2016/8/19 0019.
*/
public class GlideRoundTransform extends BitmapTransformation {
private static float radius = 0f;
public GlideRoundTransform(Context context) {
this(context, 4);
}
public GlideRoundTransform(Context context, int dp) {
super(context);
this.radius = Resources.getSystem().getDisplayMetrics().density * dp;
}
@Override protected Bitmap transform(BitmapPool pool, Bitmap toTransform, int outWidth, int outHeight) {
return roundCrop(pool, toTransform);
}
private static Bitmap roundCrop(BitmapPool pool, Bitmap source) {
if (source == null) return null;
Bitmap result = pool.get(source.getWidth(), source.getHeight(), Bitmap.Config.ARGB_8888);
if (result == null) {
result = Bitmap.createBitmap(source.getWidth(), source.getHeight(), Bitmap.Config.ARGB_8888);
}
Canvas canvas = new Canvas(result);
Paint paint = new Paint();
paint.setShader(new BitmapShader(source, BitmapShader.TileMode.CLAMP, BitmapShader.TileMode.CLAMP));
paint.setAntiAlias(true);
RectF rectF = new RectF(0f, 0f, source.getWidth(), source.getHeight());
canvas.drawRoundRect(rectF, radius, radius, paint);
return result;
}
@Override public String getId() {
return getClass().getName() + Math.round(radius);
}
}
Glide.with(this).load(url).transform(new GlideRoundTransform(this,6)).into(iv_glide);
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# Android
# 实现圆角图片
# 圆角图片的实例
# android自定义imageview实现圆角图片
# Android实现圆形图片或者圆角图片
# Android实现带描边的圆角图片
# Android中实现圆角图片的几种方法
# Android中Glide加载圆形图片和圆角图片实例代码
# Android如何设置圆角图片
# Android关于Glide的使用(高斯模糊、加载监听、圆角图片)
# android 实现圆角图片解决方案
# android 设置圆角图片实现代码
# Android实现圆角图片的方法
# 圆角
# 都是
# 也有
# 不尽人意
# 希望能
# 找个
# 自定义
# 那张
# 谢谢大家
# 第三方
# 贴出
# 稍后
# 在网上
# cardUseCompatPadding
# dp
# bg_light_gray
# cardCornerRadius
# ImageView
# true
# cardPreventCornerOverlap
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
音乐网站服务器如何优化API响应速度?
Laravel中间件如何使用_Laravel自定义中间件实现权限控制
详解Android图表 MPAndroidChart折线图
Laravel怎么实现软删除SoftDeletes_Laravel模型回收站功能与数据恢复【步骤】
如何在阿里云部署织梦网站?
Laravel怎么导出Excel文件_Laravel Excel插件使用教程
Laravel如何配置和使用队列处理异步任务_Laravel队列驱动与任务分发实例
微信小程序 配置文件详细介绍
Microsoft Edge如何解决网页加载问题 Edge浏览器加载问题修复
Android中AutoCompleteTextView自动提示
佛山网站制作系统,佛山企业变更地址网上办理步骤?
Laravel如何连接多个数据库_Laravel多数据库连接配置与切换教程
如何在腾讯云服务器上快速搭建个人网站?
如何快速配置高效服务器建站软件?
如何在Ubuntu系统下快速搭建WordPress个人网站?
如何用美橙互联一键搭建多站合一网站?
如何快速查询域名建站关键信息?
Laravel怎么实现搜索高亮功能_Laravel结合Scout与Algolia全文检索【实战】
胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?
网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?
Python函数文档自动校验_规范解析【教程】
html如何与html链接_实现多个HTML页面互相链接【互相】
如何用PHP工具快速搭建高效网站?
在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?
使用Dockerfile构建java web环境
如何正确选择百度移动适配建站域名?
如何确认建站备案号应放置的具体位置?
韩国服务器如何优化跨境访问实现高效连接?
如何为不同团队 ID 动态生成多个“认领值班”按钮
如何快速打造个性化非模板自助建站?
智能起名网站制作软件有哪些,制作logo的软件?
Laravel任务队列怎么用_Laravel Queues异步处理任务提升应用性能
Android滚轮选择时间控件使用详解
香港服务器网站生成指南:免费资源整合与高速稳定配置方案
太平洋网站制作公司,网络用语太平洋是什么意思?
Laravel如何使用Service Container和依赖注入?(代码示例)
如何构建满足综合性能需求的优质建站方案?
Android中Textview和图片同行显示(文字超出用省略号,图片自动靠右边)
轻松掌握MySQL函数中的last_insert_id()
如何利用DOS批处理实现定时关机操作详解
品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?
长沙做网站要多少钱,长沙国安网络怎么样?
Laravel怎么实现前端Toast弹窗提示_Laravel Session闪存数据Flash传递给前端【方法】
Laravel怎么使用Collection集合方法_Laravel数组操作高级函数pluck与map【手册】
Laravel怎么写单元测试_PHPUnit在Laravel项目中的基础测试入门
如何在 React 中条件性地遍历数组并渲染元素
Python结构化数据采集_字段抽取解析【教程】
Laravel如何使用Collections进行数据处理?(实用方法示例)
Laravel如何使用.env文件管理环境变量?(最佳实践)
Laravel如何集成Inertia.js与Vue/React?(安装配置)

